From 500a7b89d5c79a37887fe933714ab56f4579c160 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Mon, 19 Feb 2024 14:58:12 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=203cd38?= =?UTF-8?q?511fa5a30bbf39ee78f791ce32859ae72b2=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db_core/all.html | 3 +- db_core/dev/attr.async_trait.html | 3 +- db_core/dev/index.html | 5 +- db_core/enum.Login.html | 49 +- db_core/errors/enum.DBError.html | 31 +- db_core/errors/index.html | 5 +- db_core/errors/type.BoxDynError.html | 5 +- db_core/errors/type.DBResult.html | 7 +- db_core/index.html | 7 +- db_core/ops/index.html | 5 +- db_core/ops/trait.Connect.html | 15 +- db_core/ops/trait.DBOps.html | 5 +- db_core/ops/trait.GetConnection.html | 15 +- db_core/ops/trait.Migrate.html | 13 +- db_core/prelude/index.html | 5 +- db_core/struct.AddNotification.html | 57 +- db_core/struct.Captcha.html | 57 +- db_core/struct.CreateCaptcha.html | 53 +- .../struct.CreatePerformanceAnalytics.html | 53 +- db_core/struct.EasyCaptcha.html | 55 +- db_core/struct.Level.html | 47 +- db_core/struct.NameHash.html | 49 +- db_core/struct.Notification.html | 61 +- db_core/struct.PerformanceAnalytics.html | 57 +- db_core/struct.Register.html | 57 +- db_core/struct.Secret.html | 45 +- db_core/struct.StatsUnixTimestamp.html | 53 +- db_core/struct.TrafficPattern.html | 53 +- db_core/struct.UpdateEmail.html | 49 +- db_core/tests/constant.LEVELS.html | 3 +- db_core/tests/constant.TRAFFIC_PATTERN.html | 3 +- db_core/tests/fn.database_works.html | 5 +- db_core/tests/index.html | 5 +- db_core/trait.CloneSPDatabase.html | 11 +- db_core/trait.MCDatabase.html | 571 ++++---- db_sqlx_maria/all.html | 3 +- db_sqlx_maria/dev/attr.async_trait.html | 3 +- db_sqlx_maria/dev/enum.DBError.html | 33 +- db_sqlx_maria/dev/enum.Error.html | 81 +- db_sqlx_maria/dev/enum.Login.html | 55 +- db_sqlx_maria/dev/errors/enum.DBError.html | 33 +- db_sqlx_maria/dev/errors/index.html | 5 +- .../dev/errors/type.BoxDynError.html | 5 +- db_sqlx_maria/dev/errors/type.DBResult.html | 7 +- db_sqlx_maria/dev/index.html | 5 +- db_sqlx_maria/dev/ops/index.html | 5 +- db_sqlx_maria/dev/ops/trait.Connect.html | 15 +- db_sqlx_maria/dev/ops/trait.DBOps.html | 5 +- .../dev/ops/trait.GetConnection.html | 15 +- db_sqlx_maria/dev/ops/trait.Migrate.html | 13 +- .../dev/prelude/dev/attr.async_trait.html | 3 +- .../dev/prelude/dev/enum.DBError.html | 33 +- db_sqlx_maria/dev/prelude/dev/enum.Login.html | 55 +- db_sqlx_maria/dev/prelude/dev/index.html | 7 +- .../prelude/dev/struct.AddNotification.html | 63 +- .../dev/prelude/dev/struct.Captcha.html | 61 +- .../dev/prelude/dev/struct.CreateCaptcha.html | 59 +- .../struct.CreatePerformanceAnalytics.html | 57 +- .../dev/prelude/dev/struct.EasyCaptcha.html | 59 +- .../dev/prelude/dev/struct.Level.html | 47 +- .../dev/prelude/dev/struct.NameHash.html | 53 +- .../dev/prelude/dev/struct.Notification.html | 65 +- .../dev/struct.PerformanceAnalytics.html | 61 +- .../dev/prelude/dev/struct.Register.html | 63 +- .../dev/prelude/dev/struct.Secret.html | 49 +- .../dev/struct.StatsUnixTimestamp.html | 57 +- .../prelude/dev/struct.TrafficPattern.html | 57 +- .../dev/prelude/dev/struct.UpdateEmail.html | 55 +- .../prelude/dev/trait.CloneSPDatabase.html | 11 +- .../dev/prelude/dev/trait.Connect.html | 15 +- .../dev/prelude/dev/trait.DBOps.html | 5 +- .../dev/prelude/dev/trait.GetConnection.html | 15 +- .../dev/prelude/dev/trait.MCDatabase.html | 665 ++++----- .../dev/prelude/dev/trait.Migrate.html | 13 +- .../dev/prelude/dev/type.BoxDynError.html | 5 +- .../dev/prelude/dev/type.DBResult.html | 7 +- db_sqlx_maria/dev/prelude/enum.DBError.html | 33 +- db_sqlx_maria/dev/prelude/enum.Login.html | 55 +- db_sqlx_maria/dev/prelude/index.html | 7 +- .../dev/prelude/struct.AddNotification.html | 63 +- db_sqlx_maria/dev/prelude/struct.Captcha.html | 61 +- .../dev/prelude/struct.CreateCaptcha.html | 59 +- .../struct.CreatePerformanceAnalytics.html | 57 +- .../dev/prelude/struct.EasyCaptcha.html | 59 +- db_sqlx_maria/dev/prelude/struct.Level.html | 47 +- .../dev/prelude/struct.NameHash.html | 53 +- .../dev/prelude/struct.Notification.html | 65 +- .../prelude/struct.PerformanceAnalytics.html | 61 +- .../dev/prelude/struct.Register.html | 63 +- db_sqlx_maria/dev/prelude/struct.Secret.html | 49 +- .../prelude/struct.StatsUnixTimestamp.html | 57 +- .../dev/prelude/struct.TrafficPattern.html | 57 +- .../dev/prelude/struct.UpdateEmail.html | 55 +- .../dev/prelude/trait.CloneSPDatabase.html | 11 +- db_sqlx_maria/dev/prelude/trait.Connect.html | 15 +- db_sqlx_maria/dev/prelude/trait.DBOps.html | 5 +- .../dev/prelude/trait.GetConnection.html | 15 +- .../dev/prelude/trait.MCDatabase.html | 665 ++++----- db_sqlx_maria/dev/prelude/trait.Migrate.html | 13 +- .../dev/prelude/type.BoxDynError.html | 5 +- db_sqlx_maria/dev/prelude/type.DBResult.html | 7 +- db_sqlx_maria/dev/struct.AddNotification.html | 63 +- db_sqlx_maria/dev/struct.Captcha.html | 61 +- db_sqlx_maria/dev/struct.CreateCaptcha.html | 59 +- .../struct.CreatePerformanceAnalytics.html | 57 +- db_sqlx_maria/dev/struct.EasyCaptcha.html | 59 +- db_sqlx_maria/dev/struct.Level.html | 47 +- db_sqlx_maria/dev/struct.NameHash.html | 53 +- db_sqlx_maria/dev/struct.Notification.html | 65 +- .../dev/struct.PerformanceAnalytics.html | 61 +- db_sqlx_maria/dev/struct.Register.html | 63 +- db_sqlx_maria/dev/struct.Secret.html | 49 +- .../dev/struct.StatsUnixTimestamp.html | 57 +- db_sqlx_maria/dev/struct.TrafficPattern.html | 57 +- db_sqlx_maria/dev/struct.UpdateEmail.html | 55 +- db_sqlx_maria/dev/tests/constant.LEVELS.html | 3 +- .../dev/tests/constant.TRAFFIC_PATTERN.html | 3 +- .../dev/tests/fn.database_works.html | 9 +- db_sqlx_maria/dev/tests/index.html | 5 +- db_sqlx_maria/dev/trait.CloneSPDatabase.html | 11 +- db_sqlx_maria/dev/trait.Connect.html | 15 +- db_sqlx_maria/dev/trait.DBOps.html | 5 +- db_sqlx_maria/dev/trait.GetConnection.html | 15 +- db_sqlx_maria/dev/trait.MCDatabase.html | 665 ++++----- db_sqlx_maria/dev/trait.Migrate.html | 13 +- db_sqlx_maria/dev/type.BoxDynError.html | 5 +- db_sqlx_maria/dev/type.DBResult.html | 7 +- db_sqlx_maria/enum.ConnectionOptions.html | 35 +- db_sqlx_maria/errors/fn.map_register_err.html | 3 +- .../errors/fn.map_row_not_found_err.html | 3 +- db_sqlx_maria/errors/index.html | 5 +- db_sqlx_maria/index.html | 5 +- db_sqlx_maria/prelude/index.html | 3 +- db_sqlx_maria/struct.Conn.html | 27 +- db_sqlx_maria/struct.Database.html | 367 ++--- db_sqlx_maria/struct.Fresh.html | 31 +- db_sqlx_maria/struct.InnerNotification.html | 51 +- db_sqlx_postgres/all.html | 3 +- db_sqlx_postgres/dev/attr.async_trait.html | 3 +- db_sqlx_postgres/dev/enum.DBError.html | 33 +- db_sqlx_postgres/dev/enum.Error.html | 81 +- db_sqlx_postgres/dev/enum.Login.html | 55 +- db_sqlx_postgres/dev/errors/enum.DBError.html | 33 +- db_sqlx_postgres/dev/errors/index.html | 5 +- .../dev/errors/type.BoxDynError.html | 5 +- .../dev/errors/type.DBResult.html | 7 +- db_sqlx_postgres/dev/index.html | 5 +- db_sqlx_postgres/dev/ops/index.html | 5 +- db_sqlx_postgres/dev/ops/trait.Connect.html | 15 +- db_sqlx_postgres/dev/ops/trait.DBOps.html | 5 +- .../dev/ops/trait.GetConnection.html | 15 +- db_sqlx_postgres/dev/ops/trait.Migrate.html | 13 +- .../dev/prelude/dev/attr.async_trait.html | 3 +- .../dev/prelude/dev/enum.DBError.html | 33 +- .../dev/prelude/dev/enum.Login.html | 55 +- db_sqlx_postgres/dev/prelude/dev/index.html | 7 +- .../prelude/dev/struct.AddNotification.html | 63 +- .../dev/prelude/dev/struct.Captcha.html | 61 +- .../dev/prelude/dev/struct.CreateCaptcha.html | 59 +- .../struct.CreatePerformanceAnalytics.html | 57 +- .../dev/prelude/dev/struct.EasyCaptcha.html | 59 +- .../dev/prelude/dev/struct.Level.html | 47 +- .../dev/prelude/dev/struct.NameHash.html | 53 +- .../dev/prelude/dev/struct.Notification.html | 65 +- .../dev/struct.PerformanceAnalytics.html | 61 +- .../dev/prelude/dev/struct.Register.html | 63 +- .../dev/prelude/dev/struct.Secret.html | 49 +- .../dev/struct.StatsUnixTimestamp.html | 57 +- .../prelude/dev/struct.TrafficPattern.html | 57 +- .../dev/prelude/dev/struct.UpdateEmail.html | 55 +- .../prelude/dev/trait.CloneSPDatabase.html | 11 +- .../dev/prelude/dev/trait.Connect.html | 15 +- .../dev/prelude/dev/trait.DBOps.html | 5 +- .../dev/prelude/dev/trait.GetConnection.html | 15 +- .../dev/prelude/dev/trait.MCDatabase.html | 665 ++++----- .../dev/prelude/dev/trait.Migrate.html | 13 +- .../dev/prelude/dev/type.BoxDynError.html | 5 +- .../dev/prelude/dev/type.DBResult.html | 7 +- .../dev/prelude/enum.DBError.html | 33 +- db_sqlx_postgres/dev/prelude/enum.Login.html | 55 +- db_sqlx_postgres/dev/prelude/index.html | 7 +- .../dev/prelude/struct.AddNotification.html | 63 +- .../dev/prelude/struct.Captcha.html | 61 +- .../dev/prelude/struct.CreateCaptcha.html | 59 +- .../struct.CreatePerformanceAnalytics.html | 57 +- .../dev/prelude/struct.EasyCaptcha.html | 59 +- .../dev/prelude/struct.Level.html | 47 +- .../dev/prelude/struct.NameHash.html | 53 +- .../dev/prelude/struct.Notification.html | 65 +- .../prelude/struct.PerformanceAnalytics.html | 61 +- .../dev/prelude/struct.Register.html | 63 +- .../dev/prelude/struct.Secret.html | 49 +- .../prelude/struct.StatsUnixTimestamp.html | 57 +- .../dev/prelude/struct.TrafficPattern.html | 57 +- .../dev/prelude/struct.UpdateEmail.html | 55 +- .../dev/prelude/trait.CloneSPDatabase.html | 11 +- .../dev/prelude/trait.Connect.html | 15 +- db_sqlx_postgres/dev/prelude/trait.DBOps.html | 5 +- .../dev/prelude/trait.GetConnection.html | 15 +- .../dev/prelude/trait.MCDatabase.html | 665 ++++----- .../dev/prelude/trait.Migrate.html | 13 +- .../dev/prelude/type.BoxDynError.html | 5 +- .../dev/prelude/type.DBResult.html | 7 +- .../dev/struct.AddNotification.html | 63 +- db_sqlx_postgres/dev/struct.Captcha.html | 61 +- .../dev/struct.CreateCaptcha.html | 59 +- .../struct.CreatePerformanceAnalytics.html | 57 +- db_sqlx_postgres/dev/struct.EasyCaptcha.html | 59 +- db_sqlx_postgres/dev/struct.Level.html | 47 +- db_sqlx_postgres/dev/struct.NameHash.html | 53 +- db_sqlx_postgres/dev/struct.Notification.html | 65 +- .../dev/struct.PerformanceAnalytics.html | 61 +- db_sqlx_postgres/dev/struct.Register.html | 63 +- db_sqlx_postgres/dev/struct.Secret.html | 49 +- .../dev/struct.StatsUnixTimestamp.html | 57 +- .../dev/struct.TrafficPattern.html | 57 +- db_sqlx_postgres/dev/struct.UpdateEmail.html | 55 +- .../dev/tests/constant.LEVELS.html | 3 +- .../dev/tests/constant.TRAFFIC_PATTERN.html | 3 +- .../dev/tests/fn.database_works.html | 9 +- db_sqlx_postgres/dev/tests/index.html | 5 +- .../dev/trait.CloneSPDatabase.html | 11 +- db_sqlx_postgres/dev/trait.Connect.html | 15 +- db_sqlx_postgres/dev/trait.DBOps.html | 5 +- db_sqlx_postgres/dev/trait.GetConnection.html | 15 +- db_sqlx_postgres/dev/trait.MCDatabase.html | 665 ++++----- db_sqlx_postgres/dev/trait.Migrate.html | 13 +- db_sqlx_postgres/dev/type.BoxDynError.html | 5 +- db_sqlx_postgres/dev/type.DBResult.html | 7 +- db_sqlx_postgres/enum.ConnectionOptions.html | 35 +- .../errors/fn.map_register_err.html | 3 +- .../errors/fn.map_row_not_found_err.html | 3 +- db_sqlx_postgres/errors/index.html | 5 +- db_sqlx_postgres/index.html | 5 +- db_sqlx_postgres/prelude/index.html | 3 +- db_sqlx_postgres/struct.Conn.html | 27 +- db_sqlx_postgres/struct.Database.html | 367 ++--- db_sqlx_postgres/struct.Fresh.html | 31 +- .../struct.InnerNotification.html | 53 +- help.html | 3 +- mcaptcha/all.html | 3 +- mcaptcha/api/index.html | 3 +- .../api/v1/account/delete/fn.services.html | 3 +- mcaptcha/api/v1/account/delete/index.html | 3 +- .../delete/runners/fn.delete_user.html | 3 +- .../api/v1/account/delete/runners/index.html | 3 +- .../account/delete/struct.delete_account.html | 25 +- .../api/v1/account/email/fn.services.html | 3 +- mcaptcha/api/v1/account/email/index.html | 3 +- .../api/v1/account/email/struct.Email.html | 39 +- .../v1/account/email/struct.email_exists.html | 25 +- .../v1/account/email/struct.set_email.html | 27 +- mcaptcha/api/v1/account/fn.services.html | 3 +- mcaptcha/api/v1/account/index.html | 3 +- .../api/v1/account/password/fn.services.html | 3 +- .../password/fn.update_password_runner.html | 7 +- mcaptcha/api/v1/account/password/index.html | 3 +- .../password/struct.ChangePasswordReqest.html | 43 +- .../password/struct.UpdatePassword.html | 31 +- .../password/struct.update_user_password.html | 25 +- mcaptcha/api/v1/account/routes/index.html | 3 +- .../api/v1/account/routes/struct.Account.html | 43 +- .../api/v1/account/secret/fn.services.html | 3 +- mcaptcha/api/v1/account/secret/index.html | 3 +- .../v1/account/secret/struct.get_secret.html | 25 +- .../secret/struct.update_user_secret.html | 25 +- .../account/struct.AccountCheckPayload.html | 39 +- .../v1/account/struct.AccountCheckResp.html | 39 +- .../api/v1/account/username/fn.services.html | 3 +- mcaptcha/api/v1/account/username/index.html | 3 +- .../username/runners/fn.username_exists.html | 5 +- .../v1/account/username/runners/index.html | 3 +- .../v1/account/username/struct.Username.html | 39 +- .../account/username/struct.set_username.html | 27 +- .../username/struct.username_exists.html | 25 +- mcaptcha/api/v1/auth/fn.services.html | 3 +- mcaptcha/api/v1/auth/index.html | 3 +- mcaptcha/api/v1/auth/routes/index.html | 3 +- mcaptcha/api/v1/auth/routes/struct.Auth.html | 33 +- .../api/v1/auth/runners/fn.login_runner.html | 5 +- .../v1/auth/runners/fn.register_runner.html | 5 +- mcaptcha/api/v1/auth/runners/index.html | 3 +- .../api/v1/auth/runners/struct.Login.html | 41 +- .../api/v1/auth/runners/struct.Password.html | 39 +- .../api/v1/auth/runners/struct.Register.html | 45 +- mcaptcha/api/v1/auth/struct.login.html | 25 +- mcaptcha/api/v1/auth/struct.register.html | 25 +- mcaptcha/api/v1/auth/struct.signout.html | 25 +- mcaptcha/api/v1/fn.get_middleware.html | 3 +- mcaptcha/api/v1/fn.services.html | 3 +- mcaptcha/api/v1/index.html | 3 +- mcaptcha/api/v1/mcaptcha/create/index.html | 3 +- .../v1/mcaptcha/create/runner/fn.create.html | 7 +- .../api/v1/mcaptcha/create/runner/index.html | 3 +- .../mcaptcha/create/struct.CreateCaptcha.html | 43 +- .../create/struct.MCaptchaDetails.html | 41 +- .../api/v1/mcaptcha/create/struct.create.html | 25 +- mcaptcha/api/v1/mcaptcha/delete/index.html | 3 +- .../mcaptcha/delete/struct.DeleteCaptcha.html | 41 +- .../api/v1/mcaptcha/delete/struct.delete.html | 25 +- .../api/v1/mcaptcha/easy/fn.calculate.html | 5 +- .../easy/fn.calculate_with_percentile.html | 5 +- .../api/v1/mcaptcha/easy/fn.services.html | 3 +- .../v1/mcaptcha/easy/fn.update_runner.html | 7 +- mcaptcha/api/v1/mcaptcha/easy/index.html | 3 +- .../api/v1/mcaptcha/easy/routes/index.html | 3 +- .../v1/mcaptcha/easy/routes/struct.Easy.html | 33 +- .../easy/struct.TrafficPatternRequest.html | 57 +- .../easy/struct.UpdateTrafficPattern.html | 39 +- .../api/v1/mcaptcha/easy/struct.create.html | 25 +- .../api/v1/mcaptcha/easy/struct.update.html | 25 +- mcaptcha/api/v1/mcaptcha/fn.get_random.html | 3 +- mcaptcha/api/v1/mcaptcha/fn.services.html | 3 +- mcaptcha/api/v1/mcaptcha/get/index.html | 3 +- .../api/v1/mcaptcha/get/struct.I32Levels.html | 41 +- .../api/v1/mcaptcha/get/struct.Levels.html | 37 +- .../v1/mcaptcha/get/struct.get_captcha.html | 25 +- mcaptcha/api/v1/mcaptcha/index.html | 3 +- mcaptcha/api/v1/mcaptcha/routes/index.html | 3 +- .../v1/mcaptcha/routes/struct.Captcha.html | 37 +- mcaptcha/api/v1/mcaptcha/stats/index.html | 3 +- .../api/v1/mcaptcha/stats/routes/index.html | 3 +- .../mcaptcha/stats/routes/struct.Stats.html | 29 +- .../mcaptcha/stats/struct.StatsPayload.html | 39 +- .../api/v1/mcaptcha/stats/struct.get.html | 25 +- mcaptcha/api/v1/mcaptcha/update/index.html | 3 +- .../update/runner/fn.update_captcha.html | 7 +- .../api/v1/mcaptcha/update/runner/index.html | 3 +- .../mcaptcha/update/struct.UpdateCaptcha.html | 45 +- .../update/struct.update_captcha.html | 25 +- .../v1/mcaptcha/update/struct.update_key.html | 25 +- .../meta/enum.BuildDetailsBuilderError.html | 37 +- .../api/v1/meta/enum.HealthBuilderError.html | 37 +- mcaptcha/api/v1/meta/fn.services.html | 3 +- mcaptcha/api/v1/meta/index.html | 3 +- mcaptcha/api/v1/meta/routes/index.html | 3 +- mcaptcha/api/v1/meta/routes/struct.Meta.html | 31 +- mcaptcha/api/v1/meta/struct.BuildDetails.html | 37 +- .../v1/meta/struct.BuildDetailsBuilder.html | 35 +- mcaptcha/api/v1/meta/struct.Health.html | 41 +- .../api/v1/meta/struct.HealthBuilder.html | 35 +- .../api/v1/meta/struct.build_details.html | 27 +- mcaptcha/api/v1/meta/struct.health.html | 27 +- mcaptcha/api/v1/notifications/add/index.html | 3 +- .../add/struct.AddNotificationRequest.html | 47 +- .../add/struct.add_notification.html | 27 +- .../api/v1/notifications/fn.services.html | 3 +- mcaptcha/api/v1/notifications/get/index.html | 3 +- .../get/struct.NotificationResp.html | 51 +- .../get/struct.get_notification.html | 27 +- mcaptcha/api/v1/notifications/index.html | 3 +- .../api/v1/notifications/mark_read/index.html | 3 +- .../mark_read/struct.MarkReadReq.html | 37 +- .../mark_read/struct.mark_read.html | 27 +- .../api/v1/notifications/routes/index.html | 3 +- .../routes/struct.Notifications.html | 33 +- mcaptcha/api/v1/pow/fn.services.html | 3 +- .../v1/pow/get_config/fn.init_mcaptcha.html | 7 +- mcaptcha/api/v1/pow/get_config/index.html | 3 +- .../pow/get_config/struct.ApiPoWConfig.html | 45 +- .../get_config/struct.GetConfigPayload.html | 39 +- .../v1/pow/get_config/struct.get_config.html | 27 +- mcaptcha/api/v1/pow/index.html | 3 +- mcaptcha/api/v1/pow/routes/index.html | 3 +- .../api/v1/pow/routes/macro.rm_scope.html | 3 +- mcaptcha/api/v1/pow/routes/struct.PoW.html | 41 +- mcaptcha/api/v1/pow/verify_pow/index.html | 5 +- .../api/v1/pow/verify_pow/struct.ApiWork.html | 49 +- .../verify_pow/struct.ValidationToken.html | 39 +- .../v1/pow/verify_pow/struct.verify_pow.html | 27 +- mcaptcha/api/v1/pow/verify_token/index.html | 5 +- .../struct.CaptchaValidateResp.html | 39 +- .../struct.VerifyCaptchaResultPayload.html | 43 +- .../struct.validate_captcha_token.html | 27 +- mcaptcha/api/v1/routes/constant.ROUTES.html | 3 +- mcaptcha/api/v1/routes/index.html | 3 +- mcaptcha/api/v1/routes/struct.Routes.html | 27 +- .../stats/enum.BuildDetailsBuilderError.html | 37 +- .../stats/enum.PercentileReqBuilderError.html | 37 +- .../enum.PercentileRespBuilderError.html | 37 +- .../v1/stats/fn.percentile_bench_runner.html | 5 +- mcaptcha/api/v1/stats/fn.services.html | 3 +- mcaptcha/api/v1/stats/index.html | 3 +- mcaptcha/api/v1/stats/routes/index.html | 3 +- .../api/v1/stats/routes/struct.Stats.html | 51 +- .../api/v1/stats/struct.BuildDetails.html | 37 +- .../v1/stats/struct.BuildDetailsBuilder.html | 35 +- .../api/v1/stats/struct.PercentileReq.html | 41 +- .../v1/stats/struct.PercentileReqBuilder.html | 35 +- .../api/v1/stats/struct.PercentileResp.html | 39 +- .../stats/struct.PercentileRespBuilder.html | 33 +- .../v1/stats/struct.percentile_benches.html | 27 +- mcaptcha/api/v1/struct.RedirectQuery.html | 35 +- mcaptcha/api/v1/survey/fn.services.html | 3 +- mcaptcha/api/v1/survey/index.html | 3 +- mcaptcha/api/v1/survey/routes/index.html | 3 +- .../api/v1/survey/routes/struct.Survey.html | 31 +- mcaptcha/api/v1/survey/struct.Page.html | 55 +- .../v1/survey/struct.SurveySecretUpload.html | 39 +- mcaptcha/api/v1/survey/struct.download.html | 27 +- mcaptcha/api/v1/survey/struct.secret.html | 27 +- mcaptcha/constant.CACHE_AGE.html | 3 +- mcaptcha/constant.COMPILED_DATE.html | 3 +- mcaptcha/constant.DOCS.html | 3 +- mcaptcha/constant.GIT_COMMIT_HASH.html | 3 +- mcaptcha/constant.PAGES.html | 3 +- mcaptcha/constant.PKG_DESCRIPTION.html | 3 +- mcaptcha/constant.PKG_HOMEPAGE.html | 3 +- mcaptcha/constant.PKG_NAME.html | 3 +- mcaptcha/constant.V1_API_ROUTES.html | 3 +- mcaptcha/constant.VERSION.html | 3 +- mcaptcha/constant.WIDGET_ROUTES.html | 3 +- mcaptcha/data/enum.SystemGroup.html | 35 +- mcaptcha/data/index.html | 7 +- mcaptcha/data/macro.enum_system_actor.html | 3 +- mcaptcha/data/macro.enum_system_wrapper.html | 3 +- mcaptcha/data/struct.Data.html | 49 +- mcaptcha/data/type.Mailer.html | 9 +- mcaptcha/date/constant.DAY.html | 3 +- mcaptcha/date/constant.HOUR.html | 3 +- mcaptcha/date/constant.MINUTE.html | 3 +- mcaptcha/date/constant.WEEK.html | 3 +- mcaptcha/date/index.html | 3 +- mcaptcha/date/struct.Date.html | 33 +- mcaptcha/db/index.html | 3 +- mcaptcha/db/maria/fn.get_data.html | 3 +- mcaptcha/db/maria/index.html | 3 +- mcaptcha/db/pg/fn.get_data.html | 3 +- mcaptcha/db/pg/index.html | 3 +- mcaptcha/db/type.BoxDB.html | 3 +- mcaptcha/demo/constant.DEMO_PASSWORD.html | 3 +- mcaptcha/demo/constant.DEMO_USER.html | 3 +- mcaptcha/demo/index.html | 3 +- mcaptcha/demo/struct.DemoUser.html | 41 +- mcaptcha/docs/constant.DOCS.html | 3 +- mcaptcha/docs/constant.OPEN_API_SPEC.html | 3 +- mcaptcha/docs/fn.handle_embedded_file.html | 3 +- mcaptcha/docs/fn.services.html | 3 +- mcaptcha/docs/index.html | 3 +- mcaptcha/docs/routes/index.html | 3 +- mcaptcha/docs/routes/struct.Docs.html | 33 +- mcaptcha/docs/struct.Asset.html | 29 +- mcaptcha/docs/struct.dist.html | 25 +- mcaptcha/docs/struct.index.html | 25 +- mcaptcha/docs/struct.spec.html | 25 +- mcaptcha/easy/index.html | 3 +- mcaptcha/easy/struct.UpdateEasyCaptcha.html | 45 +- mcaptcha/email/index.html | 3 +- .../email/verification/constant.PAGE.html | 3 +- .../email/verification/fn.verification.html | 9 +- mcaptcha/email/verification/index.html | 5 +- .../email/verification/struct.IndexPage.html | 31 +- mcaptcha/errors/enum.PageError.html | 33 +- mcaptcha/errors/enum.ServiceError.html | 35 +- mcaptcha/errors/index.html | 3 +- mcaptcha/errors/struct.DBErrorWrapper.html | 31 +- mcaptcha/errors/struct.ErrorToResponse.html | 37 +- mcaptcha/errors/struct.SmtpErrorWrapper.html | 31 +- mcaptcha/errors/type.PageResult.html | 5 +- mcaptcha/errors/type.ServiceResult.html | 5 +- mcaptcha/fn.get_identity_service.html | 3 +- mcaptcha/fn.get_json_err.html | 3 +- mcaptcha/fn.main.html | 3 +- mcaptcha/index.html | 5 +- mcaptcha/pages/auth/fn.services.html | 3 +- mcaptcha/pages/auth/index.html | 3 +- mcaptcha/pages/auth/login/constant.PAGE.html | 3 +- mcaptcha/pages/auth/login/index.html | 3 +- mcaptcha/pages/auth/login/struct.INDEX.html | 1257 +++++++++-------- .../pages/auth/login/struct.IndexPage.html | 27 +- mcaptcha/pages/auth/login/struct.login.html | 25 +- .../pages/auth/register/constant.PAGE.html | 3 +- mcaptcha/pages/auth/register/index.html | 3 +- .../pages/auth/register/struct.INDEX.html | 1257 +++++++++-------- .../pages/auth/register/struct.IndexPage.html | 27 +- mcaptcha/pages/auth/register/struct.join.html | 25 +- mcaptcha/pages/auth/routes/index.html | 3 +- mcaptcha/pages/auth/routes/struct.Auth.html | 31 +- mcaptcha/pages/auth/sudo/constant.PAGE.html | 3 +- mcaptcha/pages/auth/sudo/index.html | 3 +- mcaptcha/pages/auth/sudo/struct.SudoPage.html | 73 +- mcaptcha/pages/constant.NAME.html | 3 +- .../pages/errors/constant.ERROR_ROUTE.html | 3 +- mcaptcha/pages/errors/constant.PAGE.html | 3 +- mcaptcha/pages/errors/fn.services.html | 3 +- mcaptcha/pages/errors/index.html | 3 +- mcaptcha/pages/errors/routes/index.html | 3 +- .../pages/errors/routes/struct.Errors.html | 31 +- mcaptcha/pages/errors/struct.ErrorPage.html | 33 +- .../struct.INTERNAL_SERVER_ERROR_BODY.html | 1257 +++++++++-------- .../errors/struct.UNKNOWN_ERROR_BODY.html | 1257 +++++++++-------- mcaptcha/pages/errors/struct.error.html | 25 +- mcaptcha/pages/fn.get_middleware.html | 3 +- mcaptcha/pages/fn.services.html | 3 +- mcaptcha/pages/index.html | 3 +- mcaptcha/pages/panel/constant.PAGE.html | 3 +- mcaptcha/pages/panel/fn.services.html | 3 +- mcaptcha/pages/panel/index.html | 3 +- .../panel/notifications/constant.PAGE.html | 3 +- mcaptcha/pages/panel/notifications/index.html | 3 +- .../panel/notifications/struct.IndexPage.html | 31 +- .../notifications/struct.Notification.html | 35 +- .../notifications/struct.notifications.html | 25 +- mcaptcha/pages/panel/routes/index.html | 3 +- mcaptcha/pages/panel/routes/struct.Panel.html | 31 +- .../pages/panel/settings/constant.PAGE.html | 3 +- .../pages/panel/settings/fn.services.html | 3 +- mcaptcha/pages/panel/settings/index.html | 3 +- .../pages/panel/settings/routes/index.html | 3 +- .../settings/routes/struct.Settings.html | 33 +- .../panel/settings/struct.IndexPage.html | 35 +- .../panel/settings/struct.delete_account.html | 25 +- .../pages/panel/settings/struct.settings.html | 25 +- .../panel/settings/struct.update_secret.html | 25 +- .../panel/sitekey/add/constant.PAGE.html | 3 +- mcaptcha/pages/panel/sitekey/add/index.html | 3 +- .../sitekey/add/struct.ADVANCE_INDEX.html | 1257 +++++++++-------- .../sitekey/add/struct.AdvanceIndexPage.html | 37 +- .../panel/sitekey/add/struct.EASY_INDEX.html | 1257 +++++++++-------- .../sitekey/add/struct.EasyIndexPage.html | 39 +- .../panel/sitekey/add/struct.advance.html | 25 +- .../pages/panel/sitekey/add/struct.easy.html | 25 +- .../pages/panel/sitekey/delete/index.html | 3 +- .../sitekey/delete/struct.delete_sitekey.html | 25 +- .../panel/sitekey/edit/constant.PAGE.html | 3 +- mcaptcha/pages/panel/sitekey/edit/index.html | 3 +- .../sitekey/edit/struct.AdvanceEditPage.html | 47 +- .../sitekey/edit/struct.EasyEditPage.html | 33 +- .../panel/sitekey/edit/struct.advance.html | 27 +- .../pages/panel/sitekey/edit/struct.easy.html | 27 +- mcaptcha/pages/panel/sitekey/fn.services.html | 3 +- mcaptcha/pages/panel/sitekey/index.html | 3 +- .../panel/sitekey/list/constant.PAGE.html | 3 +- mcaptcha/pages/panel/sitekey/list/index.html | 3 +- .../panel/sitekey/list/struct.IndexPage.html | 31 +- .../sitekey/list/struct.list_sitekeys.html | 27 +- .../pages/panel/sitekey/routes/index.html | 3 +- .../panel/sitekey/routes/struct.Sitekey.html | 41 +- .../panel/sitekey/view/constant.PAGE.html | 3 +- mcaptcha/pages/panel/sitekey/view/index.html | 3 +- .../panel/sitekey/view/struct.IndexPage.html | 47 +- .../sitekey/view/struct.view_sitekey.html | 27 +- mcaptcha/pages/panel/struct.IndexPage.html | 31 +- mcaptcha/pages/panel/struct.panel.html | 25 +- mcaptcha/pages/panel/utils/constant.PAGE.html | 3 +- mcaptcha/pages/panel/utils/fn.services.html | 3 +- mcaptcha/pages/panel/utils/index.html | 3 +- mcaptcha/pages/panel/utils/routes/index.html | 3 +- .../panel/utils/routes/struct.Utils.html | 29 +- .../panel/utils/struct.PercentilePage.html | 35 +- .../panel/utils/struct.get_percentile.html | 25 +- .../panel/utils/struct.post_percentile.html | 25 +- mcaptcha/pages/routes/constant.ROUTES.html | 3 +- mcaptcha/pages/routes/index.html | 3 +- mcaptcha/pages/routes/struct.Routes.html | 41 +- mcaptcha/pages/sitemap/index.html | 3 +- mcaptcha/pages/sitemap/struct.INDEX.html | 1257 +++++++++-------- mcaptcha/pages/sitemap/struct.IndexPage.html | 33 +- mcaptcha/pages/sitemap/struct.sitemap.html | 25 +- mcaptcha/routes/fn.services.html | 3 +- mcaptcha/routes/index.html | 3 +- .../constant.DEPRECATED_ENV_VARS.html | 3 +- .../settings/constant.ENV_VAR_CONFIG.html | 3 +- mcaptcha/settings/enum.DBType.html | 55 +- mcaptcha/settings/index.html | 3 +- mcaptcha/settings/struct.Captcha.html | 61 +- mcaptcha/settings/struct.Database.html | 55 +- .../struct.DefaultDifficultyStrategy.html | 65 +- mcaptcha/settings/struct.Redis.html | 55 +- mcaptcha/settings/struct.Server.html | 63 +- mcaptcha/settings/struct.Settings.html | 67 +- mcaptcha/settings/struct.Smtp.html | 63 +- mcaptcha/settings/struct.Survey.html | 55 +- mcaptcha/static_assets/filemap/index.html | 3 +- .../static_assets/filemap/struct.FileMap.html | 27 +- mcaptcha/static_assets/fn.services.html | 3 +- mcaptcha/static_assets/index.html | 3 +- .../static_files/assets/index.html | 3 +- .../static_files/assets/struct.BAR_CHART.html | 29 +- .../assets/struct.CREDIT_CARD.html | 29 +- .../static_files/assets/struct.DOCS_ICON.html | 29 +- .../static_files/assets/struct.GITHUB.html | 29 +- .../assets/struct.HELP_CIRCLE.html | 29 +- .../static_files/assets/struct.HOME.html | 29 +- .../static_files/assets/struct.KEY.html | 29 +- .../assets/struct.MCAPTCHA_TRANS_ICON.html | 29 +- .../static_files/assets/struct.MESSAGE.html | 29 +- .../assets/struct.SETTINGS_ICON.html | 29 +- .../static_files/assets/type.Img.html | 3 +- .../static_files/fn.handle_assets.html | 3 +- .../static_files/fn.handle_favicons.html | 3 +- .../static_assets/static_files/index.html | 3 +- .../static_files/struct.Asset.html | 29 +- .../static_files/struct.Favicons.html | 29 +- .../static_files/struct.favicons.html | 25 +- .../static_files/struct.static_files.html | 25 +- mcaptcha/stats/index.html | 3 +- mcaptcha/stats/struct.CaptchaStats.html | 47 +- mcaptcha/stats/struct.Dummy.html | 59 +- mcaptcha/stats/struct.Real.html | 59 +- mcaptcha/stats/trait.CloneStats.html | 11 +- mcaptcha/stats/trait.Stats.html | 51 +- mcaptcha/struct.BAR_CHART.html | 29 +- mcaptcha/struct.CREDIT_CARD.html | 29 +- mcaptcha/struct.CSS.html | 1151 +++++++-------- mcaptcha/struct.DOCS_ICON.html | 29 +- mcaptcha/struct.Data.html | 49 +- mcaptcha/struct.FILES.html | 29 +- mcaptcha/struct.GITHUB.html | 29 +- mcaptcha/struct.HELP_CIRCLE.html | 29 +- mcaptcha/struct.HOME.html | 29 +- mcaptcha/struct.JS.html | 1151 +++++++-------- mcaptcha/struct.KEY.html | 29 +- mcaptcha/struct.MCAPTCHA_TRANS_ICON.html | 29 +- mcaptcha/struct.MESSAGE.html | 29 +- mcaptcha/struct.MOBILE_CSS.html | 1151 +++++++-------- mcaptcha/struct.SETTINGS.html | 29 +- mcaptcha/struct.SETTINGS_ICON.html | 29 +- mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html | 1257 +++++++++-------- mcaptcha/struct.Settings.html | 67 +- mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html | 1151 +++++++-------- mcaptcha/struct.VERIFICATIN_WIDGET_JS.html | 1151 +++++++-------- mcaptcha/survey/index.html | 3 +- mcaptcha/survey/struct.SecretsStore.html | 31 +- mcaptcha/survey/struct.Survey.html | 45 +- mcaptcha/survey/trait.SurveyClientTrait.html | 29 +- mcaptcha/type.AppData.html | 3 +- mcaptcha/type.ArcData.html | 11 +- mcaptcha/widget/constant.PAGE.html | 3 +- mcaptcha/widget/constant.WIDGET_ROUTES.html | 3 +- mcaptcha/widget/fn.services.html | 3 +- mcaptcha/widget/index.html | 5 +- mcaptcha/widget/routes/index.html | 3 +- mcaptcha/widget/routes/struct.Widget.html | 29 +- mcaptcha/widget/struct.INDEX_PAGE.html | 1257 +++++++++-------- mcaptcha/widget/struct.IndexPage.html | 27 +- mcaptcha/widget/struct.show_widget.html | 27 +- search-index.js | 16 +- settings.html | 3 +- src-files.js | 12 +- src/db_core/errors.rs.html | 23 +- src/db_core/lib.rs.html | 77 +- src/db_core/ops.rs.html | 3 +- src/db_core/tests.rs.html | 65 +- src/db_sqlx_maria/errors.rs.html | 13 +- src/db_sqlx_maria/lib.rs.html | 221 +-- src/db_sqlx_postgres/errors.rs.html | 15 +- src/db_sqlx_postgres/lib.rs.html | 217 +-- src/mcaptcha/api/mod.rs.html | 3 +- src/mcaptcha/api/v1/account/delete.rs.html | 7 +- src/mcaptcha/api/v1/account/email.rs.html | 9 +- src/mcaptcha/api/v1/account/mod.rs.html | 35 +- src/mcaptcha/api/v1/account/password.rs.html | 15 +- src/mcaptcha/api/v1/account/secret.rs.html | 11 +- src/mcaptcha/api/v1/account/username.rs.html | 9 +- src/mcaptcha/api/v1/auth.rs.html | 29 +- src/mcaptcha/api/v1/mcaptcha/create.rs.html | 7 +- src/mcaptcha/api/v1/mcaptcha/delete.rs.html | 9 +- src/mcaptcha/api/v1/mcaptcha/easy.rs.html | 33 +- src/mcaptcha/api/v1/mcaptcha/get.rs.html | 7 +- src/mcaptcha/api/v1/mcaptcha/mod.rs.html | 23 +- src/mcaptcha/api/v1/mcaptcha/stats.rs.html | 11 +- src/mcaptcha/api/v1/mcaptcha/update.rs.html | 23 +- src/mcaptcha/api/v1/meta.rs.html | 23 +- src/mcaptcha/api/v1/mod.rs.html | 3 +- src/mcaptcha/api/v1/notifications/add.rs.html | 23 +- src/mcaptcha/api/v1/notifications/get.rs.html | 23 +- .../api/v1/notifications/mark_read.rs.html | 25 +- src/mcaptcha/api/v1/notifications/mod.rs.html | 15 +- src/mcaptcha/api/v1/pow/get_config.rs.html | 31 +- src/mcaptcha/api/v1/pow/mod.rs.html | 29 +- src/mcaptcha/api/v1/pow/verify_pow.rs.html | 25 +- src/mcaptcha/api/v1/pow/verify_token.rs.html | 21 +- src/mcaptcha/api/v1/routes.rs.html | 3 +- src/mcaptcha/api/v1/stats.rs.html | 27 +- src/mcaptcha/api/v1/survey.rs.html | 33 +- src/mcaptcha/data.rs.html | 11 +- src/mcaptcha/date.rs.html | 39 +- src/mcaptcha/db.rs.html | 3 +- src/mcaptcha/demo.rs.html | 15 +- src/mcaptcha/docs.rs.html | 37 +- src/mcaptcha/easy.rs.html | 5 +- src/mcaptcha/email/mod.rs.html | 3 +- src/mcaptcha/email/verification.rs.html | 37 +- src/mcaptcha/errors.rs.html | 63 +- src/mcaptcha/main.rs.html | 59 +- src/mcaptcha/pages/auth/login.rs.html | 11 +- src/mcaptcha/pages/auth/mod.rs.html | 15 +- src/mcaptcha/pages/auth/register.rs.html | 11 +- src/mcaptcha/pages/auth/sudo.rs.html | 17 +- src/mcaptcha/pages/errors.rs.html | 41 +- src/mcaptcha/pages/mod.rs.html | 11 +- src/mcaptcha/pages/panel/mod.rs.html | 23 +- .../pages/panel/notifications.rs.html | 33 +- src/mcaptcha/pages/panel/settings.rs.html | 43 +- src/mcaptcha/pages/panel/sitekey/add.rs.html | 41 +- .../pages/panel/sitekey/delete.rs.html | 11 +- src/mcaptcha/pages/panel/sitekey/edit.rs.html | 33 +- src/mcaptcha/pages/panel/sitekey/list.rs.html | 19 +- src/mcaptcha/pages/panel/sitekey/mod.rs.html | 51 +- src/mcaptcha/pages/panel/sitekey/view.rs.html | 21 +- src/mcaptcha/pages/panel/utils.rs.html | 47 +- src/mcaptcha/pages/routes.rs.html | 31 +- src/mcaptcha/pages/sitemap.rs.html | 15 +- src/mcaptcha/routes.rs.html | 3 +- src/mcaptcha/settings.rs.html | 349 ++--- src/mcaptcha/static_assets/filemap.rs.html | 13 +- src/mcaptcha/static_assets/mod.rs.html | 3 +- .../static_assets/static_files.rs.html | 67 +- src/mcaptcha/stats.rs.html | 5 +- src/mcaptcha/survey.rs.html | 27 +- src/mcaptcha/widget/mod.rs.html | 15 +- static.files/main-305769736d49e732.js | 11 + static.files/main-9dd44ab47b99a0fb.js | 12 - static.files/noscript-5d8b3c7633ad77ba.css | 1 - static.files/noscript-feafe1bb7466e4bd.css | 1 + static.files/rustdoc-9ee3a5e31a2afa3e.css | 10 - static.files/rustdoc-ac92e1bbe349e143.css | 18 + static.files/search-2b6ce74ff89ae146.js | 5 + static.files/search-8fbf244ebcf71464.js | 5 - static.files/settings-4313503d2e1961c2.js | 17 + static.files/settings-74424d7eec62a23e.js | 17 - static.files/src-script-3280b574d94e47b4.js | 1 - static.files/src-script-39ed315d46fb705f.js | 1 + static.files/storage-f2adc0d6ca4d09fb.js | 1 + static.files/storage-fec3eaa3851e447d.js | 1 - .../trait.GetLoginRoute.js | 2 +- .../service/trait.HttpServiceFactory.js | 2 +- trait.impl/core/clone/trait.Clone.js | 8 +- trait.impl/core/cmp/trait.Eq.js | 2 +- trait.impl/core/cmp/trait.PartialEq.js | 8 +- trait.impl/core/convert/trait.From.js | 6 +- trait.impl/core/default/trait.Default.js | 6 +- trait.impl/core/error/trait.Error.js | 4 +- trait.impl/core/fmt/trait.Debug.js | 8 +- trait.impl/core/fmt/trait.Display.js | 4 +- trait.impl/core/marker/trait.Freeze.js | 2 +- trait.impl/core/marker/trait.Send.js | 8 +- trait.impl/core/marker/trait.StructuralEq.js | 2 +- .../core/marker/trait.StructuralPartialEq.js | 8 +- trait.impl/core/marker/trait.Sync.js | 8 +- trait.impl/core/marker/trait.Unpin.js | 8 +- trait.impl/core/ops/deref/trait.Deref.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 8 +- .../panic/unwind_safe/trait.UnwindSafe.js | 8 +- trait.impl/lazy_static/trait.LazyStatic.js | 2 +- trait.impl/rust_embed/trait.RustEmbed.js | 2 +- trait.impl/sailfish/private/trait.Sealed.js | 2 +- trait.impl/sailfish/trait.TemplateOnce.js | 2 +- trait.impl/serde/de/trait.Deserialize.js | 4 +- trait.impl/serde/ser/trait.Serialize.js | 4 +- type.impl/actix_web/data/struct.Data.js | 2 +- type.impl/alloc/boxed/struct.Box.js | 8 +- type.impl/alloc/sync/struct.Arc.js | 2 +- type.impl/core/result/enum.Result.js | 8 +- .../struct.AsyncSmtpTransport.js | 2 +- type.impl/std/primitive.tuple.js | 2 +- 757 files changed, 20470 insertions(+), 19361 deletions(-) create mode 100644 static.files/main-305769736d49e732.js delete mode 100644 static.files/main-9dd44ab47b99a0fb.js delete mode 100644 static.files/noscript-5d8b3c7633ad77ba.css create mode 100644 static.files/noscript-feafe1bb7466e4bd.css delete mode 100644 static.files/rustdoc-9ee3a5e31a2afa3e.css create mode 100644 static.files/rustdoc-ac92e1bbe349e143.css create mode 100644 static.files/search-2b6ce74ff89ae146.js delete mode 100644 static.files/search-8fbf244ebcf71464.js create mode 100644 static.files/settings-4313503d2e1961c2.js delete mode 100644 static.files/settings-74424d7eec62a23e.js delete mode 100644 static.files/src-script-3280b574d94e47b4.js create mode 100644 static.files/src-script-39ed315d46fb705f.js create mode 100644 static.files/storage-f2adc0d6ca4d09fb.js delete mode 100644 static.files/storage-fec3eaa3851e447d.js diff --git a/db_core/all.html b/db_core/all.html index 02e62355..d996702e 100644 --- a/db_core/all.html +++ b/db_core/all.html @@ -1 +1,2 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate +
\ No newline at end of file diff --git a/db_core/dev/attr.async_trait.html b/db_core/dev/attr.async_trait.html index 6ab9032e..a291e2bc 100644 --- a/db_core/dev/attr.async_trait.html +++ b/db_core/dev/attr.async_trait.html @@ -1 +1,2 @@ -async_trait in db_core::dev - Rust

Attribute Macro db_core::dev::async_trait

#[async_trait]
\ No newline at end of file +async_trait in db_core::dev - Rust +

Attribute Macro db_core::dev::async_trait

#[async_trait]
\ No newline at end of file diff --git a/db_core/dev/index.html b/db_core/dev/index.html index 763309ee..15b9689e 100644 --- a/db_core/dev/index.html +++ b/db_core/dev/index.html @@ -1,2 +1,3 @@ -db_core::dev - Rust

Module db_core::dev

source ·
Expand description

useful imports for supporting a new database

-

Re-exports

Attribute Macros

\ No newline at end of file +db_core::dev - Rust +

Module db_core::dev

source ·
Expand description

useful imports for supporting a new database

+

Re-exports

Attribute Macros

\ No newline at end of file diff --git a/db_core/enum.Login.html b/db_core/enum.Login.html index c99348a9..3ab12bf0 100644 --- a/db_core/enum.Login.html +++ b/db_core/enum.Login.html @@ -1,29 +1,30 @@ -Login in db_core - Rust

Enum db_core::Login

source ·
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+Login in db_core - Rust
+    

Enum db_core::Login

source ·
pub enum Login<'a> {
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants§

§

Username(&'a str)

username as login

-
§

Email(&'a str)

email as login

-

Trait Implementations§

source§

impl<'a> Clone for Login<'a>

source§

fn clone(&self) -> Login<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Login<'a>

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'a> PartialEq for Login<'a>

source§

fn eq(&self, other: &Login<'a>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<'a> Serialize for Login<'a>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'a> StructuralPartialEq for Login<'a>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Login<'a>

§

impl<'a> Send for Login<'a>

§

impl<'a> Sync for Login<'a>

§

impl<'a> Unpin for Login<'a>

§

impl<'a> UnwindSafe for Login<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+

Variants§

§

Username(&'a str)

username as login

+
§

Email(&'a str)

email as login

+

Trait Implementations§

source§

impl<'a> Clone for Login<'a>

source§

fn clone(&self) -> Login<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Login<'a>

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'a> PartialEq for Login<'a>

source§

fn eq(&self, other: &Login<'a>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl<'a> Serialize for Login<'a>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'a> StructuralPartialEq for Login<'a>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Login<'a>

§

impl<'a> Send for Login<'a>

§

impl<'a> Sync for Login<'a>

§

impl<'a> Unpin for Login<'a>

§

impl<'a> UnwindSafe for Login<'a>

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

\ No newline at end of file +WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/db_core/errors/enum.DBError.html b/db_core/errors/enum.DBError.html index 938e80ca..cba2166d 100644 --- a/db_core/errors/enum.DBError.html +++ b/db_core/errors/enum.DBError.html @@ -1,4 +1,5 @@ -DBError in db_core::errors - Rust

Enum db_core::errors::DBError

source ·
pub enum DBError {
+DBError in db_core::errors - Rust
+    

Enum db_core::errors::DBError

source ·
pub enum DBError {
     DBError(BoxDynError),
     UsernameTaken,
     EmailTaken,
@@ -9,7 +10,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants§

§

DBError(BoxDynError)

errors that are specific to a database implementation

+

Variants§

§

DBError(BoxDynError)

errors that are specific to a database implementation

§

UsernameTaken

Username is taken

§

EmailTaken

Email is taken

§

SecretTaken

Secret is taken

@@ -18,21 +19,21 @@
§

CaptchaNotFound

Captcha not found

§

TrafficPatternNotFound

Traffic pattern not found

§

NotificationNotFound

Notification not found

-

Trait Implementations§

source§

impl Debug for DBError

source§

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

Formats the value using the given formatter. Read more
source§

impl Display for DBError

source§

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

Formats the value using the given formatter. Read more
source§

impl Error for DBError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

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

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+

Trait Implementations§

source§

impl Debug for DBError

source§

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

Formats the value using the given formatter. Read more
source§

impl Display for DBError

source§

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

Formats the value using the given formatter. Read more
source§

impl Error for DBError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

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

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for Twhere - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/db_core/errors/index.html b/db_core/errors/index.html index 2cbbc457..b3e75807 100644 --- a/db_core/errors/index.html +++ b/db_core/errors/index.html @@ -1,2 +1,3 @@ -db_core::errors - Rust

Module db_core::errors

source ·
Expand description

represents all the ways a trait can fail using this crate

-

Enums

  • Error data structure grouping various error subtypes

Type Aliases

  • Convenience type alias for grouping driver-specific errors
  • Generic result data structure
\ No newline at end of file +db_core::errors - Rust +

Module db_core::errors

source ·
Expand description

represents all the ways a trait can fail using this crate

+

Enums

  • Error data structure grouping various error subtypes

Type Aliases

  • Convenience type alias for grouping driver-specific errors
  • Generic result data structure
\ No newline at end of file diff --git a/db_core/errors/type.BoxDynError.html b/db_core/errors/type.BoxDynError.html index 57b3bfd6..5a79debb 100644 --- a/db_core/errors/type.BoxDynError.html +++ b/db_core/errors/type.BoxDynError.html @@ -1,2 +1,3 @@ -BoxDynError in db_core::errors - Rust

Type Alias db_core::errors::BoxDynError

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

Convenience type alias for grouping driver-specific errors

-

Aliased Type§

struct BoxDynError(/* private fields */);
\ No newline at end of file +BoxDynError in db_core::errors - Rust +

Type Alias db_core::errors::BoxDynError

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

Convenience type alias for grouping driver-specific errors

+

Aliased Type§

struct BoxDynError(/* private fields */);
\ No newline at end of file diff --git a/db_core/errors/type.DBResult.html b/db_core/errors/type.DBResult.html index d4e3fd37..46ff7ee5 100644 --- a/db_core/errors/type.DBResult.html +++ b/db_core/errors/type.DBResult.html @@ -1,7 +1,8 @@ -DBResult in db_core::errors - Rust

Type Alias db_core::errors::DBResult

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

Generic result data structure

-

Aliased Type§

enum DBResult<V> {
+DBResult in db_core::errors - Rust
+    

Type Alias db_core::errors::DBResult

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

Generic result data structure

+

Aliased Type§

enum DBResult<V> {
     Ok(V),
     Err(DBError),
-}

Variants§

§1.0.0

Ok(V)

Contains the success value

+}

Variants§

§1.0.0

Ok(V)

Contains the success value

§1.0.0

Err(DBError)

Contains the error value

\ No newline at end of file diff --git a/db_core/index.html b/db_core/index.html index 72ddce24..e3faff9d 100644 --- a/db_core/index.html +++ b/db_core/index.html @@ -1,5 +1,6 @@ -db_core - Rust

Crate db_core

source ·
Expand description

mCaptcha database operations

+db_core - Rust +

Crate db_core

source ·
Expand description

mCaptcha database operations

Traits and datastructures used in mCaptcha to interact with database.

To use an unsupported database with mCaptcha, traits present within this crate should be implemented.

@@ -10,5 +11,5 @@ implemented.

  • ops: meta operations like connection pool creation, migrations and getting connection from pool
  • -

    Re-exports

    Modules

    • useful imports for supporting a new database
    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this +

    Re-exports

    Modules

    • useful imports for supporting a new database
    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.
    \ No newline at end of file diff --git a/db_core/ops/index.html b/db_core/ops/index.html index b4b1361c..b89a1a37 100644 --- a/db_core/ops/index.html +++ b/db_core/ops/index.html @@ -1,2 +1,3 @@ -db_core::ops - Rust

    Module db_core::ops

    source ·
    Expand description

    meta operations like migration and connecting to a database

    -

    Traits

    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • database migrations
    \ No newline at end of file +db_core::ops - Rust +

    Module db_core::ops

    source ·
    Expand description

    meta operations like migration and connecting to a database

    +

    Traits

    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • database migrations
    \ No newline at end of file diff --git a/db_core/ops/trait.Connect.html b/db_core/ops/trait.Connect.html index 1f0ca5da..107023c7 100644 --- a/db_core/ops/trait.Connect.html +++ b/db_core/ops/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_core::ops - Rust

    Trait db_core::ops::Connect

    source ·
    pub trait Connect {
    +Connect in db_core::ops - Rust
    +    

    Trait db_core::ops::Connect

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

    Create database connection

    -

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    source

    fn connect<'async_trait>( +

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    source

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type +) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>

    where + Self: 'async_trait,

    database specific error-type create connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_core/ops/trait.DBOps.html b/db_core/ops/trait.DBOps.html index eafb45c5..6dfbcdd3 100644 --- a/db_core/ops/trait.DBOps.html +++ b/db_core/ops/trait.DBOps.html @@ -1,2 +1,3 @@ -DBOps in db_core::ops - Rust

    Trait db_core::ops::DBOps

    source ·
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

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

    -

    Implementors§

    \ No newline at end of file +DBOps in db_core::ops - Rust +

    Trait db_core::ops::DBOps

    source ·
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

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

    +

    Implementors§

    \ No newline at end of file diff --git a/db_core/ops/trait.GetConnection.html b/db_core/ops/trait.GetConnection.html index b5869435..8c6cda7f 100644 --- a/db_core/ops/trait.GetConnection.html +++ b/db_core/ops/trait.GetConnection.html @@ -1,18 +1,19 @@ -GetConnection in db_core::ops - Rust
    pub trait GetConnection {
    +GetConnection in db_core::ops - Rust
    +    
    pub trait GetConnection {
         type Conn;
     
         // Required method
         fn get_conn<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    source

    type Conn

    database connection type

    -

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    source

    type Conn

    database connection type

    +

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    database specific error-type + 'life0: 'async_trait,

    database specific error-type get connection from connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_core/ops/trait.Migrate.html b/db_core/ops/trait.Migrate.html index 23b81321..13547ef5 100644 --- a/db_core/ops/trait.Migrate.html +++ b/db_core/ops/trait.Migrate.html @@ -1,15 +1,16 @@ -Migrate in db_core::ops - Rust

    Trait db_core::ops::Migrate

    source ·
    pub trait Migrate: MCDatabase {
    +Migrate in db_core::ops - Rust
    +    

    Trait db_core::ops::Migrate

    source ·
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    database specific error-type + 'life0: 'async_trait,

    database specific error-type run migrations

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_core/prelude/index.html b/db_core/prelude/index.html index ace13436..fc8fdff0 100644 --- a/db_core/prelude/index.html +++ b/db_core/prelude/index.html @@ -1,2 +1,3 @@ -db_core::prelude - Rust

    Module db_core::prelude

    source ·
    Expand description

    useful imports for users working with a supported database

    -

    Re-exports

    \ No newline at end of file +db_core::prelude - Rust +

    Module db_core::prelude

    source ·
    Expand description

    useful imports for users working with a supported database

    +

    Re-exports

    \ No newline at end of file diff --git a/db_core/struct.AddNotification.html b/db_core/struct.AddNotification.html index 3f7b5fa2..90b4a9bd 100644 --- a/db_core/struct.AddNotification.html +++ b/db_core/struct.AddNotification.html @@ -1,33 +1,34 @@ -AddNotification in db_core - Rust
    pub struct AddNotification<'a> {
    -    pub to: &'a str,
    -    pub from: &'a str,
    -    pub heading: &'a str,
    -    pub message: &'a str,
    +AddNotification in db_core - Rust
    +    
    pub struct AddNotification<'a> {
    +    pub to: &'a str,
    +    pub from: &'a str,
    +    pub heading: &'a str,
    +    pub message: &'a str,
     }
    Expand description

    Data required to add notification

    -

    Fields§

    §to: &'a str

    who is the notification addressed to?

    -
    §from: &'a str

    notification sender

    -
    §heading: &'a str

    heading of the notification

    -
    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

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

    impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §to: &'a str

    who is the notification addressed to?

    +
    §from: &'a str

    notification sender

    +
    §heading: &'a str

    heading of the notification

    +
    §message: &'a str

    message of the notification

    +

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

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

    impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.Captcha.html b/db_core/struct.Captcha.html index f92d549c..2d70d3c7 100644 --- a/db_core/struct.Captcha.html +++ b/db_core/struct.Captcha.html @@ -1,33 +1,34 @@ -Captcha in db_core - Rust

    Struct db_core::Captcha

    source ·
    pub struct Captcha {
    -    pub config_id: i32,
    -    pub duration: i32,
    -    pub description: String,
    -    pub key: String,
    +Captcha in db_core - Rust
    +    

    Struct db_core::Captcha

    source ·
    pub struct Captcha {
    +    pub config_id: i32,
    +    pub duration: i32,
    +    pub description: String,
    +    pub key: String,
     }
    Expand description

    Data representing a captcha

    -

    Fields§

    §config_id: i32

    Database assigned ID

    -
    §duration: i32

    cool down duration

    -
    §description: String

    description of the captcha

    -
    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

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

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §config_id: i32

    Database assigned ID

    +
    §duration: i32

    cool down duration

    +
    §description: String

    description of the captcha

    +
    §key: String

    secret key of the captcha

    +

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

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

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.CreateCaptcha.html b/db_core/struct.CreateCaptcha.html index 2c3a03c5..af6610e1 100644 --- a/db_core/struct.CreateCaptcha.html +++ b/db_core/struct.CreateCaptcha.html @@ -1,31 +1,32 @@ -CreateCaptcha in db_core - Rust

    Struct db_core::CreateCaptcha

    source ·
    pub struct CreateCaptcha<'a> {
    -    pub duration: i32,
    -    pub description: &'a str,
    -    pub key: &'a str,
    +CreateCaptcha in db_core - Rust
    +    

    Struct db_core::CreateCaptcha

    source ·
    pub struct CreateCaptcha<'a> {
    +    pub duration: i32,
    +    pub description: &'a str,
    +    pub key: &'a str,
     }
    Expand description

    data required to create new captcha

    -

    Fields§

    §duration: i32

    cool down duration

    -
    §description: &'a str

    description of the captcha

    -
    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

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

    impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §duration: i32

    cool down duration

    +
    §description: &'a str

    description of the captcha

    +
    §key: &'a str

    secret key of the captcha

    +

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

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

    impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.CreatePerformanceAnalytics.html b/db_core/struct.CreatePerformanceAnalytics.html index 4ea18f6a..732e5c80 100644 --- a/db_core/struct.CreatePerformanceAnalytics.html +++ b/db_core/struct.CreatePerformanceAnalytics.html @@ -1,31 +1,32 @@ -CreatePerformanceAnalytics in db_core - Rust
    pub struct CreatePerformanceAnalytics {
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +CreatePerformanceAnalytics in db_core - Rust
    +    
    pub struct CreatePerformanceAnalytics {
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Log Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

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

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

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

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.EasyCaptcha.html b/db_core/struct.EasyCaptcha.html index 42d393da..76b80eb6 100644 --- a/db_core/struct.EasyCaptcha.html +++ b/db_core/struct.EasyCaptcha.html @@ -1,33 +1,34 @@ -EasyCaptcha in db_core - Rust

    Struct db_core::EasyCaptcha

    source ·
    pub struct EasyCaptcha {
    +EasyCaptcha in db_core - Rust
    +    

    Struct db_core::EasyCaptcha

    source ·
    pub struct EasyCaptcha {
         pub traffic_pattern: TrafficPattern,
    -    pub key: String,
    -    pub description: String,
    -    pub username: String,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
     }
    Expand description

    Represents Easy captcha configuration

    -

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    -
    §key: String

    captcha key/sitekey

    -
    §description: String

    captcha description

    -
    §username: String

    Owner of the captcha configuration

    -

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

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

    impl<'de> Deserialize<'de> for EasyCaptcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

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

    impl<'de> Deserialize<'de> for EasyCaptcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.Level.html b/db_core/struct.Level.html index 738f1588..502988b9 100644 --- a/db_core/struct.Level.html +++ b/db_core/struct.Level.html @@ -1,32 +1,33 @@ -Level in db_core - Rust

    Struct db_core::Level

    pub struct Level {
    -    pub visitor_threshold: u32,
    -    pub difficulty_factor: u32,
    +Level in db_core - Rust
    +    

    Struct db_core::Level

    pub struct Level {
    +    pub visitor_threshold: u32,
    +    pub difficulty_factor: u32,
     }
    Expand description

    Level struct that describes threshold-difficulty factor mapping

    -

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( +

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Level, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +) -> Result<Level, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Level

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.NameHash.html b/db_core/struct.NameHash.html index ffc201e2..fd5cd6d5 100644 --- a/db_core/struct.NameHash.html +++ b/db_core/struct.NameHash.html @@ -1,29 +1,30 @@ -NameHash in db_core - Rust

    Struct db_core::NameHash

    source ·
    pub struct NameHash {
    -    pub username: String,
    -    pub hash: String,
    +NameHash in db_core - Rust
    +    

    Struct db_core::NameHash

    source ·
    pub struct NameHash {
    +    pub username: String,
    +    pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    -

    Fields§

    §username: String

    username

    -
    §hash: String

    hashed password

    -

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §username: String

    username

    +
    §hash: String

    hashed password

    +

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.Notification.html b/db_core/struct.Notification.html index 0eefbf48..4ebf15b2 100644 --- a/db_core/struct.Notification.html +++ b/db_core/struct.Notification.html @@ -1,35 +1,36 @@ -Notification in db_core - Rust

    Struct db_core::Notification

    source ·
    pub struct Notification {
    -    pub name: Option<String>,
    -    pub heading: Option<String>,
    -    pub message: Option<String>,
    -    pub received: Option<i64>,
    -    pub id: Option<i32>,
    +Notification in db_core - Rust
    +    

    Struct db_core::Notification

    source ·
    pub struct Notification {
    +    pub name: Option<String>,
    +    pub heading: Option<String>,
    +    pub message: Option<String>,
    +    pub received: Option<i64>,
    +    pub id: Option<i32>,
     }
    Expand description

    Represents notification

    -

    Fields§

    §name: Option<String>

    receiver name of the notification

    -
    §heading: Option<String>

    heading of the notification

    -
    §message: Option<String>

    message of the notification

    -
    §received: Option<i64>

    when notification was received

    -
    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

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

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §name: Option<String>

    receiver name of the notification

    +
    §heading: Option<String>

    heading of the notification

    +
    §message: Option<String>

    message of the notification

    +
    §received: Option<i64>

    when notification was received

    +
    §id: Option<i32>

    db assigned ID of the notification

    +

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

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

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.PerformanceAnalytics.html b/db_core/struct.PerformanceAnalytics.html index 78b6c387..4a9be0ac 100644 --- a/db_core/struct.PerformanceAnalytics.html +++ b/db_core/struct.PerformanceAnalytics.html @@ -1,33 +1,34 @@ -PerformanceAnalytics in db_core - Rust
    pub struct PerformanceAnalytics {
    -    pub id: usize,
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +PerformanceAnalytics in db_core - Rust
    +    
    pub struct PerformanceAnalytics {
    +    pub id: usize,
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §id: usize

    log ID

    -
    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

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

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §id: usize

    log ID

    +
    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

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

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.Register.html b/db_core/struct.Register.html index 4ec7beee..21f465b0 100644 --- a/db_core/struct.Register.html +++ b/db_core/struct.Register.html @@ -1,33 +1,34 @@ -Register in db_core - Rust

    Struct db_core::Register

    source ·
    pub struct Register<'a> {
    -    pub username: &'a str,
    -    pub secret: &'a str,
    -    pub hash: &'a str,
    -    pub email: Option<&'a str>,
    +Register in db_core - Rust
    +    

    Struct db_core::Register

    source ·
    pub struct Register<'a> {
    +    pub username: &'a str,
    +    pub secret: &'a str,
    +    pub hash: &'a str,
    +    pub email: Option<&'a str>,
     }
    Expand description

    Data required to register a new user

    -

    Fields§

    §username: &'a str

    username of new user

    -
    §secret: &'a str

    secret of new user

    -
    §hash: &'a str

    hashed password of new use

    -
    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §username: &'a str

    username of new user

    +
    §secret: &'a str

    secret of new user

    +
    §hash: &'a str

    hashed password of new use

    +
    §email: Option<&'a str>

    Optionally, email of new use

    +

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.Secret.html b/db_core/struct.Secret.html index 6296df90..b7aa9805 100644 --- a/db_core/struct.Secret.html +++ b/db_core/struct.Secret.html @@ -1,27 +1,28 @@ -Secret in db_core - Rust

    Struct db_core::Secret

    source ·
    pub struct Secret {
    -    pub secret: String,
    +Secret in db_core - Rust
    +    

    Struct db_core::Secret

    source ·
    pub struct Secret {
    +    pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    -

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

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

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §secret: String

    user’s secret

    +

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

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

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.StatsUnixTimestamp.html b/db_core/struct.StatsUnixTimestamp.html index da1da7c6..6841af17 100644 --- a/db_core/struct.StatsUnixTimestamp.html +++ b/db_core/struct.StatsUnixTimestamp.html @@ -1,31 +1,32 @@ -StatsUnixTimestamp in db_core - Rust
    pub struct StatsUnixTimestamp {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    +StatsUnixTimestamp in db_core - Rust
    +    
    pub struct StatsUnixTimestamp {
    +    pub config_fetches: Vec<i64>,
    +    pub solves: Vec<i64>,
    +    pub confirms: Vec<i64>,
     }
    Expand description

    Captcha statistics with time recorded in UNIX epoch formats

    -

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    -
    §solves: Vec<i64>

    times at which the PoW was solved

    -
    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

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

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    +
    §solves: Vec<i64>

    times at which the PoW was solved

    +
    §confirms: Vec<i64>

    times at which the PoW token was verified

    +

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

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

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.TrafficPattern.html b/db_core/struct.TrafficPattern.html index 44d1e438..f34dc772 100644 --- a/db_core/struct.TrafficPattern.html +++ b/db_core/struct.TrafficPattern.html @@ -1,31 +1,32 @@ -TrafficPattern in db_core - Rust

    Struct db_core::TrafficPattern

    source ·
    pub struct TrafficPattern {
    -    pub avg_traffic: u32,
    -    pub peak_sustainable_traffic: u32,
    -    pub broke_my_site_traffic: Option<u32>,
    +TrafficPattern in db_core - Rust
    +    

    Struct db_core::TrafficPattern

    source ·
    pub struct TrafficPattern {
    +    pub avg_traffic: u32,
    +    pub peak_sustainable_traffic: u32,
    +    pub broke_my_site_traffic: Option<u32>,
     }
    Expand description

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

    -

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    -
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    -
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

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

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    +
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    +
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    +

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

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

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.UpdateEmail.html b/db_core/struct.UpdateEmail.html index 983b5d10..152a40be 100644 --- a/db_core/struct.UpdateEmail.html +++ b/db_core/struct.UpdateEmail.html @@ -1,29 +1,30 @@ -UpdateEmail in db_core - Rust

    Struct db_core::UpdateEmail

    source ·
    pub struct UpdateEmail<'a> {
    -    pub username: &'a str,
    -    pub new_email: &'a str,
    +UpdateEmail in db_core - Rust
    +    

    Struct db_core::UpdateEmail

    source ·
    pub struct UpdateEmail<'a> {
    +    pub username: &'a str,
    +    pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    -

    Fields§

    §username: &'a str

    username of the user

    -
    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §username: &'a str

    username of the user

    +
    §new_email: &'a str

    new email address of the user

    +

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/tests/constant.LEVELS.html b/db_core/tests/constant.LEVELS.html index d0f62e57..e987f5cd 100644 --- a/db_core/tests/constant.LEVELS.html +++ b/db_core/tests/constant.LEVELS.html @@ -1,2 +1,3 @@ -LEVELS in db_core::tests - Rust

    Constant db_core::tests::LEVELS

    source ·
    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    +LEVELS in db_core::tests - Rust +

    Constant db_core::tests::LEVELS

    source ·
    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    \ No newline at end of file diff --git a/db_core/tests/constant.TRAFFIC_PATTERN.html b/db_core/tests/constant.TRAFFIC_PATTERN.html index 829d07a3..39a98d0d 100644 --- a/db_core/tests/constant.TRAFFIC_PATTERN.html +++ b/db_core/tests/constant.TRAFFIC_PATTERN.html @@ -1,2 +1,3 @@ -TRAFFIC_PATTERN in db_core::tests - Rust

    Constant db_core::tests::TRAFFIC_PATTERN

    source ·
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    +TRAFFIC_PATTERN in db_core::tests - Rust +

    Constant db_core::tests::TRAFFIC_PATTERN

    source ·
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    \ No newline at end of file diff --git a/db_core/tests/fn.database_works.html b/db_core/tests/fn.database_works.html index a2d52920..8f894f5a 100644 --- a/db_core/tests/fn.database_works.html +++ b/db_core/tests/fn.database_works.html @@ -1,5 +1,6 @@ -database_works in db_core::tests - Rust

    Function db_core::tests::database_works

    source ·
    pub async fn database_works<'a, T: MCDatabase>(
    -    db: &T,
    +database_works in db_core::tests - Rust
    +    

    Function db_core::tests::database_works

    source ·
    pub async fn database_works<'a, T: MCDatabase>(
    +    db: &T,
         p: &Register<'a>,
         c: &CreateCaptcha<'a>,
         l: &[Level],
    diff --git a/db_core/tests/index.html b/db_core/tests/index.html
    index e87f6374..96b3c571 100644
    --- a/db_core/tests/index.html
    +++ b/db_core/tests/index.html
    @@ -1,2 +1,3 @@
    -db_core::tests - Rust

    Module db_core::tests

    source ·
    Expand description

    Test utilities

    -

    Constants

    Functions

    \ No newline at end of file +db_core::tests - Rust +

    Module db_core::tests

    source ·
    Expand description

    Test utilities

    +

    Constants

    Functions

    \ No newline at end of file diff --git a/db_core/trait.CloneSPDatabase.html b/db_core/trait.CloneSPDatabase.html index d259e263..46a083dd 100644 --- a/db_core/trait.CloneSPDatabase.html +++ b/db_core/trait.CloneSPDatabase.html @@ -1,7 +1,8 @@ -CloneSPDatabase in db_core - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_core - Rust
    +    
    pub trait CloneSPDatabase {
         // Required method
    -    fn clone_db(&self) -> Box<dyn MCDatabase>;
    +    fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    \ No newline at end of file +

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    source§

    impl<T> CloneSPDatabase for T
    where + T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_core/trait.MCDatabase.html b/db_core/trait.MCDatabase.html index 974763e9..7c6d839a 100644 --- a/db_core/trait.MCDatabase.html +++ b/db_core/trait.MCDatabase.html @@ -1,138 +1,139 @@ -MCDatabase in db_core - Rust

    Trait db_core::MCDatabase

    source ·
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +MCDatabase in db_core - Rust
    +    

    Trait db_core::MCDatabase

    source ·
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
     
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>> + email: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> - ) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + current: &'life1 str, + new: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + username: &'life1 str, + secret: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>> + username: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, @@ -140,10 +141,10 @@ 'life3: 'async_trait; fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, @@ -151,53 +152,53 @@ 'life3: 'async_trait; fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>> + captcha_key: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, @@ -205,25 +206,25 @@ 'life3: 'async_trait; fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>> + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, @@ -231,552 +232,552 @@ fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + username: &'life1 str, + id: i32 + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>> + captcha_id: &'life1 str, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>> + psuedo_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize - ) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>> + page: usize + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 - ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 + ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 - ) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32 + ) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 - ) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>> + duration: u32 + ) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 - ) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>> + duration: u32, + location: u32 + ) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; // Provided method fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... }
    }
    Expand description

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

    -

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    ping DB

    + 'life0: 'async_trait,

    ping DB

    source

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    register a new user

    + 'life1: 'async_trait,

    register a new user

    source

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    delete a user

    + 'life1: 'async_trait,

    delete a user

    source

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    check if username exists

    + 'life1: 'async_trait,

    check if username exists

    source

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get user email

    + 'life1: 'async_trait,

    get user email

    source

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + email: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    check if email exists

    + 'life1: 'async_trait,

    check if email exists

    source

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    update a user’s email

    + 'life1: 'async_trait,

    update a user’s email

    source

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> -) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get a user’s password

    + 'life1: 'async_trait,

    get a user’s password

    source

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    update user’s password

    + 'life1: 'async_trait,

    update user’s password

    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + current: &'life1 str, + new: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    update username

    + 'life2: 'async_trait,

    update username

    source

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get a user’s secret

    + 'life1: 'async_trait,

    get a user’s secret

    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get a user’s secret from a captcha key

    + 'life1: 'async_trait,

    get a user’s secret from a captcha key

    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + secret: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    update a user’s secret

    + 'life2: 'async_trait,

    update a user’s secret

    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    create new captcha

    + 'life2: 'async_trait,

    create new captcha

    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>where + username: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Get captcha config

    + 'life2: 'async_trait,

    Get captcha config

    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get all captchas belonging to user

    + 'life1: 'async_trait,

    Get all captchas belonging to user

    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    + 'life2: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    update captcha key; doesn’t change metadata

    + 'life3: 'async_trait,

    update captcha key; doesn’t change metadata

    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    Add levels to captcha

    + 'life3: 'async_trait,

    Add levels to captcha

    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    check if captcha exists

    + 'life2: 'async_trait,

    check if captcha exists

    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Delete all levels of a captcha

    + 'life2: 'async_trait,

    Delete all levels of a captcha

    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Delete captcha

    + 'life2: 'async_trait,

    Delete captcha

    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Get captcha levels

    + 'life2: 'async_trait,

    Get captcha levels

    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>where + captcha_key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get captcha’s cooldown period

    + 'life1: 'async_trait,

    Get captcha’s cooldown period

    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    Add traffic configuration

    + 'life3: 'async_trait,

    Add traffic configuration

    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Get traffic configuration

    + 'life2: 'async_trait,

    Get traffic configuration

    source

    fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>where + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get all easy captcha configurations on instance

    + 'life0: 'async_trait,

    Get all easy captcha configurations on instance

    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Delete traffic configuration

    + 'life2: 'async_trait,

    Delete traffic configuration

    source

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    create new notification

    + 'life1: 'async_trait,

    create new notification

    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get all unread notifications

    + 'life1: 'async_trait,

    get all unread notifications

    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + id: i32 +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    mark a notification read

    + 'life1: 'async_trait,

    mark a notification read

    source

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    record PoWConfig fetches

    + 'life1: 'async_trait,

    record PoWConfig fetches

    source

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    record PoWConfig solves

    + 'life1: 'async_trait,

    record PoWConfig solves

    source

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    record PoWConfig confirms

    + 'life1: 'async_trait,

    record PoWConfig confirms

    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    fetch PoWConfig fetches

    + 'life2: 'async_trait,

    fetch PoWConfig fetches

    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    fetch PoWConfig solves

    + 'life2: 'async_trait,

    fetch PoWConfig solves

    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    fetch PoWConfig confirms

    + 'life2: 'async_trait,

    fetch PoWConfig confirms

    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoW timing

    + 'life2: 'async_trait,

    record PoW timing

    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>>where + captcha_id: &'life1 str, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    fetch PoW analytics

    + 'life1: 'async_trait,

    fetch PoW analytics

    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    + 'life1: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get psuedo ID from campaign ID

    + 'life1: 'async_trait,

    Get psuedo ID from campaign ID

    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where + psuedo_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get campaign ID from psuedo ID

    + 'life1: 'async_trait,

    Get campaign ID from psuedo ID

    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Delete all records for campaign

    + 'life1: 'async_trait,

    Delete all records for campaign

    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize -) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>where + page: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get all psuedo IDs

    + 'life0: 'async_trait,

    Get all psuedo IDs

    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Track maximum nonce received against captcha levels

    + 'life1: 'async_trait,

    Track maximum nonce received against captcha levels

    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 -) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32 +) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    + 'life1: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 -) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>where + duration: u32 +) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get number of analytics entries that are under a certain duration

    + 'life0: 'async_trait,

    Get number of analytics entries that are under a certain duration

    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 -) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>>where + duration: u32, + location: u32 +) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit + 'life0: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file + 'life1: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    +

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/all.html b/db_sqlx_maria/all.html index 751b8dfa..df338571 100644 --- a/db_sqlx_maria/all.html +++ b/db_sqlx_maria/all.html @@ -1 +1,2 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Attribute Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file +List of all items in this crate +

    List of all items

    Structs

    Enums

    Traits

    Attribute Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/attr.async_trait.html b/db_sqlx_maria/dev/attr.async_trait.html index 31d5aa93..61cbbb1a 100644 --- a/db_sqlx_maria/dev/attr.async_trait.html +++ b/db_sqlx_maria/dev/attr.async_trait.html @@ -1 +1,2 @@ -async_trait in db_sqlx_maria::dev - Rust

    Attribute Macro db_sqlx_maria::dev::async_trait

    #[async_trait]
    \ No newline at end of file +async_trait in db_sqlx_maria::dev - Rust +

    Attribute Macro db_sqlx_maria::dev::async_trait

    #[async_trait]
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/enum.DBError.html b/db_sqlx_maria/dev/enum.DBError.html index c0a86a77..5452e024 100644 --- a/db_sqlx_maria/dev/enum.DBError.html +++ b/db_sqlx_maria/dev/enum.DBError.html @@ -1,5 +1,6 @@ -DBError in db_sqlx_maria::dev - Rust
    pub enum DBError {
    -    DBError(Box<dyn Error + Send + Sync>),
    +DBError in db_sqlx_maria::dev - Rust
    +    
    pub enum DBError {
    +    DBError(Box<dyn Error + Send + Sync>),
         UsernameTaken,
         EmailTaken,
         SecretTaken,
    @@ -9,7 +10,7 @@
         TrafficPatternNotFound,
         NotificationNotFound,
     }
    Expand description

    Error data structure grouping various error subtypes

    -

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    +

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    §

    UsernameTaken

    Username is taken

    §

    EmailTaken

    Email is taken

    §

    SecretTaken

    Secret is taken

    @@ -18,21 +19,21 @@
    §

    CaptchaNotFound

    Captcha not found

    §

    TrafficPatternNotFound

    Traffic pattern not found

    §

    NotificationNotFound

    Notification not found

    -

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    §

    impl Debug for DBError

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/enum.Error.html b/db_sqlx_maria/dev/enum.Error.html index bc5cf31d..4c824643 100644 --- a/db_sqlx_maria/dev/enum.Error.html +++ b/db_sqlx_maria/dev/enum.Error.html @@ -1,63 +1,64 @@ -Error in db_sqlx_maria::dev - Rust

    Enum db_sqlx_maria::dev::Error

    #[non_exhaustive]
    pub enum Error { -
    Show 16 variants Configuration(Box<dyn Error + Send + Sync>), - Database(Box<dyn DatabaseError>), - Io(Error), - Tls(Box<dyn Error + Send + Sync>), - Protocol(String), +Error in db_sqlx_maria::dev - Rust +

    Enum db_sqlx_maria::dev::Error

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

    Represents all the ways a method can fail within SQLx.

    -

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    Configuration(Box<dyn Error + Send + Sync>)

    Error occurred while parsing a connection string.

    -
    §

    Database(Box<dyn DatabaseError>)

    Error returned from the database.

    -
    §

    Io(Error)

    Error communicating with the database backend.

    -
    §

    Tls(Box<dyn Error + Send + Sync>)

    Error occurred while attempting to establish a TLS connection.

    -
    §

    Protocol(String)

    Unexpected or invalid data encountered while communicating with the database.

    +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    Configuration(Box<dyn Error + Send + Sync>)

    Error occurred while parsing a connection string.

    +
    §

    Database(Box<dyn DatabaseError>)

    Error returned from the database.

    +
    §

    Io(Error)

    Error communicating with the database backend.

    +
    §

    Tls(Box<dyn Error + Send + Sync>)

    Error occurred while attempting to establish a TLS connection.

    +
    §

    Protocol(String)

    Unexpected or invalid data encountered while communicating with the database.

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

    §

    RowNotFound

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

    -
    §

    TypeNotFound

    Fields

    §type_name: String

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

    -
    §

    ColumnIndexOutOfBounds

    Fields

    §index: usize
    §len: usize

    Column index was out of bounds.

    -
    §

    ColumnNotFound(String)

    No column found for the given name.

    -
    §

    ColumnDecode

    Fields

    §index: String
    §source: Box<dyn Error + Send + Sync>

    Error occurred while decoding a value from a specific column.

    -
    §

    Decode(Box<dyn Error + Send + Sync>)

    Error occurred while decoding a value.

    -
    §

    AnyDriverError(Box<dyn Error + Send + Sync>)

    Error occurred within the Any driver mapping to/from the native driver.

    +
    §

    TypeNotFound

    Fields

    §type_name: String

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

    +
    §

    ColumnIndexOutOfBounds

    Fields

    §index: usize
    §len: usize

    Column index was out of bounds.

    +
    §

    ColumnNotFound(String)

    No column found for the given name.

    +
    §

    ColumnDecode

    Fields

    §index: String
    §source: Box<dyn Error + Send + Sync>

    Error occurred while decoding a value from a specific column.

    +
    §

    Decode(Box<dyn Error + Send + Sync>)

    Error occurred while decoding a value.

    +
    §

    AnyDriverError(Box<dyn Error + Send + Sync>)

    Error occurred within the Any driver mapping to/from the native driver.

    §

    PoolTimedOut

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

    §

    PoolClosed

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

    §

    WorkerCrashed

    A background worker has crashed.

    -
    §

    Migrate(Box<MigrateError>)

    Implementations§

    §

    impl Error

    pub fn into_database_error(self) -> Option<Box<dyn DatabaseError>>

    pub fn as_database_error(&self) -> Option<&(dyn DatabaseError + 'static)>

    Trait Implementations§

    §

    impl Debug for Error

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Display for Error

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Error for Error

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    §

    impl<E> From<E> for Errorwhere - E: DatabaseError,

    §

    fn from(error: E) -> Error

    Converts to this type from the input type.
    §

    impl From<Error> for Error

    §

    fn from(source: Error) -> Error

    Converts to this type from the input type.
    §

    impl From<MigrateError> for Error

    §

    fn from(error: MigrateError) -> Error

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Error

    §

    impl Send for Error

    §

    impl Sync for Error

    §

    impl Unpin for Error

    §

    impl !UnwindSafe for Error

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    Migrate(Box<MigrateError>)

    Implementations§

    §

    impl Error

    pub fn into_database_error(self) -> Option<Box<dyn DatabaseError>>

    pub fn as_database_error(&self) -> Option<&(dyn DatabaseError + 'static)>

    Trait Implementations§

    §

    impl Debug for Error

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Display for Error

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Error for Error

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    §

    impl<E> From<E> for Error
    where + E: DatabaseError,

    §

    fn from(error: E) -> Error

    Converts to this type from the input type.
    §

    impl From<Error> for Error

    §

    fn from(source: Error) -> Error

    Converts to this type from the input type.
    §

    impl From<MigrateError> for Error

    §

    fn from(error: MigrateError) -> Error

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Error

    §

    impl Send for Error

    §

    impl Sync for Error

    §

    impl Unpin for Error

    §

    impl !UnwindSafe for Error

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/enum.Login.html b/db_sqlx_maria/dev/enum.Login.html index 47231afe..c8c14d3b 100644 --- a/db_sqlx_maria/dev/enum.Login.html +++ b/db_sqlx_maria/dev/enum.Login.html @@ -1,35 +1,36 @@ -Login in db_sqlx_maria::dev - Rust

    Enum db_sqlx_maria::dev::Login

    source ·
    pub enum Login<'a> {
    -    Username(&'a str),
    -    Email(&'a str),
    +Login in db_sqlx_maria::dev - Rust
    +    

    Enum db_sqlx_maria::dev::Login

    pub enum Login<'a> {
    +    Username(&'a str),
    +    Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    -

    Variants§

    §

    Username(&'a str)

    username as login

    -
    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    Variants§

    §

    Username(&'a str)

    username as login

    +
    §

    Email(&'a str)

    email as login

    +

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( +) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/enum.DBError.html b/db_sqlx_maria/dev/errors/enum.DBError.html index e897024c..b2902557 100644 --- a/db_sqlx_maria/dev/errors/enum.DBError.html +++ b/db_sqlx_maria/dev/errors/enum.DBError.html @@ -1,5 +1,6 @@ -DBError in db_sqlx_maria::dev::errors - Rust
    pub enum DBError {
    -    DBError(Box<dyn Error + Send + Sync>),
    +DBError in db_sqlx_maria::dev::errors - Rust
    +    
    pub enum DBError {
    +    DBError(Box<dyn Error + Send + Sync>),
         UsernameTaken,
         EmailTaken,
         SecretTaken,
    @@ -9,7 +10,7 @@
         TrafficPatternNotFound,
         NotificationNotFound,
     }
    Expand description

    Error data structure grouping various error subtypes

    -

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    +

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    §

    UsernameTaken

    Username is taken

    §

    EmailTaken

    Email is taken

    §

    SecretTaken

    Secret is taken

    @@ -18,21 +19,21 @@
    §

    CaptchaNotFound

    Captcha not found

    §

    TrafficPatternNotFound

    Traffic pattern not found

    §

    NotificationNotFound

    Notification not found

    -

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    §

    impl Debug for DBError

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/index.html b/db_sqlx_maria/dev/errors/index.html index c26ef06c..3e59e660 100644 --- a/db_sqlx_maria/dev/errors/index.html +++ b/db_sqlx_maria/dev/errors/index.html @@ -1,2 +1,3 @@ -db_sqlx_maria::dev::errors - Rust

    Module db_sqlx_maria::dev::errors

    source ·
    Expand description

    represents all the ways a trait can fail using this crate

    -

    Enums

    • Error data structure grouping various error subtypes

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file +db_sqlx_maria::dev::errors - Rust +

    Module db_sqlx_maria::dev::errors

    Expand description

    represents all the ways a trait can fail using this crate

    +

    Enums

    • Error data structure grouping various error subtypes

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/type.BoxDynError.html b/db_sqlx_maria/dev/errors/type.BoxDynError.html index 352c58b8..708482c2 100644 --- a/db_sqlx_maria/dev/errors/type.BoxDynError.html +++ b/db_sqlx_maria/dev/errors/type.BoxDynError.html @@ -1,2 +1,3 @@ -BoxDynError in db_sqlx_maria::dev::errors - Rust

    Type Alias db_sqlx_maria::dev::errors::BoxDynError

    source ·
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    -

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file +BoxDynError in db_sqlx_maria::dev::errors - Rust +

    Type Alias db_sqlx_maria::dev::errors::BoxDynError

    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/type.DBResult.html b/db_sqlx_maria/dev/errors/type.DBResult.html index 489480c5..a5a0d9f4 100644 --- a/db_sqlx_maria/dev/errors/type.DBResult.html +++ b/db_sqlx_maria/dev/errors/type.DBResult.html @@ -1,7 +1,8 @@ -DBResult in db_sqlx_maria::dev::errors - Rust

    Type Alias db_sqlx_maria::dev::errors::DBResult

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

    Generic result data structure

    -

    Aliased Type§

    enum DBResult<V> {
    +DBResult in db_sqlx_maria::dev::errors - Rust
    +    

    Type Alias db_sqlx_maria::dev::errors::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(DBError)

    Contains the error value

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/index.html b/db_sqlx_maria/dev/index.html index 7055305b..f9607e4a 100644 --- a/db_sqlx_maria/dev/index.html +++ b/db_sqlx_maria/dev/index.html @@ -1,2 +1,3 @@ -db_sqlx_maria::dev - Rust

    Module db_sqlx_maria::dev

    source ·

    Re-exports

    Modules

    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • Represents all the ways a method can fail within SQLx.
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this -trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure

    Attribute Macros

    \ No newline at end of file +db_sqlx_maria::dev - Rust +

    Module db_sqlx_maria::dev

    source ·

    Re-exports

    Modules

    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • Represents all the ways a method can fail within SQLx.
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this +trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure

    Attribute Macros

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/index.html b/db_sqlx_maria/dev/ops/index.html index 8fa9a672..04ddc948 100644 --- a/db_sqlx_maria/dev/ops/index.html +++ b/db_sqlx_maria/dev/ops/index.html @@ -1,2 +1,3 @@ -db_sqlx_maria::dev::ops - Rust

    Module db_sqlx_maria::dev::ops

    source ·
    Expand description

    meta operations like migration and connecting to a database

    -

    Traits

    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • database migrations
    \ No newline at end of file +db_sqlx_maria::dev::ops - Rust +

    Module db_sqlx_maria::dev::ops

    Expand description

    meta operations like migration and connecting to a database

    +

    Traits

    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • database migrations
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/trait.Connect.html b/db_sqlx_maria/dev/ops/trait.Connect.html index 8e189884..95b46790 100644 --- a/db_sqlx_maria/dev/ops/trait.Connect.html +++ b/db_sqlx_maria/dev/ops/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev::ops - Rust
    pub trait Connect {
    +Connect in db_sqlx_maria::dev::ops - Rust
    +    
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
         fn connect<'async_trait>(
             self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    source

    fn connect<'async_trait>( +

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type +) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>

    where + Self: 'async_trait,

    database specific error-type create connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/trait.DBOps.html b/db_sqlx_maria/dev/ops/trait.DBOps.html index 6ae92aea..5bbe8291 100644 --- a/db_sqlx_maria/dev/ops/trait.DBOps.html +++ b/db_sqlx_maria/dev/ops/trait.DBOps.html @@ -1,2 +1,3 @@ -DBOps in db_sqlx_maria::dev::ops - Rust

    Trait db_sqlx_maria::dev::ops::DBOps

    source ·
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

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

    -

    Implementors§

    \ No newline at end of file +DBOps in db_sqlx_maria::dev::ops - Rust +

    Trait db_sqlx_maria::dev::ops::DBOps

    pub trait DBOps: GetConnection + Migrate { }
    Expand description

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

    +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/trait.GetConnection.html b/db_sqlx_maria/dev/ops/trait.GetConnection.html index 97419ddb..5722de39 100644 --- a/db_sqlx_maria/dev/ops/trait.GetConnection.html +++ b/db_sqlx_maria/dev/ops/trait.GetConnection.html @@ -1,18 +1,19 @@ -GetConnection in db_sqlx_maria::dev::ops - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_maria::dev::ops - Rust
    +    
    pub trait GetConnection {
         type Conn;
     
         // Required method
         fn get_conn<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    source

    type Conn

    database connection type

    -

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    type Conn

    database connection type

    +

    Required Methods§

    fn get_conn<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type get connection from connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/trait.Migrate.html b/db_sqlx_maria/dev/ops/trait.Migrate.html index 3aea7517..085be289 100644 --- a/db_sqlx_maria/dev/ops/trait.Migrate.html +++ b/db_sqlx_maria/dev/ops/trait.Migrate.html @@ -1,15 +1,16 @@ -Migrate in db_sqlx_maria::dev::ops - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_maria::dev::ops - Rust
    +    
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type run migrations

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/attr.async_trait.html b/db_sqlx_maria/dev/prelude/dev/attr.async_trait.html index 8a9608ff..0e738804 100644 --- a/db_sqlx_maria/dev/prelude/dev/attr.async_trait.html +++ b/db_sqlx_maria/dev/prelude/dev/attr.async_trait.html @@ -1 +1,2 @@ -async_trait in db_sqlx_maria::dev::prelude::dev - Rust

    Attribute Macro db_sqlx_maria::dev::prelude::dev::async_trait

    #[async_trait]
    \ No newline at end of file +async_trait in db_sqlx_maria::dev::prelude::dev - Rust +

    Attribute Macro db_sqlx_maria::dev::prelude::dev::async_trait

    #[async_trait]
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/enum.DBError.html b/db_sqlx_maria/dev/prelude/dev/enum.DBError.html index 859c3a47..4cbd5550 100644 --- a/db_sqlx_maria/dev/prelude/dev/enum.DBError.html +++ b/db_sqlx_maria/dev/prelude/dev/enum.DBError.html @@ -1,5 +1,6 @@ -DBError in db_sqlx_maria::dev::prelude::dev - Rust
    pub enum DBError {
    -    DBError(Box<dyn Error + Send + Sync>),
    +DBError in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub enum DBError {
    +    DBError(Box<dyn Error + Send + Sync>),
         UsernameTaken,
         EmailTaken,
         SecretTaken,
    @@ -9,7 +10,7 @@
         TrafficPatternNotFound,
         NotificationNotFound,
     }
    Expand description

    Error data structure grouping various error subtypes

    -

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    +

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    §

    UsernameTaken

    Username is taken

    §

    EmailTaken

    Email is taken

    §

    SecretTaken

    Secret is taken

    @@ -18,21 +19,21 @@
    §

    CaptchaNotFound

    Captcha not found

    §

    TrafficPatternNotFound

    Traffic pattern not found

    §

    NotificationNotFound

    Notification not found

    -

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    §

    impl Debug for DBError

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/enum.Login.html b/db_sqlx_maria/dev/prelude/dev/enum.Login.html index 157de849..6afcf6ee 100644 --- a/db_sqlx_maria/dev/prelude/dev/enum.Login.html +++ b/db_sqlx_maria/dev/prelude/dev/enum.Login.html @@ -1,35 +1,36 @@ -Login in db_sqlx_maria::dev::prelude::dev - Rust
    pub enum Login<'a> {
    -    Username(&'a str),
    -    Email(&'a str),
    +Login in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub enum Login<'a> {
    +    Username(&'a str),
    +    Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    -

    Variants§

    §

    Username(&'a str)

    username as login

    -
    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    Variants§

    §

    Username(&'a str)

    username as login

    +
    §

    Email(&'a str)

    email as login

    +

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( +) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/index.html b/db_sqlx_maria/dev/prelude/dev/index.html index 7127f629..be33bd0a 100644 --- a/db_sqlx_maria/dev/prelude/dev/index.html +++ b/db_sqlx_maria/dev/prelude/dev/index.html @@ -1,3 +1,4 @@ -db_sqlx_maria::dev::prelude::dev - Rust

    Module db_sqlx_maria::dev::prelude::dev

    source ·
    Expand description

    useful imports for supporting a new database

    -

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this -trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure

    Attribute Macros

    \ No newline at end of file +db_sqlx_maria::dev::prelude::dev - Rust +

    Module db_sqlx_maria::dev::prelude::dev

    Expand description

    useful imports for supporting a new database

    +

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this +trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure

    Attribute Macros

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.AddNotification.html b/db_sqlx_maria/dev/prelude/dev/struct.AddNotification.html index e2cc5723..14e38cf5 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.AddNotification.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.AddNotification.html @@ -1,39 +1,40 @@ -AddNotification in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct AddNotification<'a> {
    -    pub to: &'a str,
    -    pub from: &'a str,
    -    pub heading: &'a str,
    -    pub message: &'a str,
    +AddNotification in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct AddNotification<'a> {
    +    pub to: &'a str,
    +    pub from: &'a str,
    +    pub heading: &'a str,
    +    pub message: &'a str,
     }
    Expand description

    Data required to add notification

    -

    Fields§

    §to: &'a str

    who is the notification addressed to?

    -
    §from: &'a str

    notification sender

    -
    §heading: &'a str

    heading of the notification

    -
    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

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

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where - 'de: 'a,

    Fields§

    §to: &'a str

    who is the notification addressed to?

    +
    §from: &'a str

    notification sender

    +
    §heading: &'a str

    heading of the notification

    +
    §message: &'a str

    message of the notification

    +

    Trait Implementations§

    §

    impl<'a> Clone for AddNotification<'a>

    §

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for AddNotification<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for AddNotification<'a>

    §

    fn default() -> AddNotification<'a>

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

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( +) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for AddNotification<'a>

    §

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html b/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html index 151b72ea..7fb4e31d 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html @@ -1,38 +1,39 @@ -Captcha in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Captcha {
    -    pub config_id: i32,
    -    pub duration: i32,
    -    pub description: String,
    -    pub key: String,
    +Captcha in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct Captcha {
    +    pub config_id: i32,
    +    pub duration: i32,
    +    pub description: String,
    +    pub key: String,
     }
    Expand description

    Data representing a captcha

    -

    Fields§

    §config_id: i32

    Database assigned ID

    -
    §duration: i32

    cool down duration

    -
    §description: String

    description of the captcha

    -
    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

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

    impl<'de> Deserialize<'de> for Captcha

    Fields§

    §config_id: i32

    Database assigned ID

    +
    §duration: i32

    cool down duration

    +
    §description: String

    description of the captcha

    +
    §key: String

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

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

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( +) -> Result<Captcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html index c06d9a6f..80ad082d 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html @@ -1,37 +1,38 @@ -CreateCaptcha in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct CreateCaptcha<'a> {
    -    pub duration: i32,
    -    pub description: &'a str,
    -    pub key: &'a str,
    +CreateCaptcha in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct CreateCaptcha<'a> {
    +    pub duration: i32,
    +    pub description: &'a str,
    +    pub key: &'a str,
     }
    Expand description

    data required to create new captcha

    -

    Fields§

    §duration: i32

    cool down duration

    -
    §description: &'a str

    description of the captcha

    -
    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

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

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    Fields§

    §duration: i32

    cool down duration

    +
    §description: &'a str

    description of the captcha

    +
    §key: &'a str

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

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

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( +) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.CreatePerformanceAnalytics.html b/db_sqlx_maria/dev/prelude/dev/struct.CreatePerformanceAnalytics.html index 868874d1..fbe9b770 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.CreatePerformanceAnalytics.html @@ -1,36 +1,37 @@ -CreatePerformanceAnalytics in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct CreatePerformanceAnalytics {
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +CreatePerformanceAnalytics in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct CreatePerformanceAnalytics {
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Log Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

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

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    Fields§

    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

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

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.EasyCaptcha.html b/db_sqlx_maria/dev/prelude/dev/struct.EasyCaptcha.html index ca146a81..5f5e2f73 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.EasyCaptcha.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.EasyCaptcha.html @@ -1,38 +1,39 @@ -EasyCaptcha in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct EasyCaptcha {
    +EasyCaptcha in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct EasyCaptcha {
         pub traffic_pattern: TrafficPattern,
    -    pub key: String,
    -    pub description: String,
    -    pub username: String,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
     }
    Expand description

    Represents Easy captcha configuration

    -

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    -
    §key: String

    captcha key/sitekey

    -
    §description: String

    captcha description

    -
    §username: String

    Owner of the captcha configuration

    -

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

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

    impl<'de> Deserialize<'de> for EasyCaptcha

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    §

    impl Clone for EasyCaptcha

    §

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for EasyCaptcha

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for EasyCaptcha

    §

    fn default() -> EasyCaptcha

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

    impl<'de> Deserialize<'de> for EasyCaptcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for EasyCaptcha

    §

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for EasyCaptcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Level.html b/db_sqlx_maria/dev/prelude/dev/struct.Level.html index c788d7d1..31ad75ec 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Level.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Level.html @@ -1,32 +1,33 @@ -Level in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Level {
    -    pub visitor_threshold: u32,
    -    pub difficulty_factor: u32,
    +Level in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct Level {
    +    pub visitor_threshold: u32,
    +    pub difficulty_factor: u32,
     }
    Expand description

    Level struct that describes threshold-difficulty factor mapping

    -

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( +

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Level, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +) -> Result<Level, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Level

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html b/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html index 8f5390c2..b74c28ad 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html @@ -1,34 +1,35 @@ -NameHash in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct NameHash {
    -    pub username: String,
    -    pub hash: String,
    +NameHash in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct NameHash {
    +    pub username: String,
    +    pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    -

    Fields§

    §username: String

    username

    -
    §hash: String

    hashed password

    -

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    Fields§

    §username: String

    username

    +
    §hash: String

    hashed password

    +

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( +) -> Result<NameHash, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Notification.html b/db_sqlx_maria/dev/prelude/dev/struct.Notification.html index 67a82cfe..3c4d768d 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Notification.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Notification.html @@ -1,40 +1,41 @@ -Notification in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Notification {
    -    pub name: Option<String>,
    -    pub heading: Option<String>,
    -    pub message: Option<String>,
    -    pub received: Option<i64>,
    -    pub id: Option<i32>,
    +Notification in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct Notification {
    +    pub name: Option<String>,
    +    pub heading: Option<String>,
    +    pub message: Option<String>,
    +    pub received: Option<i64>,
    +    pub id: Option<i32>,
     }
    Expand description

    Represents notification

    -

    Fields§

    §name: Option<String>

    receiver name of the notification

    -
    §heading: Option<String>

    heading of the notification

    -
    §message: Option<String>

    message of the notification

    -
    §received: Option<i64>

    when notification was received

    -
    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

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

    impl<'de> Deserialize<'de> for Notification

    Fields§

    §name: Option<String>

    receiver name of the notification

    +
    §heading: Option<String>

    heading of the notification

    +
    §message: Option<String>

    message of the notification

    +
    §received: Option<i64>

    when notification was received

    +
    §id: Option<i32>

    db assigned ID of the notification

    +

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

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

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( +) -> Result<Notification, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.PerformanceAnalytics.html b/db_sqlx_maria/dev/prelude/dev/struct.PerformanceAnalytics.html index 53640a20..fbc32d5e 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.PerformanceAnalytics.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.PerformanceAnalytics.html @@ -1,38 +1,39 @@ -PerformanceAnalytics in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct PerformanceAnalytics {
    -    pub id: usize,
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +PerformanceAnalytics in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct PerformanceAnalytics {
    +    pub id: usize,
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §id: usize

    log ID

    -
    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

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

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    Fields§

    §id: usize

    log ID

    +
    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

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

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Register.html b/db_sqlx_maria/dev/prelude/dev/struct.Register.html index 30c13701..2e959cd2 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Register.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Register.html @@ -1,39 +1,40 @@ -Register in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Register<'a> {
    -    pub username: &'a str,
    -    pub secret: &'a str,
    -    pub hash: &'a str,
    -    pub email: Option<&'a str>,
    +Register in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct Register<'a> {
    +    pub username: &'a str,
    +    pub secret: &'a str,
    +    pub hash: &'a str,
    +    pub email: Option<&'a str>,
     }
    Expand description

    Data required to register a new user

    -

    Fields§

    §username: &'a str

    username of new user

    -
    §secret: &'a str

    secret of new user

    -
    §hash: &'a str

    hashed password of new use

    -
    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of new user

    +
    §secret: &'a str

    secret of new user

    +
    §hash: &'a str

    hashed password of new use

    +
    §email: Option<&'a str>

    Optionally, email of new use

    +

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( +) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Secret.html b/db_sqlx_maria/dev/prelude/dev/struct.Secret.html index fe55fcdb..a3a21ba7 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Secret.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Secret.html @@ -1,32 +1,33 @@ -Secret in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Secret {
    -    pub secret: String,
    +Secret in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct Secret {
    +    pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    -

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

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

    impl<'de> Deserialize<'de> for Secret

    Fields§

    §secret: String

    user’s secret

    +

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

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

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( +) -> Result<Secret, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html index 03b55d01..25c3c256 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html @@ -1,36 +1,37 @@ -StatsUnixTimestamp in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct StatsUnixTimestamp {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    +StatsUnixTimestamp in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct StatsUnixTimestamp {
    +    pub config_fetches: Vec<i64>,
    +    pub solves: Vec<i64>,
    +    pub confirms: Vec<i64>,
     }
    Expand description

    Captcha statistics with time recorded in UNIX epoch formats

    -

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    -
    §solves: Vec<i64>

    times at which the PoW was solved

    -
    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

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

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    +
    §solves: Vec<i64>

    times at which the PoW was solved

    +
    §confirms: Vec<i64>

    times at which the PoW token was verified

    +

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

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

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( +) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html b/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html index e18c55f1..3911e4cb 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html @@ -1,36 +1,37 @@ -TrafficPattern in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct TrafficPattern {
    -    pub avg_traffic: u32,
    -    pub peak_sustainable_traffic: u32,
    -    pub broke_my_site_traffic: Option<u32>,
    +TrafficPattern in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct TrafficPattern {
    +    pub avg_traffic: u32,
    +    pub peak_sustainable_traffic: u32,
    +    pub broke_my_site_traffic: Option<u32>,
     }
    Expand description

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

    -

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    -
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    -
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

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

    impl<'de> Deserialize<'de> for TrafficPattern

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    +
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    +
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    +

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

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

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( +) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html b/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html index e6508f68..2a0f882d 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html @@ -1,35 +1,36 @@ -UpdateEmail in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct UpdateEmail<'a> {
    -    pub username: &'a str,
    -    pub new_email: &'a str,
    +UpdateEmail in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub struct UpdateEmail<'a> {
    +    pub username: &'a str,
    +    pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    -

    Fields§

    §username: &'a str

    username of the user

    -
    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of the user

    +
    §new_email: &'a str

    new email address of the user

    +

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( +) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html index 4ffd628e..ff6333c1 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html @@ -1,7 +1,8 @@ -CloneSPDatabase in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub trait CloneSPDatabase {
         // Required method
    -    fn clone_db(&self) -> Box<dyn MCDatabase>;
    +    fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    \ No newline at end of file +

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    §

    impl<T> CloneSPDatabase for T
    where + T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.Connect.html b/db_sqlx_maria/dev/prelude/dev/trait.Connect.html index c1b4dfd3..013e547c 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.Connect.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait Connect {
    +Connect in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
         fn connect<'async_trait>(
             self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    source

    fn connect<'async_trait>( +

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type +) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>

    where + Self: 'async_trait,

    database specific error-type create connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html b/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html index f5543e4d..0e3c8697 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html @@ -1,2 +1,3 @@ -DBOps in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

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

    -

    Implementors§

    \ No newline at end of file +DBOps in db_sqlx_maria::dev::prelude::dev - Rust +
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

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

    +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html b/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html index 15fffad0..83cbb31b 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html @@ -1,18 +1,19 @@ -GetConnection in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub trait GetConnection {
         type Conn;
     
         // Required method
         fn get_conn<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    source

    type Conn

    database connection type

    -

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    type Conn

    database connection type

    +

    Required Methods§

    fn get_conn<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type get connection from connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html b/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html index 79f4ea4f..9d94228a 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html @@ -1,138 +1,139 @@ -MCDatabase in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +MCDatabase in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
     
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + email: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> - ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + current: &'life1 str, + new: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + secret: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> + username: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -140,10 +141,10 @@ Self: 'async_trait; fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -151,53 +152,53 @@ Self: 'async_trait; fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -205,25 +206,25 @@ Self: 'async_trait; fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -231,552 +232,552 @@ fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + id: i32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + psuedo_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> + page: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 - ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32 + ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 - ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> + duration: u32 + ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 - ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> + duration: u32, + location: u32 + ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; // Provided method fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait { ... }
    }
    Expand description

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

    -

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    fn ping<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    ping DB

    -
    source

    fn register<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    ping DB

    +

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    register a new user

    -
    source

    fn delete_user<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    register a new user

    +

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    delete a user

    -
    source

    fn username_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    delete a user

    +

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if username exists

    -
    source

    fn get_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if username exists

    +

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get user email

    -
    source

    fn email_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get user email

    +

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + email: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if email exists

    -
    source

    fn update_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if email exists

    +

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update a user’s email

    -
    source

    fn get_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update a user’s email

    +

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> -) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s password

    -
    source

    fn update_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s password

    +

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update user’s password

    -
    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update user’s password

    +

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + current: &'life1 str, + new: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update username

    -
    source

    fn get_secret<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update username

    +

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret

    -
    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s secret

    +

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret from a captcha key

    -
    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    get a user’s secret from a captcha key

    +

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + secret: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update a user’s secret

    -
    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update a user’s secret

    +

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    create new captcha

    -
    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    create new captcha

    +

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha config

    -
    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha config

    +

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get all captchas belonging to user

    -
    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all captchas belonging to user

    +

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -
    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    +

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -
    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha key; doesn’t change metadata

    +

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add levels to captcha

    -
    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add levels to captcha

    +

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    check if captcha exists

    -
    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    check if captcha exists

    +

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete all levels of a captcha

    -
    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete all levels of a captcha

    +

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete captcha

    -
    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete captcha

    +

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha levels

    -
    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha levels

    +

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get captcha’s cooldown period

    -
    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    Get captcha’s cooldown period

    +

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add traffic configuration

    -
    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add traffic configuration

    +

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get traffic configuration

    -
    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + Self: 'async_trait,

    Get traffic configuration

    +

    fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all easy captcha configurations on instance

    -
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete traffic configuration

    -
    source

    fn create_notification<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Delete traffic configuration

    +

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    create new notification

    -
    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    create new notification

    +

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get all unread notifications

    -
    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get all unread notifications

    +

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + id: i32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    mark a notification read

    -
    source

    fn record_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    mark a notification read

    +

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig fetches

    -
    source

    fn record_solve<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig fetches

    +

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig solves

    -
    source

    fn record_confirm<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig solves

    +

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig confirms

    -
    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    record PoWConfig confirms

    +

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig fetches

    -
    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig fetches

    +

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig solves

    -
    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig solves

    +

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig confirms

    -
    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig confirms

    +

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    record PoW timing

    -
    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoW timing

    +

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    fetch PoW analytics

    -
    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    fetch PoW analytics

    +

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -
    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    +

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get psuedo ID from campaign ID

    -
    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get psuedo ID from campaign ID

    +

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + psuedo_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get campaign ID from psuedo ID

    -
    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get campaign ID from psuedo ID

    +

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Delete all records for campaign

    -
    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( + Self: 'async_trait,

    Delete all records for campaign

    +

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where + page: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all psuedo IDs

    -
    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get all psuedo IDs

    +

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -
    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Track maximum nonce received against captcha levels

    +

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 -) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32 +) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -
    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( + Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    +

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 -) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where + duration: u32 +) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -
    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( + Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    +

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 -) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>where + duration: u32, + location: u32 +) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit + Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file + Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    +

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html b/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html index 759d3126..4674f6c1 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html @@ -1,15 +1,16 @@ -Migrate in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_maria::dev::prelude::dev - Rust
    +    
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type run migrations

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html b/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html index 27c5fb2c..b64efd92 100644 --- a/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html @@ -1,2 +1,3 @@ -BoxDynError in db_sqlx_maria::dev::prelude::dev - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    -

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file +BoxDynError in db_sqlx_maria::dev::prelude::dev - Rust +
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/type.DBResult.html b/db_sqlx_maria/dev/prelude/dev/type.DBResult.html index 5603defc..f8e77c35 100644 --- a/db_sqlx_maria/dev/prelude/dev/type.DBResult.html +++ b/db_sqlx_maria/dev/prelude/dev/type.DBResult.html @@ -1,7 +1,8 @@ -DBResult in db_sqlx_maria::dev::prelude::dev - Rust

    Type Alias db_sqlx_maria::dev::prelude::dev::DBResult

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

    Generic result data structure

    -

    Aliased Type§

    enum DBResult<V> {
    +DBResult in db_sqlx_maria::dev::prelude::dev - Rust
    +    

    Type Alias db_sqlx_maria::dev::prelude::dev::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(DBError)

    Contains the error value

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/enum.DBError.html b/db_sqlx_maria/dev/prelude/enum.DBError.html index 665ead29..f5beded3 100644 --- a/db_sqlx_maria/dev/prelude/enum.DBError.html +++ b/db_sqlx_maria/dev/prelude/enum.DBError.html @@ -1,5 +1,6 @@ -DBError in db_sqlx_maria::dev::prelude - Rust
    pub enum DBError {
    -    DBError(Box<dyn Error + Send + Sync>),
    +DBError in db_sqlx_maria::dev::prelude - Rust
    +    
    pub enum DBError {
    +    DBError(Box<dyn Error + Send + Sync>),
         UsernameTaken,
         EmailTaken,
         SecretTaken,
    @@ -9,7 +10,7 @@
         TrafficPatternNotFound,
         NotificationNotFound,
     }
    Expand description

    Error data structure grouping various error subtypes

    -

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    +

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    §

    UsernameTaken

    Username is taken

    §

    EmailTaken

    Email is taken

    §

    SecretTaken

    Secret is taken

    @@ -18,21 +19,21 @@
    §

    CaptchaNotFound

    Captcha not found

    §

    TrafficPatternNotFound

    Traffic pattern not found

    §

    NotificationNotFound

    Notification not found

    -

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    §

    impl Debug for DBError

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

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

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/enum.Login.html b/db_sqlx_maria/dev/prelude/enum.Login.html index 4d0ef58d..e9942967 100644 --- a/db_sqlx_maria/dev/prelude/enum.Login.html +++ b/db_sqlx_maria/dev/prelude/enum.Login.html @@ -1,35 +1,36 @@ -Login in db_sqlx_maria::dev::prelude - Rust
    pub enum Login<'a> {
    -    Username(&'a str),
    -    Email(&'a str),
    +Login in db_sqlx_maria::dev::prelude - Rust
    +    
    pub enum Login<'a> {
    +    Username(&'a str),
    +    Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    -

    Variants§

    §

    Username(&'a str)

    username as login

    -
    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    Variants§

    §

    Username(&'a str)

    username as login

    +
    §

    Email(&'a str)

    email as login

    +

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( +) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/index.html b/db_sqlx_maria/dev/prelude/index.html index 83f21770..bd06e3c2 100644 --- a/db_sqlx_maria/dev/prelude/index.html +++ b/db_sqlx_maria/dev/prelude/index.html @@ -1,3 +1,4 @@ -db_sqlx_maria::dev::prelude - Rust

    Module db_sqlx_maria::dev::prelude

    source ·
    Expand description

    useful imports for users working with a supported database

    -

    Modules

    • useful imports for supporting a new database

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this -trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file +db_sqlx_maria::dev::prelude - Rust +

    Module db_sqlx_maria::dev::prelude

    Expand description

    useful imports for users working with a supported database

    +

    Modules

    • useful imports for supporting a new database

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this +trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.AddNotification.html b/db_sqlx_maria/dev/prelude/struct.AddNotification.html index 78651f8a..df8abf68 100644 --- a/db_sqlx_maria/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_maria/dev/prelude/struct.AddNotification.html @@ -1,39 +1,40 @@ -AddNotification in db_sqlx_maria::dev::prelude - Rust
    pub struct AddNotification<'a> {
    -    pub to: &'a str,
    -    pub from: &'a str,
    -    pub heading: &'a str,
    -    pub message: &'a str,
    +AddNotification in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct AddNotification<'a> {
    +    pub to: &'a str,
    +    pub from: &'a str,
    +    pub heading: &'a str,
    +    pub message: &'a str,
     }
    Expand description

    Data required to add notification

    -

    Fields§

    §to: &'a str

    who is the notification addressed to?

    -
    §from: &'a str

    notification sender

    -
    §heading: &'a str

    heading of the notification

    -
    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

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

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where - 'de: 'a,

    Fields§

    §to: &'a str

    who is the notification addressed to?

    +
    §from: &'a str

    notification sender

    +
    §heading: &'a str

    heading of the notification

    +
    §message: &'a str

    message of the notification

    +

    Trait Implementations§

    §

    impl<'a> Clone for AddNotification<'a>

    §

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for AddNotification<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for AddNotification<'a>

    §

    fn default() -> AddNotification<'a>

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

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( +) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for AddNotification<'a>

    §

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Captcha.html b/db_sqlx_maria/dev/prelude/struct.Captcha.html index beefc703..df0e16da 100644 --- a/db_sqlx_maria/dev/prelude/struct.Captcha.html +++ b/db_sqlx_maria/dev/prelude/struct.Captcha.html @@ -1,38 +1,39 @@ -Captcha in db_sqlx_maria::dev::prelude - Rust
    pub struct Captcha {
    -    pub config_id: i32,
    -    pub duration: i32,
    -    pub description: String,
    -    pub key: String,
    +Captcha in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct Captcha {
    +    pub config_id: i32,
    +    pub duration: i32,
    +    pub description: String,
    +    pub key: String,
     }
    Expand description

    Data representing a captcha

    -

    Fields§

    §config_id: i32

    Database assigned ID

    -
    §duration: i32

    cool down duration

    -
    §description: String

    description of the captcha

    -
    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

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

    impl<'de> Deserialize<'de> for Captcha

    Fields§

    §config_id: i32

    Database assigned ID

    +
    §duration: i32

    cool down duration

    +
    §description: String

    description of the captcha

    +
    §key: String

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

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

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( +) -> Result<Captcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html index c2e307eb..1b2673dd 100644 --- a/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html @@ -1,37 +1,38 @@ -CreateCaptcha in db_sqlx_maria::dev::prelude - Rust
    pub struct CreateCaptcha<'a> {
    -    pub duration: i32,
    -    pub description: &'a str,
    -    pub key: &'a str,
    +CreateCaptcha in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct CreateCaptcha<'a> {
    +    pub duration: i32,
    +    pub description: &'a str,
    +    pub key: &'a str,
     }
    Expand description

    data required to create new captcha

    -

    Fields§

    §duration: i32

    cool down duration

    -
    §description: &'a str

    description of the captcha

    -
    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

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

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    Fields§

    §duration: i32

    cool down duration

    +
    §description: &'a str

    description of the captcha

    +
    §key: &'a str

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

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

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( +) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.CreatePerformanceAnalytics.html b/db_sqlx_maria/dev/prelude/struct.CreatePerformanceAnalytics.html index 49780479..cf518a1e 100644 --- a/db_sqlx_maria/dev/prelude/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_maria/dev/prelude/struct.CreatePerformanceAnalytics.html @@ -1,36 +1,37 @@ -CreatePerformanceAnalytics in db_sqlx_maria::dev::prelude - Rust
    pub struct CreatePerformanceAnalytics {
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +CreatePerformanceAnalytics in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct CreatePerformanceAnalytics {
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Log Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

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

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    Fields§

    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

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

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.EasyCaptcha.html b/db_sqlx_maria/dev/prelude/struct.EasyCaptcha.html index cb05f120..35db61e3 100644 --- a/db_sqlx_maria/dev/prelude/struct.EasyCaptcha.html +++ b/db_sqlx_maria/dev/prelude/struct.EasyCaptcha.html @@ -1,38 +1,39 @@ -EasyCaptcha in db_sqlx_maria::dev::prelude - Rust
    pub struct EasyCaptcha {
    +EasyCaptcha in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct EasyCaptcha {
         pub traffic_pattern: TrafficPattern,
    -    pub key: String,
    -    pub description: String,
    -    pub username: String,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
     }
    Expand description

    Represents Easy captcha configuration

    -

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    -
    §key: String

    captcha key/sitekey

    -
    §description: String

    captcha description

    -
    §username: String

    Owner of the captcha configuration

    -

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

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

    impl<'de> Deserialize<'de> for EasyCaptcha

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    §

    impl Clone for EasyCaptcha

    §

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for EasyCaptcha

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for EasyCaptcha

    §

    fn default() -> EasyCaptcha

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

    impl<'de> Deserialize<'de> for EasyCaptcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for EasyCaptcha

    §

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for EasyCaptcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Level.html b/db_sqlx_maria/dev/prelude/struct.Level.html index 47526fe7..9e0b4d7f 100644 --- a/db_sqlx_maria/dev/prelude/struct.Level.html +++ b/db_sqlx_maria/dev/prelude/struct.Level.html @@ -1,32 +1,33 @@ -Level in db_sqlx_maria::dev::prelude - Rust
    pub struct Level {
    -    pub visitor_threshold: u32,
    -    pub difficulty_factor: u32,
    +Level in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct Level {
    +    pub visitor_threshold: u32,
    +    pub difficulty_factor: u32,
     }
    Expand description

    Level struct that describes threshold-difficulty factor mapping

    -

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( +

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Level, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +) -> Result<Level, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Level

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.NameHash.html b/db_sqlx_maria/dev/prelude/struct.NameHash.html index c81af9e1..1135eb8c 100644 --- a/db_sqlx_maria/dev/prelude/struct.NameHash.html +++ b/db_sqlx_maria/dev/prelude/struct.NameHash.html @@ -1,34 +1,35 @@ -NameHash in db_sqlx_maria::dev::prelude - Rust
    pub struct NameHash {
    -    pub username: String,
    -    pub hash: String,
    +NameHash in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct NameHash {
    +    pub username: String,
    +    pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    -

    Fields§

    §username: String

    username

    -
    §hash: String

    hashed password

    -

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    Fields§

    §username: String

    username

    +
    §hash: String

    hashed password

    +

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( +) -> Result<NameHash, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Notification.html b/db_sqlx_maria/dev/prelude/struct.Notification.html index ba48ad71..44215fc1 100644 --- a/db_sqlx_maria/dev/prelude/struct.Notification.html +++ b/db_sqlx_maria/dev/prelude/struct.Notification.html @@ -1,40 +1,41 @@ -Notification in db_sqlx_maria::dev::prelude - Rust
    pub struct Notification {
    -    pub name: Option<String>,
    -    pub heading: Option<String>,
    -    pub message: Option<String>,
    -    pub received: Option<i64>,
    -    pub id: Option<i32>,
    +Notification in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct Notification {
    +    pub name: Option<String>,
    +    pub heading: Option<String>,
    +    pub message: Option<String>,
    +    pub received: Option<i64>,
    +    pub id: Option<i32>,
     }
    Expand description

    Represents notification

    -

    Fields§

    §name: Option<String>

    receiver name of the notification

    -
    §heading: Option<String>

    heading of the notification

    -
    §message: Option<String>

    message of the notification

    -
    §received: Option<i64>

    when notification was received

    -
    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

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

    impl<'de> Deserialize<'de> for Notification

    Fields§

    §name: Option<String>

    receiver name of the notification

    +
    §heading: Option<String>

    heading of the notification

    +
    §message: Option<String>

    message of the notification

    +
    §received: Option<i64>

    when notification was received

    +
    §id: Option<i32>

    db assigned ID of the notification

    +

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

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

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( +) -> Result<Notification, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.PerformanceAnalytics.html b/db_sqlx_maria/dev/prelude/struct.PerformanceAnalytics.html index 9a0581cb..f1628ca8 100644 --- a/db_sqlx_maria/dev/prelude/struct.PerformanceAnalytics.html +++ b/db_sqlx_maria/dev/prelude/struct.PerformanceAnalytics.html @@ -1,38 +1,39 @@ -PerformanceAnalytics in db_sqlx_maria::dev::prelude - Rust
    pub struct PerformanceAnalytics {
    -    pub id: usize,
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +PerformanceAnalytics in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct PerformanceAnalytics {
    +    pub id: usize,
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §id: usize

    log ID

    -
    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

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

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    Fields§

    §id: usize

    log ID

    +
    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

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

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Register.html b/db_sqlx_maria/dev/prelude/struct.Register.html index f6dc3e94..3cbc0dd1 100644 --- a/db_sqlx_maria/dev/prelude/struct.Register.html +++ b/db_sqlx_maria/dev/prelude/struct.Register.html @@ -1,39 +1,40 @@ -Register in db_sqlx_maria::dev::prelude - Rust
    pub struct Register<'a> {
    -    pub username: &'a str,
    -    pub secret: &'a str,
    -    pub hash: &'a str,
    -    pub email: Option<&'a str>,
    +Register in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct Register<'a> {
    +    pub username: &'a str,
    +    pub secret: &'a str,
    +    pub hash: &'a str,
    +    pub email: Option<&'a str>,
     }
    Expand description

    Data required to register a new user

    -

    Fields§

    §username: &'a str

    username of new user

    -
    §secret: &'a str

    secret of new user

    -
    §hash: &'a str

    hashed password of new use

    -
    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of new user

    +
    §secret: &'a str

    secret of new user

    +
    §hash: &'a str

    hashed password of new use

    +
    §email: Option<&'a str>

    Optionally, email of new use

    +

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( +) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Secret.html b/db_sqlx_maria/dev/prelude/struct.Secret.html index 17a4aaf0..cc9ad057 100644 --- a/db_sqlx_maria/dev/prelude/struct.Secret.html +++ b/db_sqlx_maria/dev/prelude/struct.Secret.html @@ -1,32 +1,33 @@ -Secret in db_sqlx_maria::dev::prelude - Rust
    pub struct Secret {
    -    pub secret: String,
    +Secret in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct Secret {
    +    pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    -

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

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

    impl<'de> Deserialize<'de> for Secret

    Fields§

    §secret: String

    user’s secret

    +

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

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

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( +) -> Result<Secret, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html index d77b2cdb..9ae226b3 100644 --- a/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,36 +1,37 @@ -StatsUnixTimestamp in db_sqlx_maria::dev::prelude - Rust
    pub struct StatsUnixTimestamp {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    +StatsUnixTimestamp in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct StatsUnixTimestamp {
    +    pub config_fetches: Vec<i64>,
    +    pub solves: Vec<i64>,
    +    pub confirms: Vec<i64>,
     }
    Expand description

    Captcha statistics with time recorded in UNIX epoch formats

    -

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    -
    §solves: Vec<i64>

    times at which the PoW was solved

    -
    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

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

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    +
    §solves: Vec<i64>

    times at which the PoW was solved

    +
    §confirms: Vec<i64>

    times at which the PoW token was verified

    +

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

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

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( +) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html b/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html index e1806d5a..b6db2982 100644 --- a/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html @@ -1,36 +1,37 @@ -TrafficPattern in db_sqlx_maria::dev::prelude - Rust
    pub struct TrafficPattern {
    -    pub avg_traffic: u32,
    -    pub peak_sustainable_traffic: u32,
    -    pub broke_my_site_traffic: Option<u32>,
    +TrafficPattern in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct TrafficPattern {
    +    pub avg_traffic: u32,
    +    pub peak_sustainable_traffic: u32,
    +    pub broke_my_site_traffic: Option<u32>,
     }
    Expand description

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

    -

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    -
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    -
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

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

    impl<'de> Deserialize<'de> for TrafficPattern

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    +
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    +
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    +

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

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

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( +) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html b/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html index fab1d002..f18aca40 100644 --- a/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html @@ -1,35 +1,36 @@ -UpdateEmail in db_sqlx_maria::dev::prelude - Rust
    pub struct UpdateEmail<'a> {
    -    pub username: &'a str,
    -    pub new_email: &'a str,
    +UpdateEmail in db_sqlx_maria::dev::prelude - Rust
    +    
    pub struct UpdateEmail<'a> {
    +    pub username: &'a str,
    +    pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    -

    Fields§

    §username: &'a str

    username of the user

    -
    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of the user

    +
    §new_email: &'a str

    new email address of the user

    +

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( +) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html index d63de778..00a8ca36 100644 --- a/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html @@ -1,7 +1,8 @@ -CloneSPDatabase in db_sqlx_maria::dev::prelude - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_maria::dev::prelude - Rust
    +    
    pub trait CloneSPDatabase {
         // Required method
    -    fn clone_db(&self) -> Box<dyn MCDatabase>;
    +    fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    \ No newline at end of file +

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    §

    impl<T> CloneSPDatabase for T
    where + T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.Connect.html b/db_sqlx_maria/dev/prelude/trait.Connect.html index abc683ec..3ceef18b 100644 --- a/db_sqlx_maria/dev/prelude/trait.Connect.html +++ b/db_sqlx_maria/dev/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev::prelude - Rust
    pub trait Connect {
    +Connect in db_sqlx_maria::dev::prelude - Rust
    +    
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
         fn connect<'async_trait>(
             self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    source

    fn connect<'async_trait>( +

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type +) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>

    where + Self: 'async_trait,

    database specific error-type create connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.DBOps.html b/db_sqlx_maria/dev/prelude/trait.DBOps.html index 056b4f16..6cc1c46f 100644 --- a/db_sqlx_maria/dev/prelude/trait.DBOps.html +++ b/db_sqlx_maria/dev/prelude/trait.DBOps.html @@ -1,2 +1,3 @@ -DBOps in db_sqlx_maria::dev::prelude - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

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

    -

    Implementors§

    \ No newline at end of file +DBOps in db_sqlx_maria::dev::prelude - Rust +
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

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

    +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.GetConnection.html b/db_sqlx_maria/dev/prelude/trait.GetConnection.html index fbfae24f..fa4055da 100644 --- a/db_sqlx_maria/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_maria/dev/prelude/trait.GetConnection.html @@ -1,18 +1,19 @@ -GetConnection in db_sqlx_maria::dev::prelude - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_maria::dev::prelude - Rust
    +    
    pub trait GetConnection {
         type Conn;
     
         // Required method
         fn get_conn<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    source

    type Conn

    database connection type

    -

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    type Conn

    database connection type

    +

    Required Methods§

    fn get_conn<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type get connection from connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.MCDatabase.html b/db_sqlx_maria/dev/prelude/trait.MCDatabase.html index 30991d3f..2d7c76b4 100644 --- a/db_sqlx_maria/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/prelude/trait.MCDatabase.html @@ -1,138 +1,139 @@ -MCDatabase in db_sqlx_maria::dev::prelude - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +MCDatabase in db_sqlx_maria::dev::prelude - Rust
    +    
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
     
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + email: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> - ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + current: &'life1 str, + new: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + secret: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> + username: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -140,10 +141,10 @@ Self: 'async_trait; fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -151,53 +152,53 @@ Self: 'async_trait; fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -205,25 +206,25 @@ Self: 'async_trait; fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -231,552 +232,552 @@ fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + id: i32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + psuedo_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> + page: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 - ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32 + ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 - ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> + duration: u32 + ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 - ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> + duration: u32, + location: u32 + ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; // Provided method fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait { ... }
    }
    Expand description

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

    -

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    fn ping<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    ping DB

    -
    source

    fn register<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    ping DB

    +

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    register a new user

    -
    source

    fn delete_user<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    register a new user

    +

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    delete a user

    -
    source

    fn username_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    delete a user

    +

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if username exists

    -
    source

    fn get_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if username exists

    +

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get user email

    -
    source

    fn email_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get user email

    +

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + email: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if email exists

    -
    source

    fn update_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if email exists

    +

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update a user’s email

    -
    source

    fn get_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update a user’s email

    +

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> -) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s password

    -
    source

    fn update_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s password

    +

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update user’s password

    -
    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update user’s password

    +

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + current: &'life1 str, + new: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update username

    -
    source

    fn get_secret<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update username

    +

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret

    -
    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s secret

    +

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret from a captcha key

    -
    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    get a user’s secret from a captcha key

    +

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + secret: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update a user’s secret

    -
    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update a user’s secret

    +

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    create new captcha

    -
    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    create new captcha

    +

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha config

    -
    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha config

    +

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get all captchas belonging to user

    -
    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all captchas belonging to user

    +

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -
    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    +

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -
    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha key; doesn’t change metadata

    +

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add levels to captcha

    -
    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add levels to captcha

    +

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    check if captcha exists

    -
    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    check if captcha exists

    +

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete all levels of a captcha

    -
    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete all levels of a captcha

    +

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete captcha

    -
    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete captcha

    +

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha levels

    -
    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha levels

    +

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get captcha’s cooldown period

    -
    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    Get captcha’s cooldown period

    +

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add traffic configuration

    -
    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add traffic configuration

    +

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get traffic configuration

    -
    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + Self: 'async_trait,

    Get traffic configuration

    +

    fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all easy captcha configurations on instance

    -
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete traffic configuration

    -
    source

    fn create_notification<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Delete traffic configuration

    +

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    create new notification

    -
    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    create new notification

    +

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get all unread notifications

    -
    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get all unread notifications

    +

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + id: i32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    mark a notification read

    -
    source

    fn record_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    mark a notification read

    +

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig fetches

    -
    source

    fn record_solve<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig fetches

    +

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig solves

    -
    source

    fn record_confirm<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig solves

    +

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig confirms

    -
    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    record PoWConfig confirms

    +

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig fetches

    -
    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig fetches

    +

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig solves

    -
    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig solves

    +

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig confirms

    -
    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig confirms

    +

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    record PoW timing

    -
    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoW timing

    +

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    fetch PoW analytics

    -
    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    fetch PoW analytics

    +

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -
    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    +

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get psuedo ID from campaign ID

    -
    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get psuedo ID from campaign ID

    +

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + psuedo_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get campaign ID from psuedo ID

    -
    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get campaign ID from psuedo ID

    +

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Delete all records for campaign

    -
    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( + Self: 'async_trait,

    Delete all records for campaign

    +

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where + page: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all psuedo IDs

    -
    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get all psuedo IDs

    +

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -
    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Track maximum nonce received against captcha levels

    +

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 -) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32 +) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -
    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( + Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    +

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 -) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where + duration: u32 +) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -
    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( + Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    +

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 -) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>where + duration: u32, + location: u32 +) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit + Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file + Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    +

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.Migrate.html b/db_sqlx_maria/dev/prelude/trait.Migrate.html index c07c8666..aa18bd5b 100644 --- a/db_sqlx_maria/dev/prelude/trait.Migrate.html +++ b/db_sqlx_maria/dev/prelude/trait.Migrate.html @@ -1,15 +1,16 @@ -Migrate in db_sqlx_maria::dev::prelude - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_maria::dev::prelude - Rust
    +    
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type run migrations

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/type.BoxDynError.html b/db_sqlx_maria/dev/prelude/type.BoxDynError.html index a70d9b1f..38bf02e9 100644 --- a/db_sqlx_maria/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_maria/dev/prelude/type.BoxDynError.html @@ -1,2 +1,3 @@ -BoxDynError in db_sqlx_maria::dev::prelude - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    -

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file +BoxDynError in db_sqlx_maria::dev::prelude - Rust +
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/type.DBResult.html b/db_sqlx_maria/dev/prelude/type.DBResult.html index bcb10cd8..ffa0abdc 100644 --- a/db_sqlx_maria/dev/prelude/type.DBResult.html +++ b/db_sqlx_maria/dev/prelude/type.DBResult.html @@ -1,7 +1,8 @@ -DBResult in db_sqlx_maria::dev::prelude - Rust

    Type Alias db_sqlx_maria::dev::prelude::DBResult

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

    Generic result data structure

    -

    Aliased Type§

    enum DBResult<V> {
    +DBResult in db_sqlx_maria::dev::prelude - Rust
    +    

    Type Alias db_sqlx_maria::dev::prelude::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(DBError)

    Contains the error value

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.AddNotification.html b/db_sqlx_maria/dev/struct.AddNotification.html index 1be060f6..5465429d 100644 --- a/db_sqlx_maria/dev/struct.AddNotification.html +++ b/db_sqlx_maria/dev/struct.AddNotification.html @@ -1,39 +1,40 @@ -AddNotification in db_sqlx_maria::dev - Rust
    pub struct AddNotification<'a> {
    -    pub to: &'a str,
    -    pub from: &'a str,
    -    pub heading: &'a str,
    -    pub message: &'a str,
    +AddNotification in db_sqlx_maria::dev - Rust
    +    
    pub struct AddNotification<'a> {
    +    pub to: &'a str,
    +    pub from: &'a str,
    +    pub heading: &'a str,
    +    pub message: &'a str,
     }
    Expand description

    Data required to add notification

    -

    Fields§

    §to: &'a str

    who is the notification addressed to?

    -
    §from: &'a str

    notification sender

    -
    §heading: &'a str

    heading of the notification

    -
    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

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

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where - 'de: 'a,

    Fields§

    §to: &'a str

    who is the notification addressed to?

    +
    §from: &'a str

    notification sender

    +
    §heading: &'a str

    heading of the notification

    +
    §message: &'a str

    message of the notification

    +

    Trait Implementations§

    §

    impl<'a> Clone for AddNotification<'a>

    §

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for AddNotification<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for AddNotification<'a>

    §

    fn default() -> AddNotification<'a>

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

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( +) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for AddNotification<'a>

    §

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Captcha.html b/db_sqlx_maria/dev/struct.Captcha.html index e5a0658b..cb33c5e0 100644 --- a/db_sqlx_maria/dev/struct.Captcha.html +++ b/db_sqlx_maria/dev/struct.Captcha.html @@ -1,38 +1,39 @@ -Captcha in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Captcha

    source ·
    pub struct Captcha {
    -    pub config_id: i32,
    -    pub duration: i32,
    -    pub description: String,
    -    pub key: String,
    +Captcha in db_sqlx_maria::dev - Rust
    +    

    Struct db_sqlx_maria::dev::Captcha

    pub struct Captcha {
    +    pub config_id: i32,
    +    pub duration: i32,
    +    pub description: String,
    +    pub key: String,
     }
    Expand description

    Data representing a captcha

    -

    Fields§

    §config_id: i32

    Database assigned ID

    -
    §duration: i32

    cool down duration

    -
    §description: String

    description of the captcha

    -
    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

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

    impl<'de> Deserialize<'de> for Captcha

    Fields§

    §config_id: i32

    Database assigned ID

    +
    §duration: i32

    cool down duration

    +
    §description: String

    description of the captcha

    +
    §key: String

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

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

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( +) -> Result<Captcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.CreateCaptcha.html b/db_sqlx_maria/dev/struct.CreateCaptcha.html index 36b24e1e..4d925f9a 100644 --- a/db_sqlx_maria/dev/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/struct.CreateCaptcha.html @@ -1,37 +1,38 @@ -CreateCaptcha in db_sqlx_maria::dev - Rust
    pub struct CreateCaptcha<'a> {
    -    pub duration: i32,
    -    pub description: &'a str,
    -    pub key: &'a str,
    +CreateCaptcha in db_sqlx_maria::dev - Rust
    +    
    pub struct CreateCaptcha<'a> {
    +    pub duration: i32,
    +    pub description: &'a str,
    +    pub key: &'a str,
     }
    Expand description

    data required to create new captcha

    -

    Fields§

    §duration: i32

    cool down duration

    -
    §description: &'a str

    description of the captcha

    -
    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

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

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    Fields§

    §duration: i32

    cool down duration

    +
    §description: &'a str

    description of the captcha

    +
    §key: &'a str

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

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

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( +) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.CreatePerformanceAnalytics.html b/db_sqlx_maria/dev/struct.CreatePerformanceAnalytics.html index 16440ee8..70688583 100644 --- a/db_sqlx_maria/dev/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_maria/dev/struct.CreatePerformanceAnalytics.html @@ -1,36 +1,37 @@ -CreatePerformanceAnalytics in db_sqlx_maria::dev - Rust
    pub struct CreatePerformanceAnalytics {
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +CreatePerformanceAnalytics in db_sqlx_maria::dev - Rust
    +    
    pub struct CreatePerformanceAnalytics {
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Log Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

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

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    Fields§

    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

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

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.EasyCaptcha.html b/db_sqlx_maria/dev/struct.EasyCaptcha.html index eb8a8795..91d2ebdc 100644 --- a/db_sqlx_maria/dev/struct.EasyCaptcha.html +++ b/db_sqlx_maria/dev/struct.EasyCaptcha.html @@ -1,38 +1,39 @@ -EasyCaptcha in db_sqlx_maria::dev - Rust
    pub struct EasyCaptcha {
    +EasyCaptcha in db_sqlx_maria::dev - Rust
    +    
    pub struct EasyCaptcha {
         pub traffic_pattern: TrafficPattern,
    -    pub key: String,
    -    pub description: String,
    -    pub username: String,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
     }
    Expand description

    Represents Easy captcha configuration

    -

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    -
    §key: String

    captcha key/sitekey

    -
    §description: String

    captcha description

    -
    §username: String

    Owner of the captcha configuration

    -

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

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

    impl<'de> Deserialize<'de> for EasyCaptcha

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    §

    impl Clone for EasyCaptcha

    §

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for EasyCaptcha

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for EasyCaptcha

    §

    fn default() -> EasyCaptcha

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

    impl<'de> Deserialize<'de> for EasyCaptcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for EasyCaptcha

    §

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for EasyCaptcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Level.html b/db_sqlx_maria/dev/struct.Level.html index caa3f9bd..6b663315 100644 --- a/db_sqlx_maria/dev/struct.Level.html +++ b/db_sqlx_maria/dev/struct.Level.html @@ -1,32 +1,33 @@ -Level in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Level

    pub struct Level {
    -    pub visitor_threshold: u32,
    -    pub difficulty_factor: u32,
    +Level in db_sqlx_maria::dev - Rust
    +    

    Struct db_sqlx_maria::dev::Level

    pub struct Level {
    +    pub visitor_threshold: u32,
    +    pub difficulty_factor: u32,
     }
    Expand description

    Level struct that describes threshold-difficulty factor mapping

    -

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( +

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Level, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +) -> Result<Level, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Level

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.NameHash.html b/db_sqlx_maria/dev/struct.NameHash.html index fab1366f..3b6a9ed4 100644 --- a/db_sqlx_maria/dev/struct.NameHash.html +++ b/db_sqlx_maria/dev/struct.NameHash.html @@ -1,34 +1,35 @@ -NameHash in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::NameHash

    source ·
    pub struct NameHash {
    -    pub username: String,
    -    pub hash: String,
    +NameHash in db_sqlx_maria::dev - Rust
    +    

    Struct db_sqlx_maria::dev::NameHash

    pub struct NameHash {
    +    pub username: String,
    +    pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    -

    Fields§

    §username: String

    username

    -
    §hash: String

    hashed password

    -

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    Fields§

    §username: String

    username

    +
    §hash: String

    hashed password

    +

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( +) -> Result<NameHash, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Notification.html b/db_sqlx_maria/dev/struct.Notification.html index f788a663..59964b38 100644 --- a/db_sqlx_maria/dev/struct.Notification.html +++ b/db_sqlx_maria/dev/struct.Notification.html @@ -1,40 +1,41 @@ -Notification in db_sqlx_maria::dev - Rust
    pub struct Notification {
    -    pub name: Option<String>,
    -    pub heading: Option<String>,
    -    pub message: Option<String>,
    -    pub received: Option<i64>,
    -    pub id: Option<i32>,
    +Notification in db_sqlx_maria::dev - Rust
    +    
    pub struct Notification {
    +    pub name: Option<String>,
    +    pub heading: Option<String>,
    +    pub message: Option<String>,
    +    pub received: Option<i64>,
    +    pub id: Option<i32>,
     }
    Expand description

    Represents notification

    -

    Fields§

    §name: Option<String>

    receiver name of the notification

    -
    §heading: Option<String>

    heading of the notification

    -
    §message: Option<String>

    message of the notification

    -
    §received: Option<i64>

    when notification was received

    -
    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

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

    impl<'de> Deserialize<'de> for Notification

    Fields§

    §name: Option<String>

    receiver name of the notification

    +
    §heading: Option<String>

    heading of the notification

    +
    §message: Option<String>

    message of the notification

    +
    §received: Option<i64>

    when notification was received

    +
    §id: Option<i32>

    db assigned ID of the notification

    +

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

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

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( +) -> Result<Notification, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.PerformanceAnalytics.html b/db_sqlx_maria/dev/struct.PerformanceAnalytics.html index f52cf618..bc46c0e7 100644 --- a/db_sqlx_maria/dev/struct.PerformanceAnalytics.html +++ b/db_sqlx_maria/dev/struct.PerformanceAnalytics.html @@ -1,38 +1,39 @@ -PerformanceAnalytics in db_sqlx_maria::dev - Rust
    pub struct PerformanceAnalytics {
    -    pub id: usize,
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +PerformanceAnalytics in db_sqlx_maria::dev - Rust
    +    
    pub struct PerformanceAnalytics {
    +    pub id: usize,
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §id: usize

    log ID

    -
    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

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

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    Fields§

    §id: usize

    log ID

    +
    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

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

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Register.html b/db_sqlx_maria/dev/struct.Register.html index b6e82ee7..ec2ca13f 100644 --- a/db_sqlx_maria/dev/struct.Register.html +++ b/db_sqlx_maria/dev/struct.Register.html @@ -1,39 +1,40 @@ -Register in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Register

    source ·
    pub struct Register<'a> {
    -    pub username: &'a str,
    -    pub secret: &'a str,
    -    pub hash: &'a str,
    -    pub email: Option<&'a str>,
    +Register in db_sqlx_maria::dev - Rust
    +    

    Struct db_sqlx_maria::dev::Register

    pub struct Register<'a> {
    +    pub username: &'a str,
    +    pub secret: &'a str,
    +    pub hash: &'a str,
    +    pub email: Option<&'a str>,
     }
    Expand description

    Data required to register a new user

    -

    Fields§

    §username: &'a str

    username of new user

    -
    §secret: &'a str

    secret of new user

    -
    §hash: &'a str

    hashed password of new use

    -
    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of new user

    +
    §secret: &'a str

    secret of new user

    +
    §hash: &'a str

    hashed password of new use

    +
    §email: Option<&'a str>

    Optionally, email of new use

    +

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( +) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Secret.html b/db_sqlx_maria/dev/struct.Secret.html index a606aa69..e2eb70e4 100644 --- a/db_sqlx_maria/dev/struct.Secret.html +++ b/db_sqlx_maria/dev/struct.Secret.html @@ -1,32 +1,33 @@ -Secret in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Secret

    source ·
    pub struct Secret {
    -    pub secret: String,
    +Secret in db_sqlx_maria::dev - Rust
    +    

    Struct db_sqlx_maria::dev::Secret

    pub struct Secret {
    +    pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    -

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

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

    impl<'de> Deserialize<'de> for Secret

    Fields§

    §secret: String

    user’s secret

    +

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

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

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( +) -> Result<Secret, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

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

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html index fb3ceeb3..cf043065 100644 --- a/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html @@ -1,36 +1,37 @@ -StatsUnixTimestamp in db_sqlx_maria::dev - Rust
    pub struct StatsUnixTimestamp {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    +StatsUnixTimestamp in db_sqlx_maria::dev - Rust
    +    
    pub struct StatsUnixTimestamp {
    +    pub config_fetches: Vec<i64>,
    +    pub solves: Vec<i64>,
    +    pub confirms: Vec<i64>,
     }
    Expand description

    Captcha statistics with time recorded in UNIX epoch formats

    -

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    -
    §solves: Vec<i64>

    times at which the PoW was solved

    -
    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

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

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    +
    §solves: Vec<i64>

    times at which the PoW was solved

    +
    §confirms: Vec<i64>

    times at which the PoW token was verified

    +

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

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

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( +) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

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

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

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

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.TrafficPattern.html b/db_sqlx_maria/dev/struct.TrafficPattern.html index 255a7d2a..e6453a5b 100644 --- a/db_sqlx_maria/dev/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/struct.TrafficPattern.html @@ -1,36 +1,37 @@ -TrafficPattern in db_sqlx_maria::dev - Rust
    pub struct TrafficPattern {
    -    pub avg_traffic: u32,
    -    pub peak_sustainable_traffic: u32,
    -    pub broke_my_site_traffic: Option<u32>,
    +TrafficPattern in db_sqlx_maria::dev - Rust
    +    
    pub struct TrafficPattern {
    +    pub avg_traffic: u32,
    +    pub peak_sustainable_traffic: u32,
    +    pub broke_my_site_traffic: Option<u32>,
     }
    Expand description

    User’s traffic pattern; used in generating a captcha configuration

    -

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    -
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    -
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    +
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    +
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    +

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( +) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.UpdateEmail.html b/db_sqlx_maria/dev/struct.UpdateEmail.html index b1be96e4..eef588c5 100644 --- a/db_sqlx_maria/dev/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/struct.UpdateEmail.html @@ -1,35 +1,36 @@ -UpdateEmail in db_sqlx_maria::dev - Rust
    pub struct UpdateEmail<'a> {
    -    pub username: &'a str,
    -    pub new_email: &'a str,
    +UpdateEmail in db_sqlx_maria::dev - Rust
    +    
    pub struct UpdateEmail<'a> {
    +    pub username: &'a str,
    +    pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    -

    Fields§

    §username: &'a str

    username of the user

    -
    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of the user

    +
    §new_email: &'a str

    new email address of the user

    +

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( +) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/tests/constant.LEVELS.html b/db_sqlx_maria/dev/tests/constant.LEVELS.html index 53223957..bdb31509 100644 --- a/db_sqlx_maria/dev/tests/constant.LEVELS.html +++ b/db_sqlx_maria/dev/tests/constant.LEVELS.html @@ -1,2 +1,3 @@ -LEVELS in db_sqlx_maria::dev::tests - Rust

    Constant db_sqlx_maria::dev::tests::LEVELS

    source ·
    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    +LEVELS in db_sqlx_maria::dev::tests - Rust +

    Constant db_sqlx_maria::dev::tests::LEVELS

    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/tests/constant.TRAFFIC_PATTERN.html b/db_sqlx_maria/dev/tests/constant.TRAFFIC_PATTERN.html index 73503928..1e8f44e7 100644 --- a/db_sqlx_maria/dev/tests/constant.TRAFFIC_PATTERN.html +++ b/db_sqlx_maria/dev/tests/constant.TRAFFIC_PATTERN.html @@ -1,2 +1,3 @@ -TRAFFIC_PATTERN in db_sqlx_maria::dev::tests - Rust
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    +TRAFFIC_PATTERN in db_sqlx_maria::dev::tests - Rust +
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/tests/fn.database_works.html b/db_sqlx_maria/dev/tests/fn.database_works.html index a632167b..8e2b2c06 100644 --- a/db_sqlx_maria/dev/tests/fn.database_works.html +++ b/db_sqlx_maria/dev/tests/fn.database_works.html @@ -1,10 +1,11 @@ -database_works in db_sqlx_maria::dev::tests - Rust
    pub async fn database_works<T, 'a>(
    -    db: &T,
    +database_works in db_sqlx_maria::dev::tests - Rust
    +    
    pub async fn database_works<T, 'a>(
    +    db: &T,
         p: &Register<'a>,
         c: &CreateCaptcha<'a>,
         l: &[Level],
         tp: &TrafficPattern,
         an: &AddNotification<'a>
    -)where
    -    T: MCDatabase,
    Expand description

    test all database functions

    +)
    where + T: MCDatabase,
    Expand description

    test all database functions

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/tests/index.html b/db_sqlx_maria/dev/tests/index.html index d29f3c95..2474663b 100644 --- a/db_sqlx_maria/dev/tests/index.html +++ b/db_sqlx_maria/dev/tests/index.html @@ -1,2 +1,3 @@ -db_sqlx_maria::dev::tests - Rust

    Module db_sqlx_maria::dev::tests

    source ·
    Expand description

    Test utilities

    -

    Constants

    Functions

    \ No newline at end of file +db_sqlx_maria::dev::tests - Rust +

    Module db_sqlx_maria::dev::tests

    Expand description

    Test utilities

    +

    Constants

    Functions

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/trait.CloneSPDatabase.html index 61583984..07e4c49d 100644 --- a/db_sqlx_maria/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/trait.CloneSPDatabase.html @@ -1,7 +1,8 @@ -CloneSPDatabase in db_sqlx_maria::dev - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_maria::dev - Rust
    +    
    pub trait CloneSPDatabase {
         // Required method
    -    fn clone_db(&self) -> Box<dyn MCDatabase>;
    +    fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    \ No newline at end of file +

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    §

    impl<T> CloneSPDatabase for T
    where + T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.Connect.html b/db_sqlx_maria/dev/trait.Connect.html index 720c685f..10c64f58 100644 --- a/db_sqlx_maria/dev/trait.Connect.html +++ b/db_sqlx_maria/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev - Rust
    pub trait Connect {
    +Connect in db_sqlx_maria::dev - Rust
    +    
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
         fn connect<'async_trait>(
             self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    source

    fn connect<'async_trait>( +

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type +) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>

    where + Self: 'async_trait,

    database specific error-type create connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.DBOps.html b/db_sqlx_maria/dev/trait.DBOps.html index d96d8365..d3ce573a 100644 --- a/db_sqlx_maria/dev/trait.DBOps.html +++ b/db_sqlx_maria/dev/trait.DBOps.html @@ -1,2 +1,3 @@ -DBOps in db_sqlx_maria::dev - Rust

    Trait db_sqlx_maria::dev::DBOps

    source ·
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    -

    Implementors§

    \ No newline at end of file +DBOps in db_sqlx_maria::dev - Rust +

    Trait db_sqlx_maria::dev::DBOps

    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.GetConnection.html b/db_sqlx_maria/dev/trait.GetConnection.html index be0c934b..996223e4 100644 --- a/db_sqlx_maria/dev/trait.GetConnection.html +++ b/db_sqlx_maria/dev/trait.GetConnection.html @@ -1,18 +1,19 @@ -GetConnection in db_sqlx_maria::dev - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_maria::dev - Rust
    +    
    pub trait GetConnection {
         type Conn;
     
         // Required method
         fn get_conn<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    source

    type Conn

    database connection type

    -

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    type Conn

    database connection type

    +

    Required Methods§

    fn get_conn<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type get connection from connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.MCDatabase.html b/db_sqlx_maria/dev/trait.MCDatabase.html index df36949f..58352bcc 100644 --- a/db_sqlx_maria/dev/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/trait.MCDatabase.html @@ -1,138 +1,139 @@ -MCDatabase in db_sqlx_maria::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +MCDatabase in db_sqlx_maria::dev - Rust
    +    
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
     
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + email: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> - ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + current: &'life1 str, + new: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + secret: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> + username: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -140,10 +141,10 @@ Self: 'async_trait; fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -151,53 +152,53 @@ Self: 'async_trait; fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -205,25 +206,25 @@ Self: 'async_trait; fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -231,552 +232,552 @@ fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + id: i32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + psuedo_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> + page: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 - ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32 + ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 - ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> + duration: u32 + ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 - ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> + duration: u32, + location: u32 + ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; // Provided method fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    fn ping<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    ping DB

    -
    source

    fn register<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    ping DB

    +

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    register a new user

    -
    source

    fn delete_user<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    register a new user

    +

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    delete a user

    -
    source

    fn username_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    delete a user

    +

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if username exists

    -
    source

    fn get_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if username exists

    +

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get user email

    -
    source

    fn email_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get user email

    +

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + email: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if email exists

    -
    source

    fn update_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if email exists

    +

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update a user’s email

    -
    source

    fn get_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update a user’s email

    +

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> -) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s password

    -
    source

    fn update_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s password

    +

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update user’s password

    -
    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update user’s password

    +

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + current: &'life1 str, + new: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update username

    -
    source

    fn get_secret<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update username

    +

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret

    -
    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s secret

    +

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret from a captcha key

    -
    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    get a user’s secret from a captcha key

    +

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + secret: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update a user’s secret

    -
    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update a user’s secret

    +

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    create new captcha

    -
    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    create new captcha

    +

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha config

    -
    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha config

    +

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get all captchas belonging to user

    -
    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all captchas belonging to user

    +

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -
    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    +

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -
    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha key; doesn’t change metadata

    +

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add levels to captcha

    -
    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add levels to captcha

    +

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    check if captcha exists

    -
    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    check if captcha exists

    +

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete all levels of a captcha

    -
    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete all levels of a captcha

    +

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete captcha

    -
    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete captcha

    +

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha levels

    -
    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha levels

    +

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get captcha’s cooldown period

    -
    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    Get captcha’s cooldown period

    +

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add traffic configuration

    -
    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add traffic configuration

    +

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get traffic configuration

    -
    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + Self: 'async_trait,

    Get traffic configuration

    +

    fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all easy captcha configurations on instance

    -
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete traffic configuration

    -
    source

    fn create_notification<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Delete traffic configuration

    +

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    create new notification

    -
    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    create new notification

    +

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get all unread notifications

    -
    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get all unread notifications

    +

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + id: i32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    mark a notification read

    -
    source

    fn record_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    mark a notification read

    +

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig fetches

    -
    source

    fn record_solve<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig fetches

    +

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig solves

    -
    source

    fn record_confirm<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig solves

    +

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig confirms

    -
    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    record PoWConfig confirms

    +

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig fetches

    -
    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig fetches

    +

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig solves

    -
    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig solves

    +

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig confirms

    -
    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig confirms

    +

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    record PoW timing

    -
    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoW timing

    +

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    fetch PoW analytics

    -
    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    fetch PoW analytics

    +

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -
    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    +

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get psuedo ID from campaign ID

    -
    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get psuedo ID from campaign ID

    +

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + psuedo_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get campaign ID from psuedo ID

    -
    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get campaign ID from psuedo ID

    +

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Delete all records for campaign

    -
    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( + Self: 'async_trait,

    Delete all records for campaign

    +

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where + page: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all psuedo IDs

    -
    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get all psuedo IDs

    +

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -
    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Track maximum nonce received against captcha levels

    +

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 -) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32 +) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -
    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( + Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    +

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 -) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where + duration: u32 +) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -
    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( + Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    +

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 -) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>where + duration: u32, + location: u32 +) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit + Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file + Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    +

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.Migrate.html b/db_sqlx_maria/dev/trait.Migrate.html index 906a61f5..10c63ab6 100644 --- a/db_sqlx_maria/dev/trait.Migrate.html +++ b/db_sqlx_maria/dev/trait.Migrate.html @@ -1,15 +1,16 @@ -Migrate in db_sqlx_maria::dev - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_maria::dev - Rust
    +    
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type run migrations

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/type.BoxDynError.html b/db_sqlx_maria/dev/type.BoxDynError.html index c451fd1f..2be71cdb 100644 --- a/db_sqlx_maria/dev/type.BoxDynError.html +++ b/db_sqlx_maria/dev/type.BoxDynError.html @@ -1,2 +1,3 @@ -BoxDynError in db_sqlx_maria::dev - Rust

    Type Alias db_sqlx_maria::dev::BoxDynError

    source ·
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    -

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file +BoxDynError in db_sqlx_maria::dev - Rust +

    Type Alias db_sqlx_maria::dev::BoxDynError

    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/type.DBResult.html b/db_sqlx_maria/dev/type.DBResult.html index 95fee184..f58440e2 100644 --- a/db_sqlx_maria/dev/type.DBResult.html +++ b/db_sqlx_maria/dev/type.DBResult.html @@ -1,7 +1,8 @@ -DBResult in db_sqlx_maria::dev - Rust

    Type Alias db_sqlx_maria::dev::DBResult

    source ·
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    -

    Aliased Type§

    enum DBResult<V> {
    +DBResult in db_sqlx_maria::dev - Rust
    +    

    Type Alias db_sqlx_maria::dev::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(DBError)

    Contains the error value

    \ No newline at end of file diff --git a/db_sqlx_maria/enum.ConnectionOptions.html b/db_sqlx_maria/enum.ConnectionOptions.html index 18c037c8..b336bcd4 100644 --- a/db_sqlx_maria/enum.ConnectionOptions.html +++ b/db_sqlx_maria/enum.ConnectionOptions.html @@ -1,27 +1,28 @@ -ConnectionOptions in db_sqlx_maria - Rust
    pub enum ConnectionOptions {
    +ConnectionOptions in db_sqlx_maria - Rust
    +    
    pub enum ConnectionOptions {
         Fresh(Fresh),
         Existing(Conn),
     }
    Expand description

    Connect to database

    -

    Variants§

    §

    Fresh(Fresh)

    fresh connection

    +

    Variants§

    §

    Fresh(Fresh)

    fresh connection

    §

    Existing(Conn)

    existing connection

    -

    Trait Implementations§

    source§

    impl Connect for ConnectionOptions

    §

    type Pool = Database

    database specific pool-type
    source§

    fn connect<'async_trait>( +

    Trait Implementations§

    source§

    impl Connect for ConnectionOptions

    §

    type Pool = Database

    database specific pool-type
    source§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type -create connection pool

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>
    where + Self: 'async_trait,
    database specific error-type +create connection pool

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_maria/errors/fn.map_register_err.html b/db_sqlx_maria/errors/fn.map_register_err.html index 3aef2630..2b87db2c 100644 --- a/db_sqlx_maria/errors/fn.map_register_err.html +++ b/db_sqlx_maria/errors/fn.map_register_err.html @@ -1,2 +1,3 @@ -map_register_err in db_sqlx_maria::errors - Rust
    pub fn map_register_err(e: Error) -> DBError
    Expand description

    map postgres errors to DBError types

    +map_register_err in db_sqlx_maria::errors - Rust +
    pub fn map_register_err(e: Error) -> DBError
    Expand description

    map postgres errors to DBError types

    \ No newline at end of file diff --git a/db_sqlx_maria/errors/fn.map_row_not_found_err.html b/db_sqlx_maria/errors/fn.map_row_not_found_err.html index 0d63f7fd..8dae23e3 100644 --- a/db_sqlx_maria/errors/fn.map_row_not_found_err.html +++ b/db_sqlx_maria/errors/fn.map_row_not_found_err.html @@ -1,2 +1,3 @@ -map_row_not_found_err in db_sqlx_maria::errors - Rust
    pub fn map_row_not_found_err(e: Error, row_not_found: DBError) -> DBError
    Expand description

    map custom row not found error to DB error

    +map_row_not_found_err in db_sqlx_maria::errors - Rust +
    pub fn map_row_not_found_err(e: Error, row_not_found: DBError) -> DBError
    Expand description

    map custom row not found error to DB error

    \ No newline at end of file diff --git a/db_sqlx_maria/errors/index.html b/db_sqlx_maria/errors/index.html index 3008bcc3..6d289ea2 100644 --- a/db_sqlx_maria/errors/index.html +++ b/db_sqlx_maria/errors/index.html @@ -1,2 +1,3 @@ -db_sqlx_maria::errors - Rust

    Module db_sqlx_maria::errors

    source ·
    Expand description

    Error-handling utilities

    -

    Functions

    \ No newline at end of file +db_sqlx_maria::errors - Rust +

    Module db_sqlx_maria::errors

    source ·
    Expand description

    Error-handling utilities

    +

    Functions

    \ No newline at end of file diff --git a/db_sqlx_maria/index.html b/db_sqlx_maria/index.html index 04e9045b..58c4e8f0 100644 --- a/db_sqlx_maria/index.html +++ b/db_sqlx_maria/index.html @@ -1,2 +1,3 @@ -db_sqlx_maria - Rust

    Crate db_sqlx_maria

    source ·

    Modules

    Structs

    Enums

    \ No newline at end of file +db_sqlx_maria - Rust +

    Crate db_sqlx_maria

    source ·

    Modules

    Structs

    Enums

    \ No newline at end of file diff --git a/db_sqlx_maria/prelude/index.html b/db_sqlx_maria/prelude/index.html index 219dcda4..eee25cfe 100644 --- a/db_sqlx_maria/prelude/index.html +++ b/db_sqlx_maria/prelude/index.html @@ -1 +1,2 @@ -db_sqlx_maria::prelude - Rust

    Module db_sqlx_maria::prelude

    source ·

    Re-exports

    \ No newline at end of file +db_sqlx_maria::prelude - Rust +

    Module db_sqlx_maria::prelude

    source ·

    Re-exports

    \ No newline at end of file diff --git a/db_sqlx_maria/struct.Conn.html b/db_sqlx_maria/struct.Conn.html index 02f192ac..638ba4c8 100644 --- a/db_sqlx_maria/struct.Conn.html +++ b/db_sqlx_maria/struct.Conn.html @@ -1,18 +1,19 @@ -Conn in db_sqlx_maria - Rust

    Struct db_sqlx_maria::Conn

    source ·
    pub struct Conn(pub MySqlPool);
    Expand description

    Use an existing database pool

    -

    Tuple Fields§

    §0: MySqlPool

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Conn

    §

    impl Send for Conn

    §

    impl Sync for Conn

    §

    impl Unpin for Conn

    §

    impl !UnwindSafe for Conn

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Conn in db_sqlx_maria - Rust +

    Struct db_sqlx_maria::Conn

    source ·
    pub struct Conn(pub MySqlPool);
    Expand description

    Use an existing database pool

    +

    Tuple Fields§

    §0: MySqlPool

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Conn

    §

    impl Send for Conn

    §

    impl Sync for Conn

    §

    impl Unpin for Conn

    §

    impl !UnwindSafe for Conn

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_maria/struct.Database.html b/db_sqlx_maria/struct.Database.html index 75c5be49..c291c4f7 100644 --- a/db_sqlx_maria/struct.Database.html +++ b/db_sqlx_maria/struct.Database.html @@ -1,412 +1,413 @@ -Database in db_sqlx_maria - Rust

    Struct db_sqlx_maria::Database

    source ·
    pub struct Database {
    +Database in db_sqlx_maria - Rust
    +    

    Struct db_sqlx_maria::Database

    source ·
    pub struct Database {
         pub pool: MySqlPool,
    -}

    Fields§

    §pool: MySqlPool

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl MCDatabase for Database

    source§

    fn ping<'life0, 'async_trait>( +}

    Fields§

    §pool: MySqlPool

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl MCDatabase for Database

    source§

    fn ping<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    ping DB

    + 'life0: 'async_trait,

    ping DB

    source§

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    register a new user

    + 'life1: 'async_trait,

    register a new user

    source§

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    delete a user

    + 'life1: 'async_trait,

    delete a user

    source§

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    check if username exists

    + 'life1: 'async_trait,

    check if username exists

    source§

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get user email

    + 'life1: 'async_trait,

    get user email

    source§

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + email: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    check if email exists

    + 'life1: 'async_trait,

    check if email exists

    source§

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    update a user’s email

    + 'life1: 'async_trait,

    update a user’s email

    source§

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> -) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get a user’s password

    + 'life1: 'async_trait,

    get a user’s password

    source§

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    update user’s password

    + 'life1: 'async_trait,

    update user’s password

    source§

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + current: &'life1 str, + new: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    update username

    + 'life2: 'async_trait,

    update username

    source§

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get a user’s secret

    + 'life1: 'async_trait,

    get a user’s secret

    source§

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get a user’s secret from a captcha key

    + 'life1: 'async_trait,

    get a user’s secret from a captcha key

    source§

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + secret: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    update a user’s secret

    + 'life2: 'async_trait,

    update a user’s secret

    source§

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    create new captcha

    + 'life2: 'async_trait,

    create new captcha

    source§

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>where + username: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Get captcha config

    + 'life2: 'async_trait,

    Get captcha config

    source§

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get all captchas belonging to user

    + 'life1: 'async_trait,

    Get all captchas belonging to user

    source§

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    + 'life2: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    source§

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    update captcha key; doesn’t change metadata

    + 'life3: 'async_trait,

    update captcha key; doesn’t change metadata

    source§

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    Add levels to captcha

    + 'life3: 'async_trait,

    Add levels to captcha

    source§

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    check if captcha exists

    + 'life2: 'async_trait,

    check if captcha exists

    source§

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Delete all levels of a captcha

    + 'life2: 'async_trait,

    Delete all levels of a captcha

    source§

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Delete captcha

    + 'life2: 'async_trait,

    Delete captcha

    source§

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Get captcha levels

    + 'life2: 'async_trait,

    Get captcha levels

    source§

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>where + captcha_key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get captcha’s cooldown period

    + 'life1: 'async_trait,

    Get captcha’s cooldown period

    source§

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    Add traffic configuration

    + 'life3: 'async_trait,

    Add traffic configuration

    source§

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Get traffic configuration

    + 'life2: 'async_trait,

    Get traffic configuration

    source§

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Delete traffic configuration

    + 'life2: 'async_trait,

    Delete traffic configuration

    source§

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    create new notification

    + 'life1: 'async_trait,

    create new notification

    source§

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get all unread notifications

    + 'life1: 'async_trait,

    get all unread notifications

    source§

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + id: i32 +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    mark a notification read

    + 'life1: 'async_trait,

    mark a notification read

    source§

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    record PoWConfig fetches

    + 'life1: 'async_trait,

    record PoWConfig fetches

    source§

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    record PoWConfig solves

    + 'life1: 'async_trait,

    record PoWConfig solves

    source§

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    record PoWConfig confirms

    + 'life1: 'async_trait,

    record PoWConfig confirms

    source§

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    fetch PoWConfig fetches

    + 'life2: 'async_trait,

    fetch PoWConfig fetches

    source§

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    fetch PoWConfig solves

    + 'life2: 'async_trait,

    fetch PoWConfig solves

    source§

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    fetch PoWConfig confirms

    + 'life2: 'async_trait,

    fetch PoWConfig confirms

    source§

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoW timing

    + 'life2: 'async_trait,

    record PoW timing

    source§

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>>where + captcha_id: &'life1 str, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    fetch PoW analytics

    + 'life1: 'async_trait,

    fetch PoW analytics

    source§

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    + 'life1: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    source§

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get psuedo ID from campaign ID

    + 'life1: 'async_trait,

    Get psuedo ID from campaign ID

    source§

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where + psuedo_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get campaign ID from psuedo ID

    + 'life1: 'async_trait,

    Get campaign ID from psuedo ID

    source§

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize -) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>where + page: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get all psuedo IDs

    + 'life0: 'async_trait,

    Get all psuedo IDs

    source§

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Track maximum nonce received against captcha levels

    + 'life1: 'async_trait,

    Track maximum nonce received against captcha levels

    source§

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 -) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32 +) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    + 'life1: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    source§

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 -) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>where + duration: u32 +) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get number of analytics entries that are under a certain duration

    + 'life0: 'async_trait,

    Get number of analytics entries that are under a certain duration

    source§

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 -) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>>where + duration: u32, + location: u32 +) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limited + 'life0: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limited and sorted in ascending order

    source§

    fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>where + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get all easy captcha configurations on instance

    + 'life0: 'async_trait,

    Get all easy captcha configurations on instance

    source§

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Delete all records for campaign
    source§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( + 'life1: 'async_trait,

    Delete all records for campaign
    §

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID
    source§

    impl Migrate for Database

    source§

    fn migrate<'life0, 'async_trait>( + Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID
    source§

    impl Migrate for Database

    source§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    database specific error-type -run migrations

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    source§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + 'life0: 'async_trait,
    database specific error-type +run migrations

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CloneSPDatabase for T
    where + T: MCDatabase + Clone + 'static,

    §

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_maria/struct.Fresh.html b/db_sqlx_maria/struct.Fresh.html index a82fdb68..70215705 100644 --- a/db_sqlx_maria/struct.Fresh.html +++ b/db_sqlx_maria/struct.Fresh.html @@ -1,21 +1,22 @@ -Fresh in db_sqlx_maria - Rust

    Struct db_sqlx_maria::Fresh

    source ·
    pub struct Fresh {
    +Fresh in db_sqlx_maria - Rust
    +    

    Struct db_sqlx_maria::Fresh

    source ·
    pub struct Fresh {
         pub pool_options: MySqlPoolOptions,
    -    pub disable_logging: bool,
    -    pub url: String,
    -}

    Fields§

    §pool_options: MySqlPoolOptions§disable_logging: bool§url: String

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Fresh

    §

    impl Send for Fresh

    §

    impl Sync for Fresh

    §

    impl Unpin for Fresh

    §

    impl !UnwindSafe for Fresh

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + pub disable_logging: bool, + pub url: String, +}

    Fields§

    §pool_options: MySqlPoolOptions§disable_logging: bool§url: String

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Fresh

    §

    impl Send for Fresh

    §

    impl Sync for Fresh

    §

    impl Unpin for Fresh

    §

    impl !UnwindSafe for Fresh

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_maria/struct.InnerNotification.html b/db_sqlx_maria/struct.InnerNotification.html index ab199574..2306bba9 100644 --- a/db_sqlx_maria/struct.InnerNotification.html +++ b/db_sqlx_maria/struct.InnerNotification.html @@ -1,32 +1,33 @@ -InnerNotification in db_sqlx_maria - Rust
    pub struct InnerNotification {
    -    pub name: String,
    -    pub heading: String,
    -    pub message: String,
    +InnerNotification in db_sqlx_maria - Rust
    +    
    pub struct InnerNotification {
    +    pub name: String,
    +    pub heading: String,
    +    pub message: String,
         pub received: OffsetDateTime,
    -    pub id: i32,
    +    pub id: i32,
     }
    Expand description

    Represents notification

    -

    Fields§

    §name: String

    receiver name of the notification

    -
    §heading: String

    heading of the notification

    -
    §message: String

    message of the notification

    -
    §received: OffsetDateTime

    when notification was received

    -
    §id: i32

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for InnerNotification

    source§

    fn clone(&self) -> InnerNotification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for InnerNotification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for InnerNotification

    source§

    fn eq(&self, other: &InnerNotification) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl StructuralPartialEq for InnerNotification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §name: String

    receiver name of the notification

    +
    §heading: String

    heading of the notification

    +
    §message: String

    message of the notification

    +
    §received: OffsetDateTime

    when notification was received

    +
    §id: i32

    db assigned ID of the notification

    +

    Trait Implementations§

    source§

    impl Clone for InnerNotification

    source§

    fn clone(&self) -> InnerNotification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for InnerNotification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for InnerNotification

    source§

    fn eq(&self, other: &InnerNotification) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl StructuralPartialEq for InnerNotification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/all.html b/db_sqlx_postgres/all.html index 6a07badb..3c68aba8 100644 --- a/db_sqlx_postgres/all.html +++ b/db_sqlx_postgres/all.html @@ -1 +1,2 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Attribute Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file +List of all items in this crate +

    List of all items

    Structs

    Enums

    Traits

    Attribute Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/attr.async_trait.html b/db_sqlx_postgres/dev/attr.async_trait.html index b1324362..d1e8bb94 100644 --- a/db_sqlx_postgres/dev/attr.async_trait.html +++ b/db_sqlx_postgres/dev/attr.async_trait.html @@ -1 +1,2 @@ -async_trait in db_sqlx_postgres::dev - Rust

    Attribute Macro db_sqlx_postgres::dev::async_trait

    #[async_trait]
    \ No newline at end of file +async_trait in db_sqlx_postgres::dev - Rust +

    Attribute Macro db_sqlx_postgres::dev::async_trait

    #[async_trait]
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.DBError.html b/db_sqlx_postgres/dev/enum.DBError.html index ed24f37b..38d0447a 100644 --- a/db_sqlx_postgres/dev/enum.DBError.html +++ b/db_sqlx_postgres/dev/enum.DBError.html @@ -1,5 +1,6 @@ -DBError in db_sqlx_postgres::dev - Rust
    pub enum DBError {
    -    DBError(Box<dyn Error + Send + Sync>),
    +DBError in db_sqlx_postgres::dev - Rust
    +    
    pub enum DBError {
    +    DBError(Box<dyn Error + Send + Sync>),
         UsernameTaken,
         EmailTaken,
         SecretTaken,
    @@ -9,7 +10,7 @@
         TrafficPatternNotFound,
         NotificationNotFound,
     }
    Expand description

    Error data structure grouping various error subtypes

    -

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    +

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    §

    UsernameTaken

    Username is taken

    §

    EmailTaken

    Email is taken

    §

    SecretTaken

    Secret is taken

    @@ -18,21 +19,21 @@
    §

    CaptchaNotFound

    Captcha not found

    §

    TrafficPatternNotFound

    Traffic pattern not found

    §

    NotificationNotFound

    Notification not found

    -

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.Error.html b/db_sqlx_postgres/dev/enum.Error.html index 8eea0777..a70351b8 100644 --- a/db_sqlx_postgres/dev/enum.Error.html +++ b/db_sqlx_postgres/dev/enum.Error.html @@ -1,63 +1,64 @@ -Error in db_sqlx_postgres::dev - Rust
    #[non_exhaustive]
    pub enum Error { -
    Show 16 variants Configuration(Box<dyn Error + Send + Sync>), - Database(Box<dyn DatabaseError>), - Io(Error), - Tls(Box<dyn Error + Send + Sync>), - Protocol(String), +Error in db_sqlx_postgres::dev - Rust +
    #[non_exhaustive]
    pub enum Error { +
    Show 16 variants Configuration(Box<dyn Error + Send + Sync>), + Database(Box<dyn DatabaseError>), + Io(Error), + Tls(Box<dyn Error + Send + Sync>), + Protocol(String), RowNotFound, TypeNotFound { - type_name: String, + type_name: String, }, ColumnIndexOutOfBounds { - index: usize, - len: usize, + index: usize, + len: usize, }, - ColumnNotFound(String), + ColumnNotFound(String), ColumnDecode { - index: String, - source: Box<dyn Error + Send + Sync>, + index: String, + source: Box<dyn Error + Send + Sync>, }, - Decode(Box<dyn Error + Send + Sync>), - AnyDriverError(Box<dyn Error + Send + Sync>), + Decode(Box<dyn Error + Send + Sync>), + AnyDriverError(Box<dyn Error + Send + Sync>), PoolTimedOut, PoolClosed, WorkerCrashed, - Migrate(Box<MigrateError>), + Migrate(Box<MigrateError>),
    }
    Expand description

    Represents all the ways a method can fail within SQLx.

    -

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    Configuration(Box<dyn Error + Send + Sync>)

    Error occurred while parsing a connection string.

    -
    §

    Database(Box<dyn DatabaseError>)

    Error returned from the database.

    -
    §

    Io(Error)

    Error communicating with the database backend.

    -
    §

    Tls(Box<dyn Error + Send + Sync>)

    Error occurred while attempting to establish a TLS connection.

    -
    §

    Protocol(String)

    Unexpected or invalid data encountered while communicating with the database.

    +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    Configuration(Box<dyn Error + Send + Sync>)

    Error occurred while parsing a connection string.

    +
    §

    Database(Box<dyn DatabaseError>)

    Error returned from the database.

    +
    §

    Io(Error)

    Error communicating with the database backend.

    +
    §

    Tls(Box<dyn Error + Send + Sync>)

    Error occurred while attempting to establish a TLS connection.

    +
    §

    Protocol(String)

    Unexpected or invalid data encountered while communicating with the database.

    This should indicate there is a programming error in a SQLx driver or there is something corrupted with the connection to the database itself.

    §

    RowNotFound

    No rows returned by a query that expected to return at least one row.

    -
    §

    TypeNotFound

    Fields

    §type_name: String

    Type in query doesn’t exist. Likely due to typo or missing user type.

    -
    §

    ColumnIndexOutOfBounds

    Fields

    §index: usize
    §len: usize

    Column index was out of bounds.

    -
    §

    ColumnNotFound(String)

    No column found for the given name.

    -
    §

    ColumnDecode

    Fields

    §index: String
    §source: Box<dyn Error + Send + Sync>

    Error occurred while decoding a value from a specific column.

    -
    §

    Decode(Box<dyn Error + Send + Sync>)

    Error occurred while decoding a value.

    -
    §

    AnyDriverError(Box<dyn Error + Send + Sync>)

    Error occurred within the Any driver mapping to/from the native driver.

    +
    §

    TypeNotFound

    Fields

    §type_name: String

    Type in query doesn’t exist. Likely due to typo or missing user type.

    +
    §

    ColumnIndexOutOfBounds

    Fields

    §index: usize
    §len: usize

    Column index was out of bounds.

    +
    §

    ColumnNotFound(String)

    No column found for the given name.

    +
    §

    ColumnDecode

    Fields

    §index: String
    §source: Box<dyn Error + Send + Sync>

    Error occurred while decoding a value from a specific column.

    +
    §

    Decode(Box<dyn Error + Send + Sync>)

    Error occurred while decoding a value.

    +
    §

    AnyDriverError(Box<dyn Error + Send + Sync>)

    Error occurred within the Any driver mapping to/from the native driver.

    §

    PoolTimedOut

    A Pool::acquire timed out due to connections not becoming available or because another task encountered too many errors while trying to open a new connection.

    §

    PoolClosed

    Pool::close was called while we were waiting in Pool::acquire.

    §

    WorkerCrashed

    A background worker has crashed.

    -
    §

    Migrate(Box<MigrateError>)

    Implementations§

    §

    impl Error

    pub fn into_database_error(self) -> Option<Box<dyn DatabaseError>>

    pub fn as_database_error(&self) -> Option<&(dyn DatabaseError + 'static)>

    Trait Implementations§

    §

    impl Debug for Error

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for Error

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for Error

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    §

    impl<E> From<E> for Errorwhere - E: DatabaseError,

    §

    fn from(error: E) -> Error

    Converts to this type from the input type.
    §

    impl From<Error> for Error

    §

    fn from(source: Error) -> Error

    Converts to this type from the input type.
    §

    impl From<MigrateError> for Error

    §

    fn from(error: MigrateError) -> Error

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Error

    §

    impl Send for Error

    §

    impl Sync for Error

    §

    impl Unpin for Error

    §

    impl !UnwindSafe for Error

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    Migrate(Box<MigrateError>)

    Implementations§

    §

    impl Error

    pub fn into_database_error(self) -> Option<Box<dyn DatabaseError>>

    pub fn as_database_error(&self) -> Option<&(dyn DatabaseError + 'static)>

    Trait Implementations§

    §

    impl Debug for Error

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for Error

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for Error

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    §

    impl<E> From<E> for Error
    where + E: DatabaseError,

    §

    fn from(error: E) -> Error

    Converts to this type from the input type.
    §

    impl From<Error> for Error

    §

    fn from(source: Error) -> Error

    Converts to this type from the input type.
    §

    impl From<MigrateError> for Error

    §

    fn from(error: MigrateError) -> Error

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Error

    §

    impl Send for Error

    §

    impl Sync for Error

    §

    impl Unpin for Error

    §

    impl !UnwindSafe for Error

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.Login.html b/db_sqlx_postgres/dev/enum.Login.html index c9855ef6..7258ec73 100644 --- a/db_sqlx_postgres/dev/enum.Login.html +++ b/db_sqlx_postgres/dev/enum.Login.html @@ -1,35 +1,36 @@ -Login in db_sqlx_postgres::dev - Rust
    pub enum Login<'a> {
    -    Username(&'a str),
    -    Email(&'a str),
    +Login in db_sqlx_postgres::dev - Rust
    +    
    pub enum Login<'a> {
    +    Username(&'a str),
    +    Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    -

    Variants§

    §

    Username(&'a str)

    username as login

    -
    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    Variants§

    §

    Username(&'a str)

    username as login

    +
    §

    Email(&'a str)

    email as login

    +

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( +) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/enum.DBError.html b/db_sqlx_postgres/dev/errors/enum.DBError.html index 0f312c29..98fef7b3 100644 --- a/db_sqlx_postgres/dev/errors/enum.DBError.html +++ b/db_sqlx_postgres/dev/errors/enum.DBError.html @@ -1,5 +1,6 @@ -DBError in db_sqlx_postgres::dev::errors - Rust
    pub enum DBError {
    -    DBError(Box<dyn Error + Send + Sync>),
    +DBError in db_sqlx_postgres::dev::errors - Rust
    +    
    pub enum DBError {
    +    DBError(Box<dyn Error + Send + Sync>),
         UsernameTaken,
         EmailTaken,
         SecretTaken,
    @@ -9,7 +10,7 @@
         TrafficPatternNotFound,
         NotificationNotFound,
     }
    Expand description

    Error data structure grouping various error subtypes

    -

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    +

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    §

    UsernameTaken

    Username is taken

    §

    EmailTaken

    Email is taken

    §

    SecretTaken

    Secret is taken

    @@ -18,21 +19,21 @@
    §

    CaptchaNotFound

    Captcha not found

    §

    TrafficPatternNotFound

    Traffic pattern not found

    §

    NotificationNotFound

    Notification not found

    -

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/index.html b/db_sqlx_postgres/dev/errors/index.html index 003091d7..a69c25b1 100644 --- a/db_sqlx_postgres/dev/errors/index.html +++ b/db_sqlx_postgres/dev/errors/index.html @@ -1,2 +1,3 @@ -db_sqlx_postgres::dev::errors - Rust
    Expand description

    represents all the ways a trait can fail using this crate

    -

    Enums

    • Error data structure grouping various error subtypes

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file +db_sqlx_postgres::dev::errors - Rust +
    Expand description

    represents all the ways a trait can fail using this crate

    +

    Enums

    • Error data structure grouping various error subtypes

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/type.BoxDynError.html b/db_sqlx_postgres/dev/errors/type.BoxDynError.html index 442b2431..3ddbb6fc 100644 --- a/db_sqlx_postgres/dev/errors/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/errors/type.BoxDynError.html @@ -1,2 +1,3 @@ -BoxDynError in db_sqlx_postgres::dev::errors - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    -

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file +BoxDynError in db_sqlx_postgres::dev::errors - Rust +
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/type.DBResult.html b/db_sqlx_postgres/dev/errors/type.DBResult.html index 4497e697..17fbc189 100644 --- a/db_sqlx_postgres/dev/errors/type.DBResult.html +++ b/db_sqlx_postgres/dev/errors/type.DBResult.html @@ -1,7 +1,8 @@ -DBResult in db_sqlx_postgres::dev::errors - Rust

    Type Alias db_sqlx_postgres::dev::errors::DBResult

    source ·
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    -

    Aliased Type§

    enum DBResult<V> {
    +DBResult in db_sqlx_postgres::dev::errors - Rust
    +    

    Type Alias db_sqlx_postgres::dev::errors::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(DBError)

    Contains the error value

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/index.html b/db_sqlx_postgres/dev/index.html index 0a0a5f1d..249a1888 100644 --- a/db_sqlx_postgres/dev/index.html +++ b/db_sqlx_postgres/dev/index.html @@ -1,2 +1,3 @@ -db_sqlx_postgres::dev - Rust

    Module db_sqlx_postgres::dev

    source ·

    Re-exports

    Modules

    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • Represents all the ways a method can fail within SQLx.
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this -trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure

    Attribute Macros

    \ No newline at end of file +db_sqlx_postgres::dev - Rust +

    Module db_sqlx_postgres::dev

    source ·

    Re-exports

    Modules

    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • Represents all the ways a method can fail within SQLx.
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this +trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure

    Attribute Macros

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/index.html b/db_sqlx_postgres/dev/ops/index.html index 40a04659..12786e7f 100644 --- a/db_sqlx_postgres/dev/ops/index.html +++ b/db_sqlx_postgres/dev/ops/index.html @@ -1,2 +1,3 @@ -db_sqlx_postgres::dev::ops - Rust

    Module db_sqlx_postgres::dev::ops

    source ·
    Expand description

    meta operations like migration and connecting to a database

    -

    Traits

    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • database migrations
    \ No newline at end of file +db_sqlx_postgres::dev::ops - Rust +

    Module db_sqlx_postgres::dev::ops

    Expand description

    meta operations like migration and connecting to a database

    +

    Traits

    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • database migrations
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.Connect.html b/db_sqlx_postgres/dev/ops/trait.Connect.html index c31b0276..59b5e859 100644 --- a/db_sqlx_postgres/dev/ops/trait.Connect.html +++ b/db_sqlx_postgres/dev/ops/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev::ops - Rust
    pub trait Connect {
    +Connect in db_sqlx_postgres::dev::ops - Rust
    +    
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
         fn connect<'async_trait>(
             self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    source

    fn connect<'async_trait>( +

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type +) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>

    where + Self: 'async_trait,

    database specific error-type create connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.DBOps.html b/db_sqlx_postgres/dev/ops/trait.DBOps.html index a79e8c01..daeb095f 100644 --- a/db_sqlx_postgres/dev/ops/trait.DBOps.html +++ b/db_sqlx_postgres/dev/ops/trait.DBOps.html @@ -1,2 +1,3 @@ -DBOps in db_sqlx_postgres::dev::ops - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    -

    Implementors§

    \ No newline at end of file +DBOps in db_sqlx_postgres::dev::ops - Rust +
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.GetConnection.html b/db_sqlx_postgres/dev/ops/trait.GetConnection.html index 4f59d1d6..694b6566 100644 --- a/db_sqlx_postgres/dev/ops/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/ops/trait.GetConnection.html @@ -1,18 +1,19 @@ -GetConnection in db_sqlx_postgres::dev::ops - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_postgres::dev::ops - Rust
    +    
    pub trait GetConnection {
         type Conn;
     
         // Required method
         fn get_conn<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    source

    type Conn

    database connection type

    -

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    type Conn

    database connection type

    +

    Required Methods§

    fn get_conn<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type get connection from connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.Migrate.html b/db_sqlx_postgres/dev/ops/trait.Migrate.html index d5f632b5..a235def9 100644 --- a/db_sqlx_postgres/dev/ops/trait.Migrate.html +++ b/db_sqlx_postgres/dev/ops/trait.Migrate.html @@ -1,15 +1,16 @@ -Migrate in db_sqlx_postgres::dev::ops - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_postgres::dev::ops - Rust
    +    
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type run migrations

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html b/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html index 707ce4ff..6692b78b 100644 --- a/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html +++ b/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html @@ -1 +1,2 @@ -async_trait in db_sqlx_postgres::dev::prelude::dev - Rust

    Attribute Macro db_sqlx_postgres::dev::prelude::dev::async_trait

    #[async_trait]
    \ No newline at end of file +async_trait in db_sqlx_postgres::dev::prelude::dev - Rust +

    Attribute Macro db_sqlx_postgres::dev::prelude::dev::async_trait

    #[async_trait]
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html b/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html index 86686242..e49a4105 100644 --- a/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html +++ b/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html @@ -1,5 +1,6 @@ -DBError in db_sqlx_postgres::dev::prelude::dev - Rust
    pub enum DBError {
    -    DBError(Box<dyn Error + Send + Sync>),
    +DBError in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub enum DBError {
    +    DBError(Box<dyn Error + Send + Sync>),
         UsernameTaken,
         EmailTaken,
         SecretTaken,
    @@ -9,7 +10,7 @@
         TrafficPatternNotFound,
         NotificationNotFound,
     }
    Expand description

    Error data structure grouping various error subtypes

    -

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    +

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    §

    UsernameTaken

    Username is taken

    §

    EmailTaken

    Email is taken

    §

    SecretTaken

    Secret is taken

    @@ -18,21 +19,21 @@
    §

    CaptchaNotFound

    Captcha not found

    §

    TrafficPatternNotFound

    Traffic pattern not found

    §

    NotificationNotFound

    Notification not found

    -

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/enum.Login.html b/db_sqlx_postgres/dev/prelude/dev/enum.Login.html index a62e609b..758cd5d9 100644 --- a/db_sqlx_postgres/dev/prelude/dev/enum.Login.html +++ b/db_sqlx_postgres/dev/prelude/dev/enum.Login.html @@ -1,35 +1,36 @@ -Login in db_sqlx_postgres::dev::prelude::dev - Rust
    pub enum Login<'a> {
    -    Username(&'a str),
    -    Email(&'a str),
    +Login in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub enum Login<'a> {
    +    Username(&'a str),
    +    Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    -

    Variants§

    §

    Username(&'a str)

    username as login

    -
    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    Variants§

    §

    Username(&'a str)

    username as login

    +
    §

    Email(&'a str)

    email as login

    +

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( +) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/index.html b/db_sqlx_postgres/dev/prelude/dev/index.html index 32097188..32752a45 100644 --- a/db_sqlx_postgres/dev/prelude/dev/index.html +++ b/db_sqlx_postgres/dev/prelude/dev/index.html @@ -1,3 +1,4 @@ -db_sqlx_postgres::dev::prelude::dev - Rust
    Expand description

    useful imports for supporting a new database

    -

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this -trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure

    Attribute Macros

    \ No newline at end of file +db_sqlx_postgres::dev::prelude::dev - Rust +
    Expand description

    useful imports for supporting a new database

    +

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this +trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure

    Attribute Macros

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html b/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html index 1b128478..1aeefa07 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html @@ -1,39 +1,40 @@ -AddNotification in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct AddNotification<'a> {
    -    pub to: &'a str,
    -    pub from: &'a str,
    -    pub heading: &'a str,
    -    pub message: &'a str,
    +AddNotification in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct AddNotification<'a> {
    +    pub to: &'a str,
    +    pub from: &'a str,
    +    pub heading: &'a str,
    +    pub message: &'a str,
     }
    Expand description

    Data required to add notification

    -

    Fields§

    §to: &'a str

    who is the notification addressed to?

    -
    §from: &'a str

    notification sender

    -
    §heading: &'a str

    heading of the notification

    -
    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where - 'de: 'a,

    Fields§

    §to: &'a str

    who is the notification addressed to?

    +
    §from: &'a str

    notification sender

    +
    §heading: &'a str

    heading of the notification

    +
    §message: &'a str

    message of the notification

    +

    Trait Implementations§

    §

    impl<'a> Clone for AddNotification<'a>

    §

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for AddNotification<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for AddNotification<'a>

    §

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( +) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for AddNotification<'a>

    §

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html index 3f127718..ab3dacc4 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html @@ -1,38 +1,39 @@ -Captcha in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Captcha {
    -    pub config_id: i32,
    -    pub duration: i32,
    -    pub description: String,
    -    pub key: String,
    +Captcha in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct Captcha {
    +    pub config_id: i32,
    +    pub duration: i32,
    +    pub description: String,
    +    pub key: String,
     }
    Expand description

    Data representing a captcha

    -

    Fields§

    §config_id: i32

    Database assigned ID

    -
    §duration: i32

    cool down duration

    -
    §description: String

    description of the captcha

    -
    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    Fields§

    §config_id: i32

    Database assigned ID

    +
    §duration: i32

    cool down duration

    +
    §description: String

    description of the captcha

    +
    §key: String

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( +) -> Result<Captcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html index 47ac3d9c..a2ef5ccb 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html @@ -1,37 +1,38 @@ -CreateCaptcha in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct CreateCaptcha<'a> {
    -    pub duration: i32,
    -    pub description: &'a str,
    -    pub key: &'a str,
    +CreateCaptcha in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct CreateCaptcha<'a> {
    +    pub duration: i32,
    +    pub description: &'a str,
    +    pub key: &'a str,
     }
    Expand description

    data required to create new captcha

    -

    Fields§

    §duration: i32

    cool down duration

    -
    §description: &'a str

    description of the captcha

    -
    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    Fields§

    §duration: i32

    cool down duration

    +
    §description: &'a str

    description of the captcha

    +
    §key: &'a str

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( +) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.CreatePerformanceAnalytics.html b/db_sqlx_postgres/dev/prelude/dev/struct.CreatePerformanceAnalytics.html index e36d8d74..50e67205 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.CreatePerformanceAnalytics.html @@ -1,36 +1,37 @@ -CreatePerformanceAnalytics in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct CreatePerformanceAnalytics {
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +CreatePerformanceAnalytics in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct CreatePerformanceAnalytics {
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Log Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    Fields§

    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.EasyCaptcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.EasyCaptcha.html index e8dc2ef9..92c00f86 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.EasyCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.EasyCaptcha.html @@ -1,38 +1,39 @@ -EasyCaptcha in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct EasyCaptcha {
    +EasyCaptcha in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct EasyCaptcha {
         pub traffic_pattern: TrafficPattern,
    -    pub key: String,
    -    pub description: String,
    -    pub username: String,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
     }
    Expand description

    Represents Easy captcha configuration

    -

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    -
    §key: String

    captcha key/sitekey

    -
    §description: String

    captcha description

    -
    §username: String

    Owner of the captcha configuration

    -

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    §

    impl Clone for EasyCaptcha

    §

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for EasyCaptcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for EasyCaptcha

    §

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for EasyCaptcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for EasyCaptcha

    §

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for EasyCaptcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Level.html b/db_sqlx_postgres/dev/prelude/dev/struct.Level.html index 820093b3..22f26fa2 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Level.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Level.html @@ -1,32 +1,33 @@ -Level in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Level {
    -    pub visitor_threshold: u32,
    -    pub difficulty_factor: u32,
    +Level in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct Level {
    +    pub visitor_threshold: u32,
    +    pub difficulty_factor: u32,
     }
    Expand description

    Level struct that describes threshold-difficulty factor mapping

    -

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( +

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Level, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +) -> Result<Level, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Level

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html b/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html index e6af1028..fddcc287 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html @@ -1,34 +1,35 @@ -NameHash in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct NameHash {
    -    pub username: String,
    -    pub hash: String,
    +NameHash in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct NameHash {
    +    pub username: String,
    +    pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    -

    Fields§

    §username: String

    username

    -
    §hash: String

    hashed password

    -

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    Fields§

    §username: String

    username

    +
    §hash: String

    hashed password

    +

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( +) -> Result<NameHash, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html b/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html index d5acd2bb..97555f44 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html @@ -1,40 +1,41 @@ -Notification in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Notification {
    -    pub name: Option<String>,
    -    pub heading: Option<String>,
    -    pub message: Option<String>,
    -    pub received: Option<i64>,
    -    pub id: Option<i32>,
    +Notification in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct Notification {
    +    pub name: Option<String>,
    +    pub heading: Option<String>,
    +    pub message: Option<String>,
    +    pub received: Option<i64>,
    +    pub id: Option<i32>,
     }
    Expand description

    Represents notification

    -

    Fields§

    §name: Option<String>

    receiver name of the notification

    -
    §heading: Option<String>

    heading of the notification

    -
    §message: Option<String>

    message of the notification

    -
    §received: Option<i64>

    when notification was received

    -
    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    Fields§

    §name: Option<String>

    receiver name of the notification

    +
    §heading: Option<String>

    heading of the notification

    +
    §message: Option<String>

    message of the notification

    +
    §received: Option<i64>

    when notification was received

    +
    §id: Option<i32>

    db assigned ID of the notification

    +

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( +) -> Result<Notification, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.PerformanceAnalytics.html b/db_sqlx_postgres/dev/prelude/dev/struct.PerformanceAnalytics.html index 8abc91f3..6374a8ef 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.PerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.PerformanceAnalytics.html @@ -1,38 +1,39 @@ -PerformanceAnalytics in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct PerformanceAnalytics {
    -    pub id: usize,
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +PerformanceAnalytics in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct PerformanceAnalytics {
    +    pub id: usize,
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §id: usize

    log ID

    -
    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    Fields§

    §id: usize

    log ID

    +
    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Register.html b/db_sqlx_postgres/dev/prelude/dev/struct.Register.html index c00e095b..7b9b48c7 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Register.html @@ -1,39 +1,40 @@ -Register in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Register<'a> {
    -    pub username: &'a str,
    -    pub secret: &'a str,
    -    pub hash: &'a str,
    -    pub email: Option<&'a str>,
    +Register in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct Register<'a> {
    +    pub username: &'a str,
    +    pub secret: &'a str,
    +    pub hash: &'a str,
    +    pub email: Option<&'a str>,
     }
    Expand description

    Data required to register a new user

    -

    Fields§

    §username: &'a str

    username of new user

    -
    §secret: &'a str

    secret of new user

    -
    §hash: &'a str

    hashed password of new use

    -
    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of new user

    +
    §secret: &'a str

    secret of new user

    +
    §hash: &'a str

    hashed password of new use

    +
    §email: Option<&'a str>

    Optionally, email of new use

    +

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( +) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html b/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html index e5406c77..4730ed11 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html @@ -1,32 +1,33 @@ -Secret in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Secret {
    -    pub secret: String,
    +Secret in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct Secret {
    +    pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    -

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    Fields§

    §secret: String

    user’s secret

    +

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( +) -> Result<Secret, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html index 83d0c5a9..f14b5a79 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html @@ -1,36 +1,37 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct StatsUnixTimestamp {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    +StatsUnixTimestamp in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct StatsUnixTimestamp {
    +    pub config_fetches: Vec<i64>,
    +    pub solves: Vec<i64>,
    +    pub confirms: Vec<i64>,
     }
    Expand description

    Captcha statistics with time recorded in UNIX epoch formats

    -

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    -
    §solves: Vec<i64>

    times at which the PoW was solved

    -
    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    +
    §solves: Vec<i64>

    times at which the PoW was solved

    +
    §confirms: Vec<i64>

    times at which the PoW token was verified

    +

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( +) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html index 9e4fa6ef..81b3bd2a 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html @@ -1,36 +1,37 @@ -TrafficPattern in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct TrafficPattern {
    -    pub avg_traffic: u32,
    -    pub peak_sustainable_traffic: u32,
    -    pub broke_my_site_traffic: Option<u32>,
    +TrafficPattern in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct TrafficPattern {
    +    pub avg_traffic: u32,
    +    pub peak_sustainable_traffic: u32,
    +    pub broke_my_site_traffic: Option<u32>,
     }
    Expand description

    User’s traffic pattern; used in generating a captcha configuration

    -

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    -
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    -
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    +
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    +
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    +

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( +) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html index e0c5025c..f3003d03 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html @@ -1,35 +1,36 @@ -UpdateEmail in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct UpdateEmail<'a> {
    -    pub username: &'a str,
    -    pub new_email: &'a str,
    +UpdateEmail in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub struct UpdateEmail<'a> {
    +    pub username: &'a str,
    +    pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    -

    Fields§

    §username: &'a str

    username of the user

    -
    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of the user

    +
    §new_email: &'a str

    new email address of the user

    +

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( +) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html index b75c906f..4793458d 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html @@ -1,7 +1,8 @@ -CloneSPDatabase in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub trait CloneSPDatabase {
         // Required method
    -    fn clone_db(&self) -> Box<dyn MCDatabase>;
    +    fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    \ No newline at end of file +

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    §

    impl<T> CloneSPDatabase for T
    where + T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html b/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html index 40362f80..c4561100 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait Connect {
    +Connect in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
         fn connect<'async_trait>(
             self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    source

    fn connect<'async_trait>( +

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type +) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>

    where + Self: 'async_trait,

    database specific error-type create connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html b/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html index 6c4367ea..6338e9b6 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html @@ -1,2 +1,3 @@ -DBOps in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    -

    Implementors§

    \ No newline at end of file +DBOps in db_sqlx_postgres::dev::prelude::dev - Rust +
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html index 7812bc21..8e7c6a46 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html @@ -1,18 +1,19 @@ -GetConnection in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub trait GetConnection {
         type Conn;
     
         // Required method
         fn get_conn<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    source

    type Conn

    database connection type

    -

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    type Conn

    database connection type

    +

    Required Methods§

    fn get_conn<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type get connection from connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html index ea8c3498..9e78a8ca 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html @@ -1,138 +1,139 @@ -MCDatabase in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +MCDatabase in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
     
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + email: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> - ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + current: &'life1 str, + new: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + secret: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> + username: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -140,10 +141,10 @@ Self: 'async_trait; fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -151,53 +152,53 @@ Self: 'async_trait; fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -205,25 +206,25 @@ Self: 'async_trait; fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -231,552 +232,552 @@ fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + id: i32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + psuedo_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> + page: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 - ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32 + ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 - ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> + duration: u32 + ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 - ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> + duration: u32, + location: u32 + ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; // Provided method fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    fn ping<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    ping DB

    -
    source

    fn register<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    ping DB

    +

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    register a new user

    -
    source

    fn delete_user<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    register a new user

    +

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    delete a user

    -
    source

    fn username_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    delete a user

    +

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if username exists

    -
    source

    fn get_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if username exists

    +

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get user email

    -
    source

    fn email_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get user email

    +

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + email: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if email exists

    -
    source

    fn update_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if email exists

    +

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update a user’s email

    -
    source

    fn get_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update a user’s email

    +

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> -) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s password

    -
    source

    fn update_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s password

    +

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update user’s password

    -
    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update user’s password

    +

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + current: &'life1 str, + new: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update username

    -
    source

    fn get_secret<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update username

    +

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret

    -
    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s secret

    +

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret from a captcha key

    -
    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    get a user’s secret from a captcha key

    +

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + secret: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update a user’s secret

    -
    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update a user’s secret

    +

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    create new captcha

    -
    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    create new captcha

    +

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha config

    -
    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha config

    +

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get all captchas belonging to user

    -
    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all captchas belonging to user

    +

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -
    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    +

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -
    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha key; doesn’t change metadata

    +

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add levels to captcha

    -
    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add levels to captcha

    +

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    check if captcha exists

    -
    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    check if captcha exists

    +

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete all levels of a captcha

    -
    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete all levels of a captcha

    +

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete captcha

    -
    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete captcha

    +

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha levels

    -
    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha levels

    +

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get captcha’s cooldown period

    -
    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    Get captcha’s cooldown period

    +

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add traffic configuration

    -
    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add traffic configuration

    +

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get traffic configuration

    -
    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + Self: 'async_trait,

    Get traffic configuration

    +

    fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all easy captcha configurations on instance

    -
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete traffic configuration

    -
    source

    fn create_notification<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Delete traffic configuration

    +

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    create new notification

    -
    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    create new notification

    +

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get all unread notifications

    -
    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get all unread notifications

    +

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + id: i32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    mark a notification read

    -
    source

    fn record_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    mark a notification read

    +

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig fetches

    -
    source

    fn record_solve<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig fetches

    +

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig solves

    -
    source

    fn record_confirm<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig solves

    +

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig confirms

    -
    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    record PoWConfig confirms

    +

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig fetches

    -
    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig fetches

    +

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig solves

    -
    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig solves

    +

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig confirms

    -
    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig confirms

    +

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    record PoW timing

    -
    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoW timing

    +

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    fetch PoW analytics

    -
    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    fetch PoW analytics

    +

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -
    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    +

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get psuedo ID from campaign ID

    -
    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get psuedo ID from campaign ID

    +

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + psuedo_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get campaign ID from psuedo ID

    -
    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get campaign ID from psuedo ID

    +

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Delete all records for campaign

    -
    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( + Self: 'async_trait,

    Delete all records for campaign

    +

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where + page: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all psuedo IDs

    -
    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get all psuedo IDs

    +

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -
    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Track maximum nonce received against captcha levels

    +

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 -) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32 +) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -
    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( + Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    +

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 -) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where + duration: u32 +) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -
    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( + Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    +

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 -) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>where + duration: u32, + location: u32 +) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit + Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file + Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    +

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html b/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html index ebbbc740..8c844089 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html @@ -1,15 +1,16 @@ -Migrate in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type run migrations

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html index a146fa4e..84aad670 100644 --- a/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html @@ -1,2 +1,3 @@ -BoxDynError in db_sqlx_postgres::dev::prelude::dev - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    -

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file +BoxDynError in db_sqlx_postgres::dev::prelude::dev - Rust +
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html b/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html index f178bb26..a4805128 100644 --- a/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html @@ -1,7 +1,8 @@ -DBResult in db_sqlx_postgres::dev::prelude::dev - Rust
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    -

    Aliased Type§

    enum DBResult<V> {
    +DBResult in db_sqlx_postgres::dev::prelude::dev - Rust
    +    
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(DBError)

    Contains the error value

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/enum.DBError.html b/db_sqlx_postgres/dev/prelude/enum.DBError.html index 943b010a..84652fc8 100644 --- a/db_sqlx_postgres/dev/prelude/enum.DBError.html +++ b/db_sqlx_postgres/dev/prelude/enum.DBError.html @@ -1,5 +1,6 @@ -DBError in db_sqlx_postgres::dev::prelude - Rust
    pub enum DBError {
    -    DBError(Box<dyn Error + Send + Sync>),
    +DBError in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub enum DBError {
    +    DBError(Box<dyn Error + Send + Sync>),
         UsernameTaken,
         EmailTaken,
         SecretTaken,
    @@ -9,7 +10,7 @@
         TrafficPatternNotFound,
         NotificationNotFound,
     }
    Expand description

    Error data structure grouping various error subtypes

    -

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    +

    Variants§

    §

    DBError(Box<dyn Error + Send + Sync>)

    errors that are specific to a database implementation

    §

    UsernameTaken

    Username is taken

    §

    EmailTaken

    Email is taken

    §

    SecretTaken

    Secret is taken

    @@ -18,21 +19,21 @@
    §

    CaptchaNotFound

    Captcha not found

    §

    TrafficPatternNotFound

    Traffic pattern not found

    §

    NotificationNotFound

    Notification not found

    -

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/enum.Login.html b/db_sqlx_postgres/dev/prelude/enum.Login.html index de12bda0..d656be3d 100644 --- a/db_sqlx_postgres/dev/prelude/enum.Login.html +++ b/db_sqlx_postgres/dev/prelude/enum.Login.html @@ -1,35 +1,36 @@ -Login in db_sqlx_postgres::dev::prelude - Rust
    pub enum Login<'a> {
    -    Username(&'a str),
    -    Email(&'a str),
    +Login in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub enum Login<'a> {
    +    Username(&'a str),
    +    Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    -

    Variants§

    §

    Username(&'a str)

    username as login

    -
    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    Variants§

    §

    Username(&'a str)

    username as login

    +
    §

    Email(&'a str)

    email as login

    +

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( +) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/index.html b/db_sqlx_postgres/dev/prelude/index.html index 0fe4ef4b..8aca87dc 100644 --- a/db_sqlx_postgres/dev/prelude/index.html +++ b/db_sqlx_postgres/dev/prelude/index.html @@ -1,3 +1,4 @@ -db_sqlx_postgres::dev::prelude - Rust
    Expand description

    useful imports for users working with a supported database

    -

    Modules

    • useful imports for supporting a new database

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this -trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file +db_sqlx_postgres::dev::prelude - Rust +
    Expand description

    useful imports for users working with a supported database

    +

    Modules

    • useful imports for supporting a new database

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • Create database connection
    • Database operations trait(migrations, pool creation and fetching connection from pool)
    • Get database connection
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this +trait.
    • database migrations

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.AddNotification.html b/db_sqlx_postgres/dev/prelude/struct.AddNotification.html index e4d2d375..466c92ca 100644 --- a/db_sqlx_postgres/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/prelude/struct.AddNotification.html @@ -1,39 +1,40 @@ -AddNotification in db_sqlx_postgres::dev::prelude - Rust
    pub struct AddNotification<'a> {
    -    pub to: &'a str,
    -    pub from: &'a str,
    -    pub heading: &'a str,
    -    pub message: &'a str,
    +AddNotification in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct AddNotification<'a> {
    +    pub to: &'a str,
    +    pub from: &'a str,
    +    pub heading: &'a str,
    +    pub message: &'a str,
     }
    Expand description

    Data required to add notification

    -

    Fields§

    §to: &'a str

    who is the notification addressed to?

    -
    §from: &'a str

    notification sender

    -
    §heading: &'a str

    heading of the notification

    -
    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where - 'de: 'a,

    Fields§

    §to: &'a str

    who is the notification addressed to?

    +
    §from: &'a str

    notification sender

    +
    §heading: &'a str

    heading of the notification

    +
    §message: &'a str

    message of the notification

    +

    Trait Implementations§

    §

    impl<'a> Clone for AddNotification<'a>

    §

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for AddNotification<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for AddNotification<'a>

    §

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( +) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for AddNotification<'a>

    §

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Captcha.html b/db_sqlx_postgres/dev/prelude/struct.Captcha.html index 8188f7a0..eec2a1e1 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/dev/prelude/struct.Captcha.html @@ -1,38 +1,39 @@ -Captcha in db_sqlx_postgres::dev::prelude - Rust
    pub struct Captcha {
    -    pub config_id: i32,
    -    pub duration: i32,
    -    pub description: String,
    -    pub key: String,
    +Captcha in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct Captcha {
    +    pub config_id: i32,
    +    pub duration: i32,
    +    pub description: String,
    +    pub key: String,
     }
    Expand description

    Data representing a captcha

    -

    Fields§

    §config_id: i32

    Database assigned ID

    -
    §duration: i32

    cool down duration

    -
    §description: String

    description of the captcha

    -
    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    Fields§

    §config_id: i32

    Database assigned ID

    +
    §duration: i32

    cool down duration

    +
    §description: String

    description of the captcha

    +
    §key: String

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( +) -> Result<Captcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html index 33ea6d71..0bd731a3 100644 --- a/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html @@ -1,37 +1,38 @@ -CreateCaptcha in db_sqlx_postgres::dev::prelude - Rust
    pub struct CreateCaptcha<'a> {
    -    pub duration: i32,
    -    pub description: &'a str,
    -    pub key: &'a str,
    +CreateCaptcha in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct CreateCaptcha<'a> {
    +    pub duration: i32,
    +    pub description: &'a str,
    +    pub key: &'a str,
     }
    Expand description

    data required to create new captcha

    -

    Fields§

    §duration: i32

    cool down duration

    -
    §description: &'a str

    description of the captcha

    -
    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    Fields§

    §duration: i32

    cool down duration

    +
    §description: &'a str

    description of the captcha

    +
    §key: &'a str

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( +) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.CreatePerformanceAnalytics.html b/db_sqlx_postgres/dev/prelude/struct.CreatePerformanceAnalytics.html index 0c1048c4..0453fbff 100644 --- a/db_sqlx_postgres/dev/prelude/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/prelude/struct.CreatePerformanceAnalytics.html @@ -1,36 +1,37 @@ -CreatePerformanceAnalytics in db_sqlx_postgres::dev::prelude - Rust
    pub struct CreatePerformanceAnalytics {
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +CreatePerformanceAnalytics in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct CreatePerformanceAnalytics {
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Log Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    Fields§

    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.EasyCaptcha.html b/db_sqlx_postgres/dev/prelude/struct.EasyCaptcha.html index 601d2472..d5a67261 100644 --- a/db_sqlx_postgres/dev/prelude/struct.EasyCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/struct.EasyCaptcha.html @@ -1,38 +1,39 @@ -EasyCaptcha in db_sqlx_postgres::dev::prelude - Rust
    pub struct EasyCaptcha {
    +EasyCaptcha in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct EasyCaptcha {
         pub traffic_pattern: TrafficPattern,
    -    pub key: String,
    -    pub description: String,
    -    pub username: String,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
     }
    Expand description

    Represents Easy captcha configuration

    -

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    -
    §key: String

    captcha key/sitekey

    -
    §description: String

    captcha description

    -
    §username: String

    Owner of the captcha configuration

    -

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    §

    impl Clone for EasyCaptcha

    §

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for EasyCaptcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for EasyCaptcha

    §

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for EasyCaptcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for EasyCaptcha

    §

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for EasyCaptcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Level.html b/db_sqlx_postgres/dev/prelude/struct.Level.html index 11d5a1b2..7639ce3e 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Level.html +++ b/db_sqlx_postgres/dev/prelude/struct.Level.html @@ -1,32 +1,33 @@ -Level in db_sqlx_postgres::dev::prelude - Rust
    pub struct Level {
    -    pub visitor_threshold: u32,
    -    pub difficulty_factor: u32,
    +Level in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct Level {
    +    pub visitor_threshold: u32,
    +    pub difficulty_factor: u32,
     }
    Expand description

    Level struct that describes threshold-difficulty factor mapping

    -

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( +

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Level, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +) -> Result<Level, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Level

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.NameHash.html b/db_sqlx_postgres/dev/prelude/struct.NameHash.html index 541b9b9e..a6024a7c 100644 --- a/db_sqlx_postgres/dev/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/dev/prelude/struct.NameHash.html @@ -1,34 +1,35 @@ -NameHash in db_sqlx_postgres::dev::prelude - Rust
    pub struct NameHash {
    -    pub username: String,
    -    pub hash: String,
    +NameHash in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct NameHash {
    +    pub username: String,
    +    pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    -

    Fields§

    §username: String

    username

    -
    §hash: String

    hashed password

    -

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    Fields§

    §username: String

    username

    +
    §hash: String

    hashed password

    +

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( +) -> Result<NameHash, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Notification.html b/db_sqlx_postgres/dev/prelude/struct.Notification.html index 2e2a36bb..5691ab48 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Notification.html +++ b/db_sqlx_postgres/dev/prelude/struct.Notification.html @@ -1,40 +1,41 @@ -Notification in db_sqlx_postgres::dev::prelude - Rust
    pub struct Notification {
    -    pub name: Option<String>,
    -    pub heading: Option<String>,
    -    pub message: Option<String>,
    -    pub received: Option<i64>,
    -    pub id: Option<i32>,
    +Notification in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct Notification {
    +    pub name: Option<String>,
    +    pub heading: Option<String>,
    +    pub message: Option<String>,
    +    pub received: Option<i64>,
    +    pub id: Option<i32>,
     }
    Expand description

    Represents notification

    -

    Fields§

    §name: Option<String>

    receiver name of the notification

    -
    §heading: Option<String>

    heading of the notification

    -
    §message: Option<String>

    message of the notification

    -
    §received: Option<i64>

    when notification was received

    -
    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    Fields§

    §name: Option<String>

    receiver name of the notification

    +
    §heading: Option<String>

    heading of the notification

    +
    §message: Option<String>

    message of the notification

    +
    §received: Option<i64>

    when notification was received

    +
    §id: Option<i32>

    db assigned ID of the notification

    +

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( +) -> Result<Notification, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.PerformanceAnalytics.html b/db_sqlx_postgres/dev/prelude/struct.PerformanceAnalytics.html index dd8b1d1a..2bc0caeb 100644 --- a/db_sqlx_postgres/dev/prelude/struct.PerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/prelude/struct.PerformanceAnalytics.html @@ -1,38 +1,39 @@ -PerformanceAnalytics in db_sqlx_postgres::dev::prelude - Rust
    pub struct PerformanceAnalytics {
    -    pub id: usize,
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +PerformanceAnalytics in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct PerformanceAnalytics {
    +    pub id: usize,
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §id: usize

    log ID

    -
    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    Fields§

    §id: usize

    log ID

    +
    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Register.html b/db_sqlx_postgres/dev/prelude/struct.Register.html index a8133b1e..8709cf74 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Register.html +++ b/db_sqlx_postgres/dev/prelude/struct.Register.html @@ -1,39 +1,40 @@ -Register in db_sqlx_postgres::dev::prelude - Rust
    pub struct Register<'a> {
    -    pub username: &'a str,
    -    pub secret: &'a str,
    -    pub hash: &'a str,
    -    pub email: Option<&'a str>,
    +Register in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct Register<'a> {
    +    pub username: &'a str,
    +    pub secret: &'a str,
    +    pub hash: &'a str,
    +    pub email: Option<&'a str>,
     }
    Expand description

    Data required to register a new user

    -

    Fields§

    §username: &'a str

    username of new user

    -
    §secret: &'a str

    secret of new user

    -
    §hash: &'a str

    hashed password of new use

    -
    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of new user

    +
    §secret: &'a str

    secret of new user

    +
    §hash: &'a str

    hashed password of new use

    +
    §email: Option<&'a str>

    Optionally, email of new use

    +

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( +) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Secret.html b/db_sqlx_postgres/dev/prelude/struct.Secret.html index 64bc19bf..cd6f2442 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Secret.html +++ b/db_sqlx_postgres/dev/prelude/struct.Secret.html @@ -1,32 +1,33 @@ -Secret in db_sqlx_postgres::dev::prelude - Rust
    pub struct Secret {
    -    pub secret: String,
    +Secret in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct Secret {
    +    pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    -

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    Fields§

    §secret: String

    user’s secret

    +

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( +) -> Result<Secret, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html index aa97e47e..f1bf026e 100644 --- a/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,36 +1,37 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev::prelude - Rust
    pub struct StatsUnixTimestamp {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    +StatsUnixTimestamp in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct StatsUnixTimestamp {
    +    pub config_fetches: Vec<i64>,
    +    pub solves: Vec<i64>,
    +    pub confirms: Vec<i64>,
     }
    Expand description

    Captcha statistics with time recorded in UNIX epoch formats

    -

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    -
    §solves: Vec<i64>

    times at which the PoW was solved

    -
    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    +
    §solves: Vec<i64>

    times at which the PoW was solved

    +
    §confirms: Vec<i64>

    times at which the PoW token was verified

    +

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( +) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html index 41b28bea..a67fa741 100644 --- a/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html @@ -1,36 +1,37 @@ -TrafficPattern in db_sqlx_postgres::dev::prelude - Rust
    pub struct TrafficPattern {
    -    pub avg_traffic: u32,
    -    pub peak_sustainable_traffic: u32,
    -    pub broke_my_site_traffic: Option<u32>,
    +TrafficPattern in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct TrafficPattern {
    +    pub avg_traffic: u32,
    +    pub peak_sustainable_traffic: u32,
    +    pub broke_my_site_traffic: Option<u32>,
     }
    Expand description

    User’s traffic pattern; used in generating a captcha configuration

    -

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    -
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    -
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    +
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    +
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    +

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( +) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html index 42cb91c5..2a67770d 100644 --- a/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html @@ -1,35 +1,36 @@ -UpdateEmail in db_sqlx_postgres::dev::prelude - Rust
    pub struct UpdateEmail<'a> {
    -    pub username: &'a str,
    -    pub new_email: &'a str,
    +UpdateEmail in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub struct UpdateEmail<'a> {
    +    pub username: &'a str,
    +    pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    -

    Fields§

    §username: &'a str

    username of the user

    -
    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of the user

    +
    §new_email: &'a str

    new email address of the user

    +

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( +) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html index 8f3a429c..1bf024fd 100644 --- a/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html @@ -1,7 +1,8 @@ -CloneSPDatabase in db_sqlx_postgres::dev::prelude - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub trait CloneSPDatabase {
         // Required method
    -    fn clone_db(&self) -> Box<dyn MCDatabase>;
    +    fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    \ No newline at end of file +

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    §

    impl<T> CloneSPDatabase for T
    where + T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.Connect.html b/db_sqlx_postgres/dev/prelude/trait.Connect.html index 22468796..fe3851d9 100644 --- a/db_sqlx_postgres/dev/prelude/trait.Connect.html +++ b/db_sqlx_postgres/dev/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev::prelude - Rust
    pub trait Connect {
    +Connect in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
         fn connect<'async_trait>(
             self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    source

    fn connect<'async_trait>( +

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type +) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>

    where + Self: 'async_trait,

    database specific error-type create connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.DBOps.html b/db_sqlx_postgres/dev/prelude/trait.DBOps.html index 66cf1d2a..45874cd2 100644 --- a/db_sqlx_postgres/dev/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/dev/prelude/trait.DBOps.html @@ -1,2 +1,3 @@ -DBOps in db_sqlx_postgres::dev::prelude - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    -

    Implementors§

    \ No newline at end of file +DBOps in db_sqlx_postgres::dev::prelude - Rust +
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.GetConnection.html b/db_sqlx_postgres/dev/prelude/trait.GetConnection.html index 9ff15e09..c9ef3967 100644 --- a/db_sqlx_postgres/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/prelude/trait.GetConnection.html @@ -1,18 +1,19 @@ -GetConnection in db_sqlx_postgres::dev::prelude - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub trait GetConnection {
         type Conn;
     
         // Required method
         fn get_conn<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    source

    type Conn

    database connection type

    -

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    type Conn

    database connection type

    +

    Required Methods§

    fn get_conn<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type get connection from connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html b/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html index ccd43600..b6f2c66c 100644 --- a/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html @@ -1,138 +1,139 @@ -MCDatabase in db_sqlx_postgres::dev::prelude - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +MCDatabase in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
     
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + email: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> - ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + current: &'life1 str, + new: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + secret: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> + username: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -140,10 +141,10 @@ Self: 'async_trait; fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -151,53 +152,53 @@ Self: 'async_trait; fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -205,25 +206,25 @@ Self: 'async_trait; fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -231,552 +232,552 @@ fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + id: i32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + psuedo_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> + page: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 - ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32 + ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 - ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> + duration: u32 + ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 - ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> + duration: u32, + location: u32 + ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; // Provided method fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    fn ping<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    ping DB

    -
    source

    fn register<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    ping DB

    +

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    register a new user

    -
    source

    fn delete_user<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    register a new user

    +

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    delete a user

    -
    source

    fn username_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    delete a user

    +

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if username exists

    -
    source

    fn get_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if username exists

    +

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get user email

    -
    source

    fn email_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get user email

    +

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + email: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if email exists

    -
    source

    fn update_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if email exists

    +

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update a user’s email

    -
    source

    fn get_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update a user’s email

    +

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> -) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s password

    -
    source

    fn update_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s password

    +

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update user’s password

    -
    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update user’s password

    +

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + current: &'life1 str, + new: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update username

    -
    source

    fn get_secret<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update username

    +

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret

    -
    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s secret

    +

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret from a captcha key

    -
    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    get a user’s secret from a captcha key

    +

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + secret: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update a user’s secret

    -
    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update a user’s secret

    +

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    create new captcha

    -
    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    create new captcha

    +

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha config

    -
    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha config

    +

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get all captchas belonging to user

    -
    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all captchas belonging to user

    +

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -
    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    +

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -
    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha key; doesn’t change metadata

    +

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add levels to captcha

    -
    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add levels to captcha

    +

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    check if captcha exists

    -
    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    check if captcha exists

    +

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete all levels of a captcha

    -
    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete all levels of a captcha

    +

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete captcha

    -
    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete captcha

    +

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha levels

    -
    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha levels

    +

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get captcha’s cooldown period

    -
    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    Get captcha’s cooldown period

    +

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add traffic configuration

    -
    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add traffic configuration

    +

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get traffic configuration

    -
    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + Self: 'async_trait,

    Get traffic configuration

    +

    fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all easy captcha configurations on instance

    -
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete traffic configuration

    -
    source

    fn create_notification<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Delete traffic configuration

    +

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    create new notification

    -
    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    create new notification

    +

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get all unread notifications

    -
    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get all unread notifications

    +

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + id: i32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    mark a notification read

    -
    source

    fn record_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    mark a notification read

    +

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig fetches

    -
    source

    fn record_solve<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig fetches

    +

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig solves

    -
    source

    fn record_confirm<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig solves

    +

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig confirms

    -
    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    record PoWConfig confirms

    +

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig fetches

    -
    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig fetches

    +

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig solves

    -
    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig solves

    +

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig confirms

    -
    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig confirms

    +

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    record PoW timing

    -
    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoW timing

    +

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    fetch PoW analytics

    -
    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    fetch PoW analytics

    +

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -
    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    +

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get psuedo ID from campaign ID

    -
    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get psuedo ID from campaign ID

    +

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + psuedo_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get campaign ID from psuedo ID

    -
    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get campaign ID from psuedo ID

    +

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Delete all records for campaign

    -
    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( + Self: 'async_trait,

    Delete all records for campaign

    +

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where + page: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all psuedo IDs

    -
    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get all psuedo IDs

    +

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -
    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Track maximum nonce received against captcha levels

    +

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 -) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32 +) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -
    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( + Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    +

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 -) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where + duration: u32 +) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -
    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( + Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    +

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 -) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>where + duration: u32, + location: u32 +) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit + Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file + Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    +

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.Migrate.html b/db_sqlx_postgres/dev/prelude/trait.Migrate.html index ae8f7fbc..a2223874 100644 --- a/db_sqlx_postgres/dev/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/dev/prelude/trait.Migrate.html @@ -1,15 +1,16 @@ -Migrate in db_sqlx_postgres::dev::prelude - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type run migrations

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/type.BoxDynError.html b/db_sqlx_postgres/dev/prelude/type.BoxDynError.html index 026bbc93..cc4fa361 100644 --- a/db_sqlx_postgres/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/prelude/type.BoxDynError.html @@ -1,2 +1,3 @@ -BoxDynError in db_sqlx_postgres::dev::prelude - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    -

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file +BoxDynError in db_sqlx_postgres::dev::prelude - Rust +
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/type.DBResult.html b/db_sqlx_postgres/dev/prelude/type.DBResult.html index fe00e855..7f45fcc1 100644 --- a/db_sqlx_postgres/dev/prelude/type.DBResult.html +++ b/db_sqlx_postgres/dev/prelude/type.DBResult.html @@ -1,7 +1,8 @@ -DBResult in db_sqlx_postgres::dev::prelude - Rust
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    -

    Aliased Type§

    enum DBResult<V> {
    +DBResult in db_sqlx_postgres::dev::prelude - Rust
    +    
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(DBError)

    Contains the error value

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.AddNotification.html b/db_sqlx_postgres/dev/struct.AddNotification.html index 23efffaf..69862720 100644 --- a/db_sqlx_postgres/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/struct.AddNotification.html @@ -1,39 +1,40 @@ -AddNotification in db_sqlx_postgres::dev - Rust
    pub struct AddNotification<'a> {
    -    pub to: &'a str,
    -    pub from: &'a str,
    -    pub heading: &'a str,
    -    pub message: &'a str,
    +AddNotification in db_sqlx_postgres::dev - Rust
    +    
    pub struct AddNotification<'a> {
    +    pub to: &'a str,
    +    pub from: &'a str,
    +    pub heading: &'a str,
    +    pub message: &'a str,
     }
    Expand description

    Data required to add notification

    -

    Fields§

    §to: &'a str

    who is the notification addressed to?

    -
    §from: &'a str

    notification sender

    -
    §heading: &'a str

    heading of the notification

    -
    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where - 'de: 'a,

    Fields§

    §to: &'a str

    who is the notification addressed to?

    +
    §from: &'a str

    notification sender

    +
    §heading: &'a str

    heading of the notification

    +
    §message: &'a str

    message of the notification

    +

    Trait Implementations§

    §

    impl<'a> Clone for AddNotification<'a>

    §

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for AddNotification<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for AddNotification<'a>

    §

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( +) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for AddNotification<'a>

    §

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Captcha.html b/db_sqlx_postgres/dev/struct.Captcha.html index 6ae900d0..9a3170ac 100644 --- a/db_sqlx_postgres/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/struct.Captcha.html @@ -1,38 +1,39 @@ -Captcha in db_sqlx_postgres::dev - Rust
    pub struct Captcha {
    -    pub config_id: i32,
    -    pub duration: i32,
    -    pub description: String,
    -    pub key: String,
    +Captcha in db_sqlx_postgres::dev - Rust
    +    
    pub struct Captcha {
    +    pub config_id: i32,
    +    pub duration: i32,
    +    pub description: String,
    +    pub key: String,
     }
    Expand description

    Data representing a captcha

    -

    Fields§

    §config_id: i32

    Database assigned ID

    -
    §duration: i32

    cool down duration

    -
    §description: String

    description of the captcha

    -
    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    Fields§

    §config_id: i32

    Database assigned ID

    +
    §duration: i32

    cool down duration

    +
    §description: String

    description of the captcha

    +
    §key: String

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( +) -> Result<Captcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/struct.CreateCaptcha.html index b0291e58..bf5fa258 100644 --- a/db_sqlx_postgres/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/struct.CreateCaptcha.html @@ -1,37 +1,38 @@ -CreateCaptcha in db_sqlx_postgres::dev - Rust
    pub struct CreateCaptcha<'a> {
    -    pub duration: i32,
    -    pub description: &'a str,
    -    pub key: &'a str,
    +CreateCaptcha in db_sqlx_postgres::dev - Rust
    +    
    pub struct CreateCaptcha<'a> {
    +    pub duration: i32,
    +    pub description: &'a str,
    +    pub key: &'a str,
     }
    Expand description

    data required to create new captcha

    -

    Fields§

    §duration: i32

    cool down duration

    -
    §description: &'a str

    description of the captcha

    -
    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    Fields§

    §duration: i32

    cool down duration

    +
    §description: &'a str

    description of the captcha

    +
    §key: &'a str

    secret key of the captcha

    +

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( +) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.CreatePerformanceAnalytics.html b/db_sqlx_postgres/dev/struct.CreatePerformanceAnalytics.html index b9c9a1e9..52ad9fe3 100644 --- a/db_sqlx_postgres/dev/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/struct.CreatePerformanceAnalytics.html @@ -1,36 +1,37 @@ -CreatePerformanceAnalytics in db_sqlx_postgres::dev - Rust
    pub struct CreatePerformanceAnalytics {
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +CreatePerformanceAnalytics in db_sqlx_postgres::dev - Rust
    +    
    pub struct CreatePerformanceAnalytics {
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Log Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    Fields§

    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.EasyCaptcha.html b/db_sqlx_postgres/dev/struct.EasyCaptcha.html index 454bb3e1..77f90b69 100644 --- a/db_sqlx_postgres/dev/struct.EasyCaptcha.html +++ b/db_sqlx_postgres/dev/struct.EasyCaptcha.html @@ -1,38 +1,39 @@ -EasyCaptcha in db_sqlx_postgres::dev - Rust
    pub struct EasyCaptcha {
    +EasyCaptcha in db_sqlx_postgres::dev - Rust
    +    
    pub struct EasyCaptcha {
         pub traffic_pattern: TrafficPattern,
    -    pub key: String,
    -    pub description: String,
    -    pub username: String,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
     }
    Expand description

    Represents Easy captcha configuration

    -

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    -
    §key: String

    captcha key/sitekey

    -
    §description: String

    captcha description

    -
    §username: String

    Owner of the captcha configuration

    -

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    §

    impl Clone for EasyCaptcha

    §

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for EasyCaptcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for EasyCaptcha

    §

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for EasyCaptcha

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for EasyCaptcha

    §

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for EasyCaptcha

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Level.html b/db_sqlx_postgres/dev/struct.Level.html index 8aa24bf5..fcbfea8a 100644 --- a/db_sqlx_postgres/dev/struct.Level.html +++ b/db_sqlx_postgres/dev/struct.Level.html @@ -1,32 +1,33 @@ -Level in db_sqlx_postgres::dev - Rust

    Struct db_sqlx_postgres::dev::Level

    pub struct Level {
    -    pub visitor_threshold: u32,
    -    pub difficulty_factor: u32,
    +Level in db_sqlx_postgres::dev - Rust
    +    

    Struct db_sqlx_postgres::dev::Level

    pub struct Level {
    +    pub visitor_threshold: u32,
    +    pub difficulty_factor: u32,
     }
    Expand description

    Level struct that describes threshold-difficulty factor mapping

    -

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( +

    Fields§

    §visitor_threshold: u32§difficulty_factor: u32

    Trait Implementations§

    §

    impl Clone for Level

    §

    fn clone(&self) -> Level

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Level

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for Level

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Level, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +) -> Result<Level, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Level

    §

    fn eq(&self, other: &Level) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Level

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for Level

    §

    impl StructuralPartialEq for Level

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Level

    §

    impl Send for Level

    §

    impl Sync for Level

    §

    impl Unpin for Level

    §

    impl UnwindSafe for Level

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.NameHash.html b/db_sqlx_postgres/dev/struct.NameHash.html index d76e0ddf..9ccbd912 100644 --- a/db_sqlx_postgres/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/struct.NameHash.html @@ -1,34 +1,35 @@ -NameHash in db_sqlx_postgres::dev - Rust
    pub struct NameHash {
    -    pub username: String,
    -    pub hash: String,
    +NameHash in db_sqlx_postgres::dev - Rust
    +    
    pub struct NameHash {
    +    pub username: String,
    +    pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    -

    Fields§

    §username: String

    username

    -
    §hash: String

    hashed password

    -

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    Fields§

    §username: String

    username

    +
    §hash: String

    hashed password

    +

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( +) -> Result<NameHash, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Notification.html b/db_sqlx_postgres/dev/struct.Notification.html index bed274ed..ef08b1a6 100644 --- a/db_sqlx_postgres/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/struct.Notification.html @@ -1,40 +1,41 @@ -Notification in db_sqlx_postgres::dev - Rust
    pub struct Notification {
    -    pub name: Option<String>,
    -    pub heading: Option<String>,
    -    pub message: Option<String>,
    -    pub received: Option<i64>,
    -    pub id: Option<i32>,
    +Notification in db_sqlx_postgres::dev - Rust
    +    
    pub struct Notification {
    +    pub name: Option<String>,
    +    pub heading: Option<String>,
    +    pub message: Option<String>,
    +    pub received: Option<i64>,
    +    pub id: Option<i32>,
     }
    Expand description

    Represents notification

    -

    Fields§

    §name: Option<String>

    receiver name of the notification

    -
    §heading: Option<String>

    heading of the notification

    -
    §message: Option<String>

    message of the notification

    -
    §received: Option<i64>

    when notification was received

    -
    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    Fields§

    §name: Option<String>

    receiver name of the notification

    +
    §heading: Option<String>

    heading of the notification

    +
    §message: Option<String>

    message of the notification

    +
    §received: Option<i64>

    when notification was received

    +
    §id: Option<i32>

    db assigned ID of the notification

    +

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( +) -> Result<Notification, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.PerformanceAnalytics.html b/db_sqlx_postgres/dev/struct.PerformanceAnalytics.html index 19ad9572..769a2e28 100644 --- a/db_sqlx_postgres/dev/struct.PerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/struct.PerformanceAnalytics.html @@ -1,38 +1,39 @@ -PerformanceAnalytics in db_sqlx_postgres::dev - Rust
    pub struct PerformanceAnalytics {
    -    pub id: usize,
    -    pub time: u32,
    -    pub difficulty_factor: u32,
    -    pub worker_type: String,
    +PerformanceAnalytics in db_sqlx_postgres::dev - Rust
    +    
    pub struct PerformanceAnalytics {
    +    pub id: usize,
    +    pub time: u32,
    +    pub difficulty_factor: u32,
    +    pub worker_type: String,
     }
    Expand description

    Proof-of-Work CAPTCHA performance analytics

    -

    Fields§

    §id: usize

    log ID

    -
    §time: u32

    time taken to generate proof

    -
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    -
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    Fields§

    §id: usize

    log ID

    +
    §time: u32

    time taken to generate proof

    +
    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    +
    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    +

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( +) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Register.html b/db_sqlx_postgres/dev/struct.Register.html index bb8f49d1..714b50e5 100644 --- a/db_sqlx_postgres/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/struct.Register.html @@ -1,39 +1,40 @@ -Register in db_sqlx_postgres::dev - Rust
    pub struct Register<'a> {
    -    pub username: &'a str,
    -    pub secret: &'a str,
    -    pub hash: &'a str,
    -    pub email: Option<&'a str>,
    +Register in db_sqlx_postgres::dev - Rust
    +    
    pub struct Register<'a> {
    +    pub username: &'a str,
    +    pub secret: &'a str,
    +    pub hash: &'a str,
    +    pub email: Option<&'a str>,
     }
    Expand description

    Data required to register a new user

    -

    Fields§

    §username: &'a str

    username of new user

    -
    §secret: &'a str

    secret of new user

    -
    §hash: &'a str

    hashed password of new use

    -
    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of new user

    +
    §secret: &'a str

    secret of new user

    +
    §hash: &'a str

    hashed password of new use

    +
    §email: Option<&'a str>

    Optionally, email of new use

    +

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( +) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Secret.html b/db_sqlx_postgres/dev/struct.Secret.html index a18979a2..bb0c3fbc 100644 --- a/db_sqlx_postgres/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/struct.Secret.html @@ -1,32 +1,33 @@ -Secret in db_sqlx_postgres::dev - Rust
    pub struct Secret {
    -    pub secret: String,
    +Secret in db_sqlx_postgres::dev - Rust
    +    
    pub struct Secret {
    +    pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    -

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    Fields§

    §secret: String

    user’s secret

    +

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( +) -> Result<Secret, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html index feaa6b2a..44f3e508 100644 --- a/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html @@ -1,36 +1,37 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev - Rust
    pub struct StatsUnixTimestamp {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    +StatsUnixTimestamp in db_sqlx_postgres::dev - Rust
    +    
    pub struct StatsUnixTimestamp {
    +    pub config_fetches: Vec<i64>,
    +    pub solves: Vec<i64>,
    +    pub confirms: Vec<i64>,
     }
    Expand description

    Captcha statistics with time recorded in UNIX epoch formats

    -

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    -
    §solves: Vec<i64>

    times at which the PoW was solved

    -
    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    +
    §solves: Vec<i64>

    times at which the PoW was solved

    +
    §confirms: Vec<i64>

    times at which the PoW token was verified

    +

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( +) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/struct.TrafficPattern.html index 7933d3f8..aea088e9 100644 --- a/db_sqlx_postgres/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/struct.TrafficPattern.html @@ -1,36 +1,37 @@ -TrafficPattern in db_sqlx_postgres::dev - Rust
    pub struct TrafficPattern {
    -    pub avg_traffic: u32,
    -    pub peak_sustainable_traffic: u32,
    -    pub broke_my_site_traffic: Option<u32>,
    +TrafficPattern in db_sqlx_postgres::dev - Rust
    +    
    pub struct TrafficPattern {
    +    pub avg_traffic: u32,
    +    pub peak_sustainable_traffic: u32,
    +    pub broke_my_site_traffic: Option<u32>,
     }
    Expand description

    User’s traffic pattern; used in generating a captcha configuration

    -

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    -
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    -
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    +
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    +
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    +

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( +) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/struct.UpdateEmail.html index b1c3fd81..900f482f 100644 --- a/db_sqlx_postgres/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/struct.UpdateEmail.html @@ -1,35 +1,36 @@ -UpdateEmail in db_sqlx_postgres::dev - Rust
    pub struct UpdateEmail<'a> {
    -    pub username: &'a str,
    -    pub new_email: &'a str,
    +UpdateEmail in db_sqlx_postgres::dev - Rust
    +    
    pub struct UpdateEmail<'a> {
    +    pub username: &'a str,
    +    pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    -

    Fields§

    §username: &'a str

    username of the user

    -
    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    Fields§

    §username: &'a str

    username of the user

    +
    §new_email: &'a str

    new email address of the user

    +

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>
    where + 'de: 'a,

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( +) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,
    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/constant.LEVELS.html b/db_sqlx_postgres/dev/tests/constant.LEVELS.html index 61b39fb7..75978030 100644 --- a/db_sqlx_postgres/dev/tests/constant.LEVELS.html +++ b/db_sqlx_postgres/dev/tests/constant.LEVELS.html @@ -1,2 +1,3 @@ -LEVELS in db_sqlx_postgres::dev::tests - Rust

    Constant db_sqlx_postgres::dev::tests::LEVELS

    source ·
    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    +LEVELS in db_sqlx_postgres::dev::tests - Rust +

    Constant db_sqlx_postgres::dev::tests::LEVELS

    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/constant.TRAFFIC_PATTERN.html b/db_sqlx_postgres/dev/tests/constant.TRAFFIC_PATTERN.html index 9719e7de..a1c38bcc 100644 --- a/db_sqlx_postgres/dev/tests/constant.TRAFFIC_PATTERN.html +++ b/db_sqlx_postgres/dev/tests/constant.TRAFFIC_PATTERN.html @@ -1,2 +1,3 @@ -TRAFFIC_PATTERN in db_sqlx_postgres::dev::tests - Rust
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    +TRAFFIC_PATTERN in db_sqlx_postgres::dev::tests - Rust +
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/fn.database_works.html b/db_sqlx_postgres/dev/tests/fn.database_works.html index 069c64e7..9816e767 100644 --- a/db_sqlx_postgres/dev/tests/fn.database_works.html +++ b/db_sqlx_postgres/dev/tests/fn.database_works.html @@ -1,10 +1,11 @@ -database_works in db_sqlx_postgres::dev::tests - Rust
    pub async fn database_works<T, 'a>(
    -    db: &T,
    +database_works in db_sqlx_postgres::dev::tests - Rust
    +    
    pub async fn database_works<T, 'a>(
    +    db: &T,
         p: &Register<'a>,
         c: &CreateCaptcha<'a>,
         l: &[Level],
         tp: &TrafficPattern,
         an: &AddNotification<'a>
    -)where
    -    T: MCDatabase,
    Expand description

    test all database functions

    +)
    where + T: MCDatabase,
    Expand description

    test all database functions

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/index.html b/db_sqlx_postgres/dev/tests/index.html index 0805c220..5b2d8ec3 100644 --- a/db_sqlx_postgres/dev/tests/index.html +++ b/db_sqlx_postgres/dev/tests/index.html @@ -1,2 +1,3 @@ -db_sqlx_postgres::dev::tests - Rust

    Module db_sqlx_postgres::dev::tests

    source ·
    Expand description

    Test utilities

    -

    Constants

    Functions

    \ No newline at end of file +db_sqlx_postgres::dev::tests - Rust +

    Module db_sqlx_postgres::dev::tests

    Expand description

    Test utilities

    +

    Constants

    Functions

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/trait.CloneSPDatabase.html index 5017185e..20c9992d 100644 --- a/db_sqlx_postgres/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/trait.CloneSPDatabase.html @@ -1,7 +1,8 @@ -CloneSPDatabase in db_sqlx_postgres::dev - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_postgres::dev - Rust
    +    
    pub trait CloneSPDatabase {
         // Required method
    -    fn clone_db(&self) -> Box<dyn MCDatabase>;
    +    fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    \ No newline at end of file +

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    §

    impl<T> CloneSPDatabase for T
    where + T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.Connect.html b/db_sqlx_postgres/dev/trait.Connect.html index fa166e6a..51673279 100644 --- a/db_sqlx_postgres/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev - Rust
    pub trait Connect {
    +Connect in db_sqlx_postgres::dev - Rust
    +    
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
         fn connect<'async_trait>(
             self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    source

    fn connect<'async_trait>( +

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type +) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>

    where + Self: 'async_trait,

    database specific error-type create connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.DBOps.html b/db_sqlx_postgres/dev/trait.DBOps.html index f488789e..00e6bd46 100644 --- a/db_sqlx_postgres/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/trait.DBOps.html @@ -1,2 +1,3 @@ -DBOps in db_sqlx_postgres::dev - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    -

    Implementors§

    \ No newline at end of file +DBOps in db_sqlx_postgres::dev - Rust +
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/trait.GetConnection.html index ccaab844..a6d50042 100644 --- a/db_sqlx_postgres/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/trait.GetConnection.html @@ -1,18 +1,19 @@ -GetConnection in db_sqlx_postgres::dev - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_postgres::dev - Rust
    +    
    pub trait GetConnection {
         type Conn;
     
         // Required method
         fn get_conn<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    source

    type Conn

    database connection type

    -

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    type Conn

    database connection type

    +

    Required Methods§

    fn get_conn<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type get connection from connection pool

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/trait.MCDatabase.html index 9b03e99e..6664190b 100644 --- a/db_sqlx_postgres/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/trait.MCDatabase.html @@ -1,138 +1,139 @@ -MCDatabase in db_sqlx_postgres::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +MCDatabase in db_sqlx_postgres::dev - Rust
    +    
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
     
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self - ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + email: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> - ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + current: &'life1 str, + new: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + secret: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> + username: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -140,10 +141,10 @@ Self: 'async_trait; fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -151,53 +152,53 @@ Self: 'async_trait; fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> + username: Option<&'life1 str>, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -205,25 +206,25 @@ Self: 'async_trait; fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + captcha_key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, @@ -231,552 +232,552 @@ fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> + username: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + username: &'life1 str, + id: i32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + key: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str - ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> + user: &'life1 str, + key: &'life2 str + ) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + captcha_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> + psuedo_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize - ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> + page: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 - ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 + ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 - ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> + captcha_key: &'life1 str, + difficulty_factor: u32 + ) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait; fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 - ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> + duration: u32 + ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 - ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> + duration: u32, + location: u32 + ) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; // Provided method fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str - ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> + campaign_id: &'life1 str + ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>> where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    fn ping<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    ping DB

    -
    source

    fn register<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    ping DB

    +

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    register a new user

    -
    source

    fn delete_user<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    register a new user

    +

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    delete a user

    -
    source

    fn username_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    delete a user

    +

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if username exists

    -
    source

    fn get_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if username exists

    +

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get user email

    -
    source

    fn email_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get user email

    +

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + email: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    check if email exists

    -
    source

    fn update_email<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    check if email exists

    +

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update a user’s email

    -
    source

    fn get_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update a user’s email

    +

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> -) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s password

    -
    source

    fn update_password<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s password

    +

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    update user’s password

    -
    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update user’s password

    +

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + current: &'life1 str, + new: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update username

    -
    source

    fn get_secret<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    update username

    +

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret

    -
    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get a user’s secret

    +

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get a user’s secret from a captcha key

    -
    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    get a user’s secret from a captcha key

    +

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + secret: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update a user’s secret

    -
    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    update a user’s secret

    +

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    create new captcha

    -
    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    create new captcha

    +

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha config

    -
    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha config

    +

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get all captchas belonging to user

    -
    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all captchas belonging to user

    +

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -
    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    +

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -
    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    update captcha key; doesn’t change metadata

    +

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add levels to captcha

    -
    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add levels to captcha

    +

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    check if captcha exists

    -
    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    check if captcha exists

    +

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete all levels of a captcha

    -
    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete all levels of a captcha

    +

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete captcha

    -
    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Delete captcha

    +

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Level>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get captcha levels

    -
    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get captcha levels

    +

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get captcha’s cooldown period

    -
    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( + Self: 'async_trait,

    Get captcha’s cooldown period

    +

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, - Self: 'async_trait,

    Add traffic configuration

    -
    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Add traffic configuration

    +

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Get traffic configuration

    -
    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + Self: 'async_trait,

    Get traffic configuration

    +

    fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all easy captcha configurations on instance

    -
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    Delete traffic configuration

    -
    source

    fn create_notification<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Delete traffic configuration

    +

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    create new notification

    -
    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    create new notification

    +

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    get all unread notifications

    -
    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    get all unread notifications

    +

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + username: &'life1 str, + id: i32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    mark a notification read

    -
    source

    fn record_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    mark a notification read

    +

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig fetches

    -
    source

    fn record_solve<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig fetches

    +

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig solves

    -
    source

    fn record_confirm<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoWConfig solves

    +

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    record PoWConfig confirms

    -
    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    record PoWConfig confirms

    +

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig fetches

    -
    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig fetches

    +

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig solves

    -
    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig solves

    +

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = Result<Vec<i64>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    fetch PoWConfig confirms

    -
    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( + Self: 'async_trait,

    fetch PoWConfig confirms

    +

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - Self: 'async_trait,

    record PoW timing

    -
    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    record PoW timing

    +

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<PerformanceAnalytics>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    fetch PoW analytics

    -
    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    fetch PoW analytics

    +

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -
    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    +

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get psuedo ID from campaign ID

    -
    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get psuedo ID from campaign ID

    +

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where + psuedo_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get campaign ID from psuedo ID

    -
    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get campaign ID from psuedo ID

    +

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Delete all records for campaign

    -
    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( + Self: 'async_trait,

    Delete all records for campaign

    +

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize -) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where + page: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get all psuedo IDs

    -
    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Get all psuedo IDs

    +

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -
    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( + Self: 'async_trait,

    Track maximum nonce received against captcha levels

    +

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 -) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32 +) -> Pin<Box<dyn Future<Output = Result<u32, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -
    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( + Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    +

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 -) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where + duration: u32 +) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -
    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( + Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    +

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 -) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>where + duration: u32, + location: u32 +) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit + Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file + Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    +

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.Migrate.html b/db_sqlx_postgres/dev/trait.Migrate.html index 84451f0b..e4266e1e 100644 --- a/db_sqlx_postgres/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/trait.Migrate.html @@ -1,15 +1,16 @@ -Migrate in db_sqlx_postgres::dev - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_postgres::dev - Rust
    +    
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, - Self: 'async_trait,

    database specific error-type + Self: 'async_trait,

    database specific error-type run migrations

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/type.BoxDynError.html index 10312edd..2120a863 100644 --- a/db_sqlx_postgres/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/type.BoxDynError.html @@ -1,2 +1,3 @@ -BoxDynError in db_sqlx_postgres::dev - Rust

    Type Alias db_sqlx_postgres::dev::BoxDynError

    source ·
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    -

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file +BoxDynError in db_sqlx_postgres::dev - Rust +

    Type Alias db_sqlx_postgres::dev::BoxDynError

    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/type.DBResult.html b/db_sqlx_postgres/dev/type.DBResult.html index d1c9e3e4..aa335de1 100644 --- a/db_sqlx_postgres/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/type.DBResult.html @@ -1,7 +1,8 @@ -DBResult in db_sqlx_postgres::dev - Rust

    Type Alias db_sqlx_postgres::dev::DBResult

    source ·
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    -

    Aliased Type§

    enum DBResult<V> {
    +DBResult in db_sqlx_postgres::dev - Rust
    +    

    Type Alias db_sqlx_postgres::dev::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(DBError)

    Contains the error value

    \ No newline at end of file diff --git a/db_sqlx_postgres/enum.ConnectionOptions.html b/db_sqlx_postgres/enum.ConnectionOptions.html index 133ecceb..b95e09d6 100644 --- a/db_sqlx_postgres/enum.ConnectionOptions.html +++ b/db_sqlx_postgres/enum.ConnectionOptions.html @@ -1,27 +1,28 @@ -ConnectionOptions in db_sqlx_postgres - Rust
    pub enum ConnectionOptions {
    +ConnectionOptions in db_sqlx_postgres - Rust
    +    
    pub enum ConnectionOptions {
         Fresh(Fresh),
         Existing(Conn),
     }
    Expand description

    Connect to database

    -

    Variants§

    §

    Fresh(Fresh)

    fresh connection

    +

    Variants§

    §

    Fresh(Fresh)

    fresh connection

    §

    Existing(Conn)

    existing connection

    -

    Trait Implementations§

    source§

    impl Connect for ConnectionOptions

    §

    type Pool = Database

    database specific pool-type
    source§

    fn connect<'async_trait>( +

    Trait Implementations§

    source§

    impl Connect for ConnectionOptions

    §

    type Pool = Database

    database specific pool-type
    source§

    fn connect<'async_trait>( self -) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>where - Self: 'async_trait,

    database specific error-type -create connection pool

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>
    where + Self: 'async_trait,
    database specific error-type +create connection pool

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/errors/fn.map_register_err.html b/db_sqlx_postgres/errors/fn.map_register_err.html index f8449bf9..b436db37 100644 --- a/db_sqlx_postgres/errors/fn.map_register_err.html +++ b/db_sqlx_postgres/errors/fn.map_register_err.html @@ -1,2 +1,3 @@ -map_register_err in db_sqlx_postgres::errors - Rust
    pub fn map_register_err(e: Error) -> DBError
    Expand description

    map postgres errors to DBError types

    +map_register_err in db_sqlx_postgres::errors - Rust +
    pub fn map_register_err(e: Error) -> DBError
    Expand description

    map postgres errors to DBError types

    \ No newline at end of file diff --git a/db_sqlx_postgres/errors/fn.map_row_not_found_err.html b/db_sqlx_postgres/errors/fn.map_row_not_found_err.html index 8d3c403a..280075fa 100644 --- a/db_sqlx_postgres/errors/fn.map_row_not_found_err.html +++ b/db_sqlx_postgres/errors/fn.map_row_not_found_err.html @@ -1,2 +1,3 @@ -map_row_not_found_err in db_sqlx_postgres::errors - Rust
    pub fn map_row_not_found_err(e: Error, row_not_found: DBError) -> DBError
    Expand description

    map custom row not found error to DB error

    +map_row_not_found_err in db_sqlx_postgres::errors - Rust +
    pub fn map_row_not_found_err(e: Error, row_not_found: DBError) -> DBError
    Expand description

    map custom row not found error to DB error

    \ No newline at end of file diff --git a/db_sqlx_postgres/errors/index.html b/db_sqlx_postgres/errors/index.html index dbe9b14c..e2737912 100644 --- a/db_sqlx_postgres/errors/index.html +++ b/db_sqlx_postgres/errors/index.html @@ -1,2 +1,3 @@ -db_sqlx_postgres::errors - Rust
    Expand description

    Error-handling utilities

    -

    Functions

    \ No newline at end of file +db_sqlx_postgres::errors - Rust +
    Expand description

    Error-handling utilities

    +

    Functions

    \ No newline at end of file diff --git a/db_sqlx_postgres/index.html b/db_sqlx_postgres/index.html index 3e27d427..dc8c0b48 100644 --- a/db_sqlx_postgres/index.html +++ b/db_sqlx_postgres/index.html @@ -1,2 +1,3 @@ -db_sqlx_postgres - Rust

    Crate db_sqlx_postgres

    source ·

    Modules

    Structs

    Enums

    \ No newline at end of file +db_sqlx_postgres - Rust +

    Crate db_sqlx_postgres

    source ·

    Modules

    Structs

    Enums

    \ No newline at end of file diff --git a/db_sqlx_postgres/prelude/index.html b/db_sqlx_postgres/prelude/index.html index 2981e829..03406d72 100644 --- a/db_sqlx_postgres/prelude/index.html +++ b/db_sqlx_postgres/prelude/index.html @@ -1 +1,2 @@ -db_sqlx_postgres::prelude - Rust

    Re-exports

    \ No newline at end of file +db_sqlx_postgres::prelude - Rust +

    Re-exports

    \ No newline at end of file diff --git a/db_sqlx_postgres/struct.Conn.html b/db_sqlx_postgres/struct.Conn.html index af8a19ee..945c3667 100644 --- a/db_sqlx_postgres/struct.Conn.html +++ b/db_sqlx_postgres/struct.Conn.html @@ -1,18 +1,19 @@ -Conn in db_sqlx_postgres - Rust

    Struct db_sqlx_postgres::Conn

    source ·
    pub struct Conn(pub PgPool);
    Expand description

    Use an existing database pool

    -

    Tuple Fields§

    §0: PgPool

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Conn

    §

    impl Send for Conn

    §

    impl Sync for Conn

    §

    impl Unpin for Conn

    §

    impl !UnwindSafe for Conn

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Conn in db_sqlx_postgres - Rust +

    Struct db_sqlx_postgres::Conn

    source ·
    pub struct Conn(pub PgPool);
    Expand description

    Use an existing database pool

    +

    Tuple Fields§

    §0: PgPool

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Conn

    §

    impl Send for Conn

    §

    impl Sync for Conn

    §

    impl Unpin for Conn

    §

    impl !UnwindSafe for Conn

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/struct.Database.html b/db_sqlx_postgres/struct.Database.html index ffdd2c4b..01da090c 100644 --- a/db_sqlx_postgres/struct.Database.html +++ b/db_sqlx_postgres/struct.Database.html @@ -1,412 +1,413 @@ -Database in db_sqlx_postgres - Rust
    pub struct Database {
    +Database in db_sqlx_postgres - Rust
    +    
    pub struct Database {
         pub pool: PgPool,
    -}

    Fields§

    §pool: PgPool

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl MCDatabase for Database

    source§

    fn ping<'life0, 'async_trait>( +}

    Fields§

    §pool: PgPool

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl MCDatabase for Database

    source§

    fn ping<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    ping DB

    + 'life0: 'async_trait,

    ping DB

    source§

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    register a new user

    + 'life1: 'async_trait,

    register a new user

    source§

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    delete a user

    + 'life1: 'async_trait,

    delete a user

    source§

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    check if username exists

    + 'life1: 'async_trait,

    check if username exists

    source§

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get user email

    + 'life1: 'async_trait,

    get user email

    source§

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, - email: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + email: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    check if email exists

    + 'life1: 'async_trait,

    check if email exists

    source§

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    update a user’s email

    + 'life1: 'async_trait,

    update a user’s email

    source§

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> -) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get a user’s password

    + 'life1: 'async_trait,

    get a user’s password

    source§

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    update user’s password

    + 'life1: 'async_trait,

    update user’s password

    source§

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - current: &'life1 str, - new: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + current: &'life1 str, + new: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    update username

    + 'life2: 'async_trait,

    update username

    source§

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get a user’s secret

    + 'life1: 'async_trait,

    get a user’s secret

    source§

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get a user’s secret from a captcha key

    + 'life1: 'async_trait,

    get a user’s secret from a captcha key

    source§

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - secret: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + secret: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    update a user’s secret

    + 'life2: 'async_trait,

    update a user’s secret

    source§

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    create new captcha

    + 'life2: 'async_trait,

    create new captcha

    source§

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>where + username: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Get captcha config

    + 'life2: 'async_trait,

    Get captcha config

    source§

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get all captchas belonging to user

    + 'life1: 'async_trait,

    Get all captchas belonging to user

    source§

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, + username: &'life1 str, p: &'life2 CreateCaptcha<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    + 'life2: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    source§

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - old_key: &'life2 str, - new_key: &'life3 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + old_key: &'life2 str, + new_key: &'life3 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    update captcha key; doesn’t change metadata

    + 'life3: 'async_trait,

    update captcha key; doesn’t change metadata

    source§

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, levels: &'life3 [Level] -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    Add levels to captcha

    + 'life3: 'async_trait,

    Add levels to captcha

    source§

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    check if captcha exists

    + 'life2: 'async_trait,

    check if captcha exists

    source§

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Delete all levels of a captcha

    + 'life2: 'async_trait,

    Delete all levels of a captcha

    source§

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Delete captcha

    + 'life2: 'async_trait,

    Delete captcha

    source§

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: Option<&'life1 str>, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>where + username: Option<&'life1 str>, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Get captcha levels

    + 'life2: 'async_trait,

    Get captcha levels

    source§

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>where + captcha_key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get captcha’s cooldown period

    + 'life1: 'async_trait,

    Get captcha’s cooldown period

    source§

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str, + username: &'life1 str, + captcha_key: &'life2 str, pattern: &'life3 TrafficPattern -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    Add traffic configuration

    + 'life3: 'async_trait,

    Add traffic configuration

    source§

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Get traffic configuration

    + 'life2: 'async_trait,

    Get traffic configuration

    source§

    fn get_all_easy_captchas<'life0, 'async_trait>( &'life0 self, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>where + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get all easy captcha configurations on instance

    + 'life0: 'async_trait,

    Get all easy captcha configurations on instance

    source§

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - username: &'life1 str, - captcha_key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + captcha_key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    Delete traffic configuration

    + 'life2: 'async_trait,

    Delete traffic configuration

    source§

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    create new notification

    + 'life1: 'async_trait,

    create new notification

    source§

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>where + username: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    get all unread notifications

    + 'life1: 'async_trait,

    get all unread notifications

    source§

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, - username: &'life1 str, - id: i32 -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + username: &'life1 str, + id: i32 +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    mark a notification read

    + 'life1: 'async_trait,

    mark a notification read

    source§

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    record PoWConfig fetches

    + 'life1: 'async_trait,

    record PoWConfig fetches

    source§

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    record PoWConfig solves

    + 'life1: 'async_trait,

    record PoWConfig solves

    source§

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, - key: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    record PoWConfig confirms

    + 'life1: 'async_trait,

    record PoWConfig confirms

    source§

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    fetch PoWConfig fetches

    + 'life2: 'async_trait,

    fetch PoWConfig fetches

    source§

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    fetch PoWConfig solves

    + 'life2: 'async_trait,

    fetch PoWConfig solves

    source§

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - user: &'life1 str, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where + user: &'life1 str, + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    fetch PoWConfig confirms

    + 'life2: 'async_trait,

    fetch PoWConfig confirms

    source§

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, + captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoW timing

    + 'life2: 'async_trait,

    record PoW timing

    source§

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str, - limit: usize, - offset: usize -) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>>where + captcha_id: &'life1 str, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    fetch PoW analytics

    + 'life1: 'async_trait,

    fetch PoW analytics

    source§

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    + 'life1: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    source§

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where + captcha_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get psuedo ID from campaign ID

    + 'life1: 'async_trait,

    Get psuedo ID from campaign ID

    source§

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, - psuedo_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where + psuedo_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get campaign ID from psuedo ID

    + 'life1: 'async_trait,

    Get campaign ID from psuedo ID

    source§

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, - page: usize -) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>where + page: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get all psuedo IDs

    + 'life0: 'async_trait,

    Get all psuedo IDs

    source§

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32, - latest_nonce: u32 -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32, + latest_nonce: u32 +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Track maximum nonce received against captcha levels

    + 'life1: 'async_trait,

    Track maximum nonce received against captcha levels

    source§

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, - captcha_key: &'life1 str, - difficulty_factor: u32 -) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>>where + captcha_key: &'life1 str, + difficulty_factor: u32 +) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    + 'life1: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    source§

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, - duration: u32 -) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>where + duration: u32 +) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get number of analytics entries that are under a certain duration

    + 'life0: 'async_trait,

    Get number of analytics entries that are under a certain duration

    source§

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, - duration: u32, - location: u32 -) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>>where + duration: u32, + location: u32 +) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit + 'life0: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    source§

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Delete all records for campaign
    source§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( + 'life1: 'async_trait,

    Delete all records for campaign
    §

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, - campaign_id: &'life1 str -) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where + campaign_id: &'life1 str +) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>
    where 'life0: 'async_trait, 'life1: 'async_trait, - Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID
    source§

    impl Migrate for Database

    source§

    fn migrate<'life0, 'async_trait>( + Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID
    source§

    impl Migrate for Database

    source§

    fn migrate<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    database specific error-type -run migrations

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    source§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + 'life0: 'async_trait,
    database specific error-type +run migrations

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CloneSPDatabase for T
    where + T: MCDatabase + Clone + 'static,

    §

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/struct.Fresh.html b/db_sqlx_postgres/struct.Fresh.html index d925d340..796482ea 100644 --- a/db_sqlx_postgres/struct.Fresh.html +++ b/db_sqlx_postgres/struct.Fresh.html @@ -1,21 +1,22 @@ -Fresh in db_sqlx_postgres - Rust

    Struct db_sqlx_postgres::Fresh

    source ·
    pub struct Fresh {
    +Fresh in db_sqlx_postgres - Rust
    +    

    Struct db_sqlx_postgres::Fresh

    source ·
    pub struct Fresh {
         pub pool_options: PgPoolOptions,
    -    pub disable_logging: bool,
    -    pub url: String,
    -}

    Fields§

    §pool_options: PgPoolOptions§disable_logging: bool§url: String

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Fresh

    §

    impl Send for Fresh

    §

    impl Sync for Fresh

    §

    impl Unpin for Fresh

    §

    impl !UnwindSafe for Fresh

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + pub disable_logging: bool, + pub url: String, +}

    Fields§

    §pool_options: PgPoolOptions§disable_logging: bool§url: String

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Fresh

    §

    impl Send for Fresh

    §

    impl Sync for Fresh

    §

    impl Unpin for Fresh

    §

    impl !UnwindSafe for Fresh

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/db_sqlx_postgres/struct.InnerNotification.html b/db_sqlx_postgres/struct.InnerNotification.html index 1a21eec4..d83e112e 100644 --- a/db_sqlx_postgres/struct.InnerNotification.html +++ b/db_sqlx_postgres/struct.InnerNotification.html @@ -1,32 +1,33 @@ -InnerNotification in db_sqlx_postgres - Rust
    pub struct InnerNotification {
    -    pub name: Option<String>,
    -    pub heading: Option<String>,
    -    pub message: Option<String>,
    -    pub received: Option<OffsetDateTime>,
    -    pub id: Option<i32>,
    +InnerNotification in db_sqlx_postgres - Rust
    +    
    pub struct InnerNotification {
    +    pub name: Option<String>,
    +    pub heading: Option<String>,
    +    pub message: Option<String>,
    +    pub received: Option<OffsetDateTime>,
    +    pub id: Option<i32>,
     }
    Expand description

    Represents notification

    -

    Fields§

    §name: Option<String>

    receiver name of the notification

    -
    §heading: Option<String>

    heading of the notification

    -
    §message: Option<String>

    message of the notification

    -
    §received: Option<OffsetDateTime>

    when notification was received

    -
    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for InnerNotification

    source§

    fn clone(&self) -> InnerNotification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for InnerNotification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for InnerNotification

    source§

    fn default() -> InnerNotification

    Returns the “default value” for a type. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for InnerNotification

    source§

    fn eq(&self, other: &InnerNotification) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl StructuralPartialEq for InnerNotification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §name: Option<String>

    receiver name of the notification

    +
    §heading: Option<String>

    heading of the notification

    +
    §message: Option<String>

    message of the notification

    +
    §received: Option<OffsetDateTime>

    when notification was received

    +
    §id: Option<i32>

    db assigned ID of the notification

    +

    Trait Implementations§

    source§

    impl Clone for InnerNotification

    source§

    fn clone(&self) -> InnerNotification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for InnerNotification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for InnerNotification

    source§

    fn default() -> InnerNotification

    Returns the “default value” for a type. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for InnerNotification

    source§

    fn eq(&self, other: &InnerNotification) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl StructuralPartialEq for InnerNotification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/help.html b/help.html index ec23a056..f2fb7a6f 100644 --- a/help.html +++ b/help.html @@ -1 +1,2 @@ -Help

    Rustdoc help

    Back
    \ No newline at end of file +Help +

    Rustdoc help

    Back
    \ No newline at end of file diff --git a/mcaptcha/all.html b/mcaptcha/all.html index 685680c5..d6e68172 100644 --- a/mcaptcha/all.html +++ b/mcaptcha/all.html @@ -1 +1,2 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file +List of all items in this crate +

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file diff --git a/mcaptcha/api/index.html b/mcaptcha/api/index.html index e27559c1..8952796a 100644 --- a/mcaptcha/api/index.html +++ b/mcaptcha/api/index.html @@ -1 +1,2 @@ -mcaptcha::api - Rust

    Module mcaptcha::api

    source ·

    Modules

    \ No newline at end of file +mcaptcha::api - Rust +

    Module mcaptcha::api

    source ·

    Modules

    \ 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 5c4ed8dc..c44ac129 100644 --- a/mcaptcha/api/v1/account/delete/fn.services.html +++ b/mcaptcha/api/v1/account/delete/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::account::delete - Rust

    Function mcaptcha::api::v1::account::delete::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::account::delete - Rust +

    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 dc92adcd..356319f4 100644 --- a/mcaptcha/api/v1/account/delete/index.html +++ b/mcaptcha/api/v1/account/delete/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::account::delete - Rust
    \ No newline at end of file +mcaptcha::api::v1::account::delete - Rust +
    \ 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 9a61936c..d4c6cb2c 100644 --- a/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html +++ b/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html @@ -1 +1,2 @@ -delete_user in mcaptcha::api::v1::account::delete::runners - Rust
    pub async fn delete_user(name: &str, data: &AppData) -> Result<(), ServiceError>
    \ No newline at end of file +delete_user in mcaptcha::api::v1::account::delete::runners - Rust +
    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 ae936b6e..a4d587b7 100644 --- a/mcaptcha/api/v1/account/delete/runners/index.html +++ b/mcaptcha/api/v1/account/delete/runners/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::account::delete::runners - Rust
    \ No newline at end of file +mcaptcha::api::v1::account::delete::runners - Rust +
    \ 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 a433b8d5..4b4e4283 100644 --- a/mcaptcha/api/v1/account/delete/struct.delete_account.html +++ b/mcaptcha/api/v1/account/delete/struct.delete_account.html @@ -1,17 +1,18 @@ -delete_account in mcaptcha::api::v1::account::delete - Rust
    pub struct delete_account;

    Trait Implementations§

    source§

    impl HttpServiceFactory for delete_account

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +delete_account in mcaptcha::api::v1::account::delete - Rust +
    pub struct delete_account;

    Trait Implementations§

    source§

    impl HttpServiceFactory for delete_account

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 83ab1c71..951b8ac4 100644 --- a/mcaptcha/api/v1/account/email/fn.services.html +++ b/mcaptcha/api/v1/account/email/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::account::email - Rust

    Function mcaptcha::api::v1::account::email::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::account::email - Rust +

    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 0feea4b8..3625e83b 100644 --- a/mcaptcha/api/v1/account/email/index.html +++ b/mcaptcha/api/v1/account/email/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::account::email - Rust
    \ No newline at end of file +mcaptcha::api::v1::account::email - Rust +
    \ 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 471edbf5..2c4c9d4e 100644 --- a/mcaptcha/api/v1/account/email/struct.Email.html +++ b/mcaptcha/api/v1/account/email/struct.Email.html @@ -1,23 +1,24 @@ -Email in mcaptcha::api::v1::account::email - Rust

    Struct mcaptcha::api::v1::account::email::Email

    source ·
    pub struct Email {
    -    pub email: String,
    -}

    Fields§

    §email: String

    Trait Implementations§

    source§

    impl Clone for Email

    source§

    fn clone(&self) -> Email

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Email

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Email

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Email

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Email

    §

    impl Send for Email

    §

    impl Sync for Email

    §

    impl Unpin for Email

    §

    impl UnwindSafe for Email

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Email in mcaptcha::api::v1::account::email - Rust +

    Struct mcaptcha::api::v1::account::email::Email

    source ·
    pub struct Email {
    +    pub email: String,
    +}

    Fields§

    §email: String

    Trait Implementations§

    source§

    impl Clone for Email

    source§

    fn clone(&self) -> Email

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Email

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Email

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Email

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Email

    §

    impl Send for Email

    §

    impl Sync for Email

    §

    impl Unpin for Email

    §

    impl UnwindSafe for Email

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 e670e391..f4283508 100644 --- a/mcaptcha/api/v1/account/email/struct.email_exists.html +++ b/mcaptcha/api/v1/account/email/struct.email_exists.html @@ -1,17 +1,18 @@ -email_exists in mcaptcha::api::v1::account::email - Rust
    pub struct email_exists;

    Trait Implementations§

    source§

    impl HttpServiceFactory for email_exists

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +email_exists in mcaptcha::api::v1::account::email - Rust +
    pub struct email_exists;

    Trait Implementations§

    source§

    impl HttpServiceFactory for email_exists

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 ea9877cb..1c0823d8 100644 --- a/mcaptcha/api/v1/account/email/struct.set_email.html +++ b/mcaptcha/api/v1/account/email/struct.set_email.html @@ -1,18 +1,19 @@ -set_email in mcaptcha::api::v1::account::email - Rust
    pub struct set_email;
    Expand description

    update email

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for set_email

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +set_email in mcaptcha::api::v1::account::email - Rust +
    pub struct set_email;
    Expand description

    update email

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for set_email

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 9f0a2b5c..3b70d35d 100644 --- a/mcaptcha/api/v1/account/fn.services.html +++ b/mcaptcha/api/v1/account/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::account - Rust

    Function mcaptcha::api::v1::account::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::account - Rust +

    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 e7aba6bb..a80b6a38 100644 --- a/mcaptcha/api/v1/account/index.html +++ b/mcaptcha/api/v1/account/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::account - Rust
    \ No newline at end of file +mcaptcha::api::v1::account - Rust +
    \ 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 46810f8b..d7eb906a 100644 --- a/mcaptcha/api/v1/account/password/fn.services.html +++ b/mcaptcha/api/v1/account/password/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::account::password - Rust

    Function mcaptcha::api::v1::account::password::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::account::password - Rust +

    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 ff2f350b..c9f70c7d 100644 --- a/mcaptcha/api/v1/account/password/fn.update_password_runner.html +++ b/mcaptcha/api/v1/account/password/fn.update_password_runner.html @@ -1,5 +1,6 @@ -update_password_runner in mcaptcha::api::v1::account::password - Rust
    async fn update_password_runner(
    -    user: &str,
    +update_password_runner in mcaptcha::api::v1::account::password - Rust
    +    
    async fn update_password_runner(
    +    user: &str,
         update: UpdatePassword,
         data: &Data
    -) -> Result<(), ServiceError>
    \ No newline at end of file +) -> 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 6e69b2a6..a89c07ed 100644 --- a/mcaptcha/api/v1/account/password/index.html +++ b/mcaptcha/api/v1/account/password/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::account::password - Rust
    \ No newline at end of file +mcaptcha::api::v1::account::password - Rust +
    \ 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 a705508f..6f61c5b8 100644 --- a/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html +++ b/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html @@ -1,25 +1,26 @@ -ChangePasswordReqest in mcaptcha::api::v1::account::password - Rust
    pub struct ChangePasswordReqest {
    -    pub password: String,
    -    pub new_password: String,
    -    pub confirm_new_password: String,
    -}

    Fields§

    §password: String§new_password: String§confirm_new_password: String

    Trait Implementations§

    source§

    impl Clone for ChangePasswordReqest

    source§

    fn clone(&self) -> ChangePasswordReqest

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ChangePasswordReqest

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ChangePasswordReqest

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<ChangePasswordReqest> for UpdatePassword

    source§

    fn from(s: ChangePasswordReqest) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for ChangePasswordReqest

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +ChangePasswordReqest in mcaptcha::api::v1::account::password - Rust +
    pub struct ChangePasswordReqest {
    +    pub password: String,
    +    pub new_password: String,
    +    pub confirm_new_password: String,
    +}

    Fields§

    §password: String§new_password: String§confirm_new_password: String

    Trait Implementations§

    source§

    impl Clone for ChangePasswordReqest

    source§

    fn clone(&self) -> ChangePasswordReqest

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ChangePasswordReqest

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ChangePasswordReqest

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<ChangePasswordReqest> for UpdatePassword

    source§

    fn from(s: ChangePasswordReqest) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for ChangePasswordReqest

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 09482e68..dd16649f 100644 --- a/mcaptcha/api/v1/account/password/struct.UpdatePassword.html +++ b/mcaptcha/api/v1/account/password/struct.UpdatePassword.html @@ -1,20 +1,21 @@ -UpdatePassword in mcaptcha::api::v1::account::password - Rust
    pub struct UpdatePassword {
    -    pub new_password: String,
    -    pub confirm_new_password: String,
    -}

    Fields§

    §new_password: String§confirm_new_password: String

    Trait Implementations§

    source§

    impl From<ChangePasswordReqest> for UpdatePassword

    source§

    fn from(s: ChangePasswordReqest) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +UpdatePassword in mcaptcha::api::v1::account::password - Rust +
    pub struct UpdatePassword {
    +    pub new_password: String,
    +    pub confirm_new_password: String,
    +}

    Fields§

    §new_password: String§confirm_new_password: String

    Trait Implementations§

    source§

    impl From<ChangePasswordReqest> for UpdatePassword

    source§

    fn from(s: ChangePasswordReqest) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 442fb061..53bfa176 100644 --- a/mcaptcha/api/v1/account/password/struct.update_user_password.html +++ b/mcaptcha/api/v1/account/password/struct.update_user_password.html @@ -1,17 +1,18 @@ -update_user_password in mcaptcha::api::v1::account::password - Rust
    pub struct update_user_password;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_user_password

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +update_user_password in mcaptcha::api::v1::account::password - Rust +
    pub struct update_user_password;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_user_password

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 3af56924..72e4fe63 100644 --- a/mcaptcha/api/v1/account/routes/index.html +++ b/mcaptcha/api/v1/account/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::account::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::account::routes - Rust +
    \ 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 bf5f018c..49b17512 100644 --- a/mcaptcha/api/v1/account/routes/struct.Account.html +++ b/mcaptcha/api/v1/account/routes/struct.Account.html @@ -1,26 +1,27 @@ -Account in mcaptcha::api::v1::account::routes - Rust

    Struct mcaptcha::api::v1::account::routes::Account

    source ·
    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 str§email_exists: &'static str§get_secret: &'static str§update_email: &'static str§update_password: &'static str§update_secret: &'static str§username_exists: &'static str§update_username: &'static str

    Implementations§

    source§

    impl Account

    source

    pub const fn new() -> Account

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Account in mcaptcha::api::v1::account::routes - Rust +

    Struct mcaptcha::api::v1::account::routes::Account

    source ·
    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 str§email_exists: &'static str§get_secret: &'static str§update_email: &'static str§update_password: &'static str§update_secret: &'static str§username_exists: &'static str§update_username: &'static str

    Implementations§

    source§

    impl Account

    source

    pub const fn new() -> Account

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 4164e5a1..006dcd77 100644 --- a/mcaptcha/api/v1/account/secret/fn.services.html +++ b/mcaptcha/api/v1/account/secret/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::account::secret - Rust

    Function mcaptcha::api::v1::account::secret::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::account::secret - Rust +

    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 4246be82..f9696303 100644 --- a/mcaptcha/api/v1/account/secret/index.html +++ b/mcaptcha/api/v1/account/secret/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::account::secret - Rust
    \ No newline at end of file +mcaptcha::api::v1::account::secret - Rust +
    \ 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 1f97ce8e..ee0423d1 100644 --- a/mcaptcha/api/v1/account/secret/struct.get_secret.html +++ b/mcaptcha/api/v1/account/secret/struct.get_secret.html @@ -1,17 +1,18 @@ -get_secret in mcaptcha::api::v1::account::secret - Rust
    pub struct get_secret;

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_secret

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +get_secret in mcaptcha::api::v1::account::secret - Rust +
    pub struct get_secret;

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_secret

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b70c6f8f..2800737b 100644 --- a/mcaptcha/api/v1/account/secret/struct.update_user_secret.html +++ b/mcaptcha/api/v1/account/secret/struct.update_user_secret.html @@ -1,17 +1,18 @@ -update_user_secret in mcaptcha::api::v1::account::secret - Rust
    pub struct update_user_secret;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_user_secret

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +update_user_secret in mcaptcha::api::v1::account::secret - Rust +
    pub struct update_user_secret;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_user_secret

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 0a94985d..ca019307 100644 --- a/mcaptcha/api/v1/account/struct.AccountCheckPayload.html +++ b/mcaptcha/api/v1/account/struct.AccountCheckPayload.html @@ -1,23 +1,24 @@ -AccountCheckPayload in mcaptcha::api::v1::account - Rust
    pub struct AccountCheckPayload {
    -    pub val: String,
    -}

    Fields§

    §val: String

    Trait Implementations§

    source§

    impl Clone for AccountCheckPayload

    source§

    fn clone(&self) -> AccountCheckPayload

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AccountCheckPayload

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for AccountCheckPayload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for AccountCheckPayload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +AccountCheckPayload in mcaptcha::api::v1::account - Rust +
    pub struct AccountCheckPayload {
    +    pub val: String,
    +}

    Fields§

    §val: String

    Trait Implementations§

    source§

    impl Clone for AccountCheckPayload

    source§

    fn clone(&self) -> AccountCheckPayload

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AccountCheckPayload

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for AccountCheckPayload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for AccountCheckPayload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 8a6f37cb..924bec15 100644 --- a/mcaptcha/api/v1/account/struct.AccountCheckResp.html +++ b/mcaptcha/api/v1/account/struct.AccountCheckResp.html @@ -1,23 +1,24 @@ -AccountCheckResp in mcaptcha::api::v1::account - Rust
    pub struct AccountCheckResp {
    -    pub exists: bool,
    -}

    Fields§

    §exists: bool

    Trait Implementations§

    source§

    impl Clone for AccountCheckResp

    source§

    fn clone(&self) -> AccountCheckResp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AccountCheckResp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for AccountCheckResp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for AccountCheckResp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +AccountCheckResp in mcaptcha::api::v1::account - Rust +
    pub struct AccountCheckResp {
    +    pub exists: bool,
    +}

    Fields§

    §exists: bool

    Trait Implementations§

    source§

    impl Clone for AccountCheckResp

    source§

    fn clone(&self) -> AccountCheckResp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AccountCheckResp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for AccountCheckResp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for AccountCheckResp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 ee7571a9..a31f61cd 100644 --- a/mcaptcha/api/v1/account/username/fn.services.html +++ b/mcaptcha/api/v1/account/username/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::account::username - Rust

    Function mcaptcha::api::v1::account::username::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::account::username - Rust +

    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 88b02a79..fc7ea5d7 100644 --- a/mcaptcha/api/v1/account/username/index.html +++ b/mcaptcha/api/v1/account/username/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::account::username - Rust
    \ No newline at end of file +mcaptcha::api::v1::account::username - Rust +
    \ 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 9a1020ba..4b660e9c 100644 --- a/mcaptcha/api/v1/account/username/runners/fn.username_exists.html +++ b/mcaptcha/api/v1/account/username/runners/fn.username_exists.html @@ -1,4 +1,5 @@ -username_exists in mcaptcha::api::v1::account::username::runners - Rust
    pub async fn username_exists(
    +username_exists in mcaptcha::api::v1::account::username::runners - Rust
    +    
    pub async fn username_exists(
         payload: &AccountCheckPayload,
         data: &AppData
    -) -> Result<AccountCheckResp, ServiceError>
    \ No newline at end of file +) -> 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 b8cf5ada..3fe0972c 100644 --- a/mcaptcha/api/v1/account/username/runners/index.html +++ b/mcaptcha/api/v1/account/username/runners/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::account::username::runners - Rust
    \ No newline at end of file +mcaptcha::api::v1::account::username::runners - Rust +
    \ 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 c71eab16..43163910 100644 --- a/mcaptcha/api/v1/account/username/struct.Username.html +++ b/mcaptcha/api/v1/account/username/struct.Username.html @@ -1,23 +1,24 @@ -Username in mcaptcha::api::v1::account::username - Rust
    pub struct Username {
    -    pub username: String,
    -}

    Fields§

    §username: String

    Trait Implementations§

    source§

    impl Clone for Username

    source§

    fn clone(&self) -> Username

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Username

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Username

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Username

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Username in mcaptcha::api::v1::account::username - Rust +
    pub struct Username {
    +    pub username: String,
    +}

    Fields§

    §username: String

    Trait Implementations§

    source§

    impl Clone for Username

    source§

    fn clone(&self) -> Username

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Username

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Username

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Username

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 7340c8ef..e28fa035 100644 --- a/mcaptcha/api/v1/account/username/struct.set_username.html +++ b/mcaptcha/api/v1/account/username/struct.set_username.html @@ -1,18 +1,19 @@ -set_username in mcaptcha::api::v1::account::username - Rust
    pub struct set_username;
    Expand description

    update username

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for set_username

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +set_username in mcaptcha::api::v1::account::username - Rust +
    pub struct set_username;
    Expand description

    update username

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for set_username

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d8e5e73e..cbe5b95c 100644 --- a/mcaptcha/api/v1/account/username/struct.username_exists.html +++ b/mcaptcha/api/v1/account/username/struct.username_exists.html @@ -1,17 +1,18 @@ -username_exists in mcaptcha::api::v1::account::username - Rust
    pub struct username_exists;

    Trait Implementations§

    source§

    impl HttpServiceFactory for username_exists

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +username_exists in mcaptcha::api::v1::account::username - Rust +
    pub struct username_exists;

    Trait Implementations§

    source§

    impl HttpServiceFactory for username_exists

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 7e839ba0..9c50ea0f 100644 --- a/mcaptcha/api/v1/auth/fn.services.html +++ b/mcaptcha/api/v1/auth/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::auth - Rust

    Function mcaptcha::api::v1::auth::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::auth - Rust +

    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 5e855c87..8a9b3f36 100644 --- a/mcaptcha/api/v1/auth/index.html +++ b/mcaptcha/api/v1/auth/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::auth - Rust
    \ No newline at end of file +mcaptcha::api::v1::auth - Rust +
    \ 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 42265530..e53bca51 100644 --- a/mcaptcha/api/v1/auth/routes/index.html +++ b/mcaptcha/api/v1/auth/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::auth::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::auth::routes - Rust +
    \ 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 f61b38ca..f7581f81 100644 --- a/mcaptcha/api/v1/auth/routes/struct.Auth.html +++ b/mcaptcha/api/v1/auth/routes/struct.Auth.html @@ -1,21 +1,22 @@ -Auth in mcaptcha::api::v1::auth::routes - Rust

    Struct mcaptcha::api::v1::auth::routes::Auth

    source ·
    pub struct Auth {
    -    pub logout: &'static str,
    -    pub login: &'static str,
    -    pub register: &'static str,
    -}

    Fields§

    §logout: &'static str§login: &'static str§register: &'static str

    Implementations§

    source§

    impl Auth

    source

    pub const fn new() -> Auth

    Trait Implementations§

    source§

    impl GetLoginRoute for Auth

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Auth

    §

    impl Send for Auth

    §

    impl Sync for Auth

    §

    impl Unpin for Auth

    §

    impl UnwindSafe for Auth

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Auth in mcaptcha::api::v1::auth::routes - Rust +

    Struct mcaptcha::api::v1::auth::routes::Auth

    source ·
    pub struct Auth {
    +    pub logout: &'static str,
    +    pub login: &'static str,
    +    pub register: &'static str,
    +}

    Fields§

    §logout: &'static str§login: &'static str§register: &'static str

    Implementations§

    source§

    impl Auth

    source

    pub const fn new() -> Auth

    Trait Implementations§

    source§

    impl GetLoginRoute for Auth

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Auth

    §

    impl Send for Auth

    §

    impl Sync for Auth

    §

    impl Unpin for Auth

    §

    impl UnwindSafe for Auth

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 2b765f25..26314c5c 100644 --- a/mcaptcha/api/v1/auth/runners/fn.login_runner.html +++ b/mcaptcha/api/v1/auth/runners/fn.login_runner.html @@ -1,5 +1,6 @@ -login_runner in mcaptcha::api::v1::auth::runners - Rust

    Function mcaptcha::api::v1::auth::runners::login_runner

    source ·
    pub async fn login_runner(
    +login_runner in mcaptcha::api::v1::auth::runners - Rust
    +    

    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. Errors otherwise

    +) -> Result<String, ServiceError>
    Expand description

    returns Ok(()) when everything checks out and the user is authenticated. Errors 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 08649340..6b73de6f 100644 --- a/mcaptcha/api/v1/auth/runners/fn.register_runner.html +++ b/mcaptcha/api/v1/auth/runners/fn.register_runner.html @@ -1,4 +1,5 @@ -register_runner in mcaptcha::api::v1::auth::runners - Rust
    pub async fn register_runner(
    +register_runner in mcaptcha::api::v1::auth::runners - Rust
    +    
    pub async fn register_runner(
         payload: &Register,
         data: &AppData
    -) -> Result<(), ServiceError>
    \ No newline at end of file +) -> 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 1c3d4812..c0fa4fa5 100644 --- a/mcaptcha/api/v1/auth/runners/index.html +++ b/mcaptcha/api/v1/auth/runners/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::auth::runners - Rust

    Module mcaptcha::api::v1::auth::runners

    source ·

    Structs

    Functions

    \ No newline at end of file +mcaptcha::api::v1::auth::runners - Rust +

    Module mcaptcha::api::v1::auth::runners

    source ·

    Structs

    Functions

    \ 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 803a62a3..37b314c6 100644 --- a/mcaptcha/api/v1/auth/runners/struct.Login.html +++ b/mcaptcha/api/v1/auth/runners/struct.Login.html @@ -1,24 +1,25 @@ -Login in mcaptcha::api::v1::auth::runners - Rust

    Struct mcaptcha::api::v1::auth::runners::Login

    source ·
    pub struct Login {
    -    pub login: String,
    -    pub password: String,
    -}

    Fields§

    §login: String§password: String

    Trait Implementations§

    source§

    impl Clone for Login

    source§

    fn clone(&self) -> Login

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Login

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Login

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Login

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Login

    §

    impl Send for Login

    §

    impl Sync for Login

    §

    impl Unpin for Login

    §

    impl UnwindSafe for Login

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Login in mcaptcha::api::v1::auth::runners - Rust +

    Struct mcaptcha::api::v1::auth::runners::Login

    source ·
    pub struct Login {
    +    pub login: String,
    +    pub password: String,
    +}

    Fields§

    §login: String§password: String

    Trait Implementations§

    source§

    impl Clone for Login

    source§

    fn clone(&self) -> Login

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Login

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Login

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Login

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Login

    §

    impl Send for Login

    §

    impl Sync for Login

    §

    impl Unpin for Login

    §

    impl UnwindSafe for Login

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 b1fc6868..3f048bcf 100644 --- a/mcaptcha/api/v1/auth/runners/struct.Password.html +++ b/mcaptcha/api/v1/auth/runners/struct.Password.html @@ -1,23 +1,24 @@ -Password in mcaptcha::api::v1::auth::runners - Rust

    Struct mcaptcha::api::v1::auth::runners::Password

    source ·
    pub struct Password {
    -    pub password: String,
    -}

    Fields§

    §password: String

    Trait Implementations§

    source§

    impl Clone for Password

    source§

    fn clone(&self) -> Password

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Password

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Password

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Password

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Password in mcaptcha::api::v1::auth::runners - Rust +

    Struct mcaptcha::api::v1::auth::runners::Password

    source ·
    pub struct Password {
    +    pub password: String,
    +}

    Fields§

    §password: String

    Trait Implementations§

    source§

    impl Clone for Password

    source§

    fn clone(&self) -> Password

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Password

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Password

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Password

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 96828251..ea805729 100644 --- a/mcaptcha/api/v1/auth/runners/struct.Register.html +++ b/mcaptcha/api/v1/auth/runners/struct.Register.html @@ -1,26 +1,27 @@ -Register in mcaptcha::api::v1::auth::runners - Rust

    Struct mcaptcha::api::v1::auth::runners::Register

    source ·
    pub struct Register {
    -    pub username: String,
    -    pub password: String,
    -    pub confirm_password: String,
    -    pub email: Option<String>,
    -}

    Fields§

    §username: String§password: String§confirm_password: String§email: Option<String>

    Trait Implementations§

    source§

    impl Clone for Register

    source§

    fn clone(&self) -> Register

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Register

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Register

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Register

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Register in mcaptcha::api::v1::auth::runners - Rust +

    Struct mcaptcha::api::v1::auth::runners::Register

    source ·
    pub struct Register {
    +    pub username: String,
    +    pub password: String,
    +    pub confirm_password: String,
    +    pub email: Option<String>,
    +}

    Fields§

    §username: String§password: String§confirm_password: String§email: Option<String>

    Trait Implementations§

    source§

    impl Clone for Register

    source§

    fn clone(&self) -> Register

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Register

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Register

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Register

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 0ff006de..f2e23c9f 100644 --- a/mcaptcha/api/v1/auth/struct.login.html +++ b/mcaptcha/api/v1/auth/struct.login.html @@ -1,17 +1,18 @@ -login in mcaptcha::api::v1::auth - Rust

    Struct mcaptcha::api::v1::auth::login

    source ·
    pub struct login;

    Trait Implementations§

    source§

    impl HttpServiceFactory for login

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for login

    §

    impl Send for login

    §

    impl Sync for login

    §

    impl Unpin for login

    §

    impl UnwindSafe for login

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +login in mcaptcha::api::v1::auth - Rust +

    Struct mcaptcha::api::v1::auth::login

    source ·
    pub struct login;

    Trait Implementations§

    source§

    impl HttpServiceFactory for login

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for login

    §

    impl Send for login

    §

    impl Sync for login

    §

    impl Unpin for login

    §

    impl UnwindSafe for login

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 5c3bbb6b..135ac047 100644 --- a/mcaptcha/api/v1/auth/struct.register.html +++ b/mcaptcha/api/v1/auth/struct.register.html @@ -1,17 +1,18 @@ -register in mcaptcha::api::v1::auth - Rust

    Struct mcaptcha::api::v1::auth::register

    source ·
    pub struct register;

    Trait Implementations§

    source§

    impl HttpServiceFactory for register

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +register in mcaptcha::api::v1::auth - Rust +

    Struct mcaptcha::api::v1::auth::register

    source ·
    pub struct register;

    Trait Implementations§

    source§

    impl HttpServiceFactory for register

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 69bc54f8..76391768 100644 --- a/mcaptcha/api/v1/auth/struct.signout.html +++ b/mcaptcha/api/v1/auth/struct.signout.html @@ -1,17 +1,18 @@ -signout in mcaptcha::api::v1::auth - Rust

    Struct mcaptcha::api::v1::auth::signout

    source ·
    pub struct signout;

    Trait Implementations§

    source§

    impl HttpServiceFactory for signout

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +signout in mcaptcha::api::v1::auth - Rust +

    Struct mcaptcha::api::v1::auth::signout

    source ·
    pub struct signout;

    Trait Implementations§

    source§

    impl HttpServiceFactory for signout

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 818ed22d..8748b163 100644 --- a/mcaptcha/api/v1/fn.get_middleware.html +++ b/mcaptcha/api/v1/fn.get_middleware.html @@ -1 +1,2 @@ -get_middleware in mcaptcha::api::v1 - Rust

    Function mcaptcha::api::v1::get_middleware

    source ·
    pub fn get_middleware() -> Authentication<Routes>
    \ No newline at end of file +get_middleware in mcaptcha::api::v1 - Rust +

    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 12bc2588..a347964a 100644 --- a/mcaptcha/api/v1/fn.services.html +++ b/mcaptcha/api/v1/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1 - Rust

    Function mcaptcha::api::v1::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1 - Rust +

    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 ca0d68fd..a2077d6e 100644 --- a/mcaptcha/api/v1/index.html +++ b/mcaptcha/api/v1/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1 - Rust
    \ No newline at end of file +mcaptcha::api::v1 - Rust +
    \ 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 d120759e..5ef2d7eb 100644 --- a/mcaptcha/api/v1/mcaptcha/create/index.html +++ b/mcaptcha/api/v1/mcaptcha/create/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::create - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::create - Rust +
    \ 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 ede11824..7c3b49b5 100644 --- a/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html +++ b/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html @@ -1,5 +1,6 @@ -create in mcaptcha::api::v1::mcaptcha::create::runner - Rust

    Function mcaptcha::api::v1::mcaptcha::create::runner::create

    source ·
    pub async fn create(
    +create in mcaptcha::api::v1::mcaptcha::create::runner - Rust
    +    

    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 + 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 c49190c7..e520a3da 100644 --- a/mcaptcha/api/v1/mcaptcha/create/runner/index.html +++ b/mcaptcha/api/v1/mcaptcha/create/runner/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::create::runner - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::create::runner - Rust +
    \ 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 c2421cbd..66798546 100644 --- a/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html +++ b/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html @@ -1,25 +1,26 @@ -CreateCaptcha in mcaptcha::api::v1::mcaptcha::create - Rust
    pub struct CreateCaptcha {
    -    pub levels: Vec<Level>,
    -    pub duration: u32,
    -    pub description: String,
    -    pub publish_benchmarks: bool,
    -}

    Fields§

    §levels: Vec<Level>§duration: u32§description: String§publish_benchmarks: bool

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for CreateCaptcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for CreateCaptcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +CreateCaptcha in mcaptcha::api::v1::mcaptcha::create - Rust +
    pub struct CreateCaptcha {
    +    pub levels: Vec<Level>,
    +    pub duration: u32,
    +    pub description: String,
    +    pub publish_benchmarks: bool,
    +}

    Fields§

    §levels: Vec<Level>§duration: u32§description: String§publish_benchmarks: bool

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for CreateCaptcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for CreateCaptcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 ea084d1f..81c98779 100644 --- a/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html +++ b/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html @@ -1,24 +1,25 @@ -MCaptchaDetails in mcaptcha::api::v1::mcaptcha::create - Rust
    pub struct MCaptchaDetails {
    -    pub name: String,
    -    pub key: String,
    -}

    Fields§

    §name: String§key: String

    Trait Implementations§

    source§

    impl Clone for MCaptchaDetails

    source§

    fn clone(&self) -> MCaptchaDetails

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MCaptchaDetails

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for MCaptchaDetails

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for MCaptchaDetails

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +MCaptchaDetails in mcaptcha::api::v1::mcaptcha::create - Rust +
    pub struct MCaptchaDetails {
    +    pub name: String,
    +    pub key: String,
    +}

    Fields§

    §name: String§key: String

    Trait Implementations§

    source§

    impl Clone for MCaptchaDetails

    source§

    fn clone(&self) -> MCaptchaDetails

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MCaptchaDetails

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for MCaptchaDetails

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for MCaptchaDetails

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 a8a323e3..12923aae 100644 --- a/mcaptcha/api/v1/mcaptcha/create/struct.create.html +++ b/mcaptcha/api/v1/mcaptcha/create/struct.create.html @@ -1,17 +1,18 @@ -create in mcaptcha::api::v1::mcaptcha::create - Rust

    Struct mcaptcha::api::v1::mcaptcha::create::create

    source ·
    pub struct create;

    Trait Implementations§

    source§

    impl HttpServiceFactory for create

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +create in mcaptcha::api::v1::mcaptcha::create - Rust +

    Struct mcaptcha::api::v1::mcaptcha::create::create

    source ·
    pub struct create;

    Trait Implementations§

    source§

    impl HttpServiceFactory for create

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 8df036cf..2d79d2a7 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/index.html +++ b/mcaptcha/api/v1/mcaptcha/delete/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::delete - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::delete - Rust +
    \ 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 c9d1df27..71ddfe47 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html +++ b/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html @@ -1,24 +1,25 @@ -DeleteCaptcha in mcaptcha::api::v1::mcaptcha::delete - Rust
    pub struct DeleteCaptcha {
    -    pub key: String,
    -    pub password: String,
    -}

    Fields§

    §key: String§password: String

    Trait Implementations§

    source§

    impl Clone for DeleteCaptcha

    source§

    fn clone(&self) -> DeleteCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DeleteCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DeleteCaptcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for DeleteCaptcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +DeleteCaptcha in mcaptcha::api::v1::mcaptcha::delete - Rust +
    pub struct DeleteCaptcha {
    +    pub key: String,
    +    pub password: String,
    +}

    Fields§

    §key: String§password: String

    Trait Implementations§

    source§

    impl Clone for DeleteCaptcha

    source§

    fn clone(&self) -> DeleteCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DeleteCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DeleteCaptcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for DeleteCaptcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 682ddca5..780595b0 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html +++ b/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html @@ -1,17 +1,18 @@ -delete in mcaptcha::api::v1::mcaptcha::delete - Rust

    Struct mcaptcha::api::v1::mcaptcha::delete::delete

    source ·
    pub struct delete;

    Trait Implementations§

    source§

    impl HttpServiceFactory for delete

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +delete in mcaptcha::api::v1::mcaptcha::delete - Rust +

    Struct mcaptcha::api::v1::mcaptcha::delete::delete

    source ·
    pub struct delete;

    Trait Implementations§

    source§

    impl HttpServiceFactory for delete

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html index 5ad5c30d..9ebf92c1 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html @@ -1,4 +1,5 @@ -calculate in mcaptcha::api::v1::mcaptcha::easy - Rust

    Function mcaptcha::api::v1::mcaptcha::easy::calculate

    source ·
    pub fn calculate(
    +calculate in mcaptcha::api::v1::mcaptcha::easy - Rust
    +    

    Function mcaptcha::api::v1::mcaptcha::easy::calculate

    source ·
    pub fn calculate(
         tp: &TrafficPattern,
         strategy: &DefaultDifficultyStrategy
    -) -> Result<Vec<Level>, ServiceError>
    \ No newline at end of file +) -> Result<Vec<Level>, ServiceError>
    \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/fn.calculate_with_percentile.html b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate_with_percentile.html index 5c021a3e..d315597d 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/fn.calculate_with_percentile.html +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate_with_percentile.html @@ -1,4 +1,5 @@ -calculate_with_percentile in mcaptcha::api::v1::mcaptcha::easy - Rust
    async fn calculate_with_percentile(
    +calculate_with_percentile in mcaptcha::api::v1::mcaptcha::easy - Rust
    +    
    async fn calculate_with_percentile(
         data: &AppData,
         tp: &TrafficPattern
    -) -> Result<Option<Vec<Level>>, ServiceError>
    \ No newline at end of file +) -> Result<Option<Vec<Level>>, ServiceError>
    \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/fn.services.html b/mcaptcha/api/v1/mcaptcha/easy/fn.services.html index 4a341684..d14a5bb1 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/fn.services.html +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::mcaptcha::easy - Rust

    Function mcaptcha::api::v1::mcaptcha::easy::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::mcaptcha::easy - Rust +

    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/fn.update_runner.html b/mcaptcha/api/v1/mcaptcha/easy/fn.update_runner.html index 0988bc18..2ed694e5 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/fn.update_runner.html +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.update_runner.html @@ -1,5 +1,6 @@ -update_runner in mcaptcha::api::v1::mcaptcha::easy - Rust
    pub async fn update_runner(
    +update_runner in mcaptcha::api::v1::mcaptcha::easy - Rust
    +    
    pub async fn update_runner(
         data: &AppData,
         payload: UpdateTrafficPattern,
    -    username: String
    -) -> Result<(), ServiceError>
    \ No newline at end of file + username: String +) -> Result<(), ServiceError>
    \ 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 6d931968..b124bac5 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/index.html +++ b/mcaptcha/api/v1/mcaptcha/easy/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::easy - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::easy - Rust +
    \ 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 5cb057c9..48f9b4bf 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/routes/index.html +++ b/mcaptcha/api/v1/mcaptcha/easy/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::easy::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::easy::routes - Rust +
    \ 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 dc45cd19..91fda183 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html +++ b/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html @@ -1,21 +1,22 @@ -Easy in mcaptcha::api::v1::mcaptcha::easy::routes - Rust

    Struct mcaptcha::api::v1::mcaptcha::easy::routes::Easy

    source ·
    pub struct Easy {
    -    pub create: &'static str,
    -    pub update: &'static str,
    -}

    Fields§

    §create: &'static str

    easy is using defaults

    -
    §update: &'static str

    Implementations§

    source§

    impl Easy

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Easy

    §

    impl Send for Easy

    §

    impl Sync for Easy

    §

    impl Unpin for Easy

    §

    impl UnwindSafe for Easy

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Easy in mcaptcha::api::v1::mcaptcha::easy::routes - Rust +

    Struct mcaptcha::api::v1::mcaptcha::easy::routes::Easy

    source ·
    pub struct Easy {
    +    pub create: &'static str,
    +    pub update: &'static str,
    +}

    Fields§

    §create: &'static str

    easy is using defaults

    +
    §update: &'static str

    Implementations§

    source§

    impl Easy

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Easy

    §

    impl Send for Easy

    §

    impl Sync for Easy

    §

    impl Unpin for Easy

    §

    impl UnwindSafe for Easy

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html b/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html index 40cc9b7f..e4f6e3ad 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html @@ -1,33 +1,34 @@ -TrafficPatternRequest in mcaptcha::api::v1::mcaptcha::easy - Rust
    pub struct TrafficPatternRequest {
    -    pub avg_traffic: u32,
    -    pub peak_sustainable_traffic: u32,
    -    pub broke_my_site_traffic: Option<u32>,
    -    pub description: String,
    -    pub publish_benchmarks: bool,
    +TrafficPatternRequest in mcaptcha::api::v1::mcaptcha::easy - Rust
    +    
    pub struct TrafficPatternRequest {
    +    pub avg_traffic: u32,
    +    pub peak_sustainable_traffic: u32,
    +    pub broke_my_site_traffic: Option<u32>,
    +    pub description: String,
    +    pub publish_benchmarks: bool,
     }
    Expand description

    User’s traffic pattern; used in generating a captcha configuration

    -

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    -
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    -
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -
    §description: String

    Captcha description

    -
    §publish_benchmarks: bool

    publish benchmarks

    -

    Trait Implementations§

    source§

    impl Clone for TrafficPatternRequest

    source§

    fn clone(&self) -> TrafficPatternRequest

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPatternRequest

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPatternRequest

    source§

    fn default() -> TrafficPatternRequest

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPatternRequest

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<&TrafficPatternRequest> for TrafficPattern

    source§

    fn from(t: &TrafficPatternRequest) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for TrafficPatternRequest

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    +
    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    +
    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    +
    §description: String

    Captcha description

    +
    §publish_benchmarks: bool

    publish benchmarks

    +

    Trait Implementations§

    source§

    impl Clone for TrafficPatternRequest

    source§

    fn clone(&self) -> TrafficPatternRequest

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPatternRequest

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPatternRequest

    source§

    fn default() -> TrafficPatternRequest

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPatternRequest

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<&TrafficPatternRequest> for TrafficPattern

    source§

    fn from(t: &TrafficPatternRequest) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for TrafficPatternRequest

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 e7d57b25..c22e1e69 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html @@ -1,24 +1,25 @@ -UpdateTrafficPattern in mcaptcha::api::v1::mcaptcha::easy - Rust
    pub struct UpdateTrafficPattern {
    +UpdateTrafficPattern in mcaptcha::api::v1::mcaptcha::easy - Rust
    +    
    pub struct UpdateTrafficPattern {
         pub pattern: TrafficPatternRequest,
    -    pub key: String,
    -}

    Fields§

    §pattern: TrafficPatternRequest§key: String

    Trait Implementations§

    source§

    impl Clone for UpdateTrafficPattern

    source§

    fn clone(&self) -> UpdateTrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UpdateTrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for UpdateTrafficPattern

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for UpdateTrafficPattern

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + pub key: String, +}

    Fields§

    §pattern: TrafficPatternRequest§key: String

    Trait Implementations§

    source§

    impl Clone for UpdateTrafficPattern

    source§

    fn clone(&self) -> UpdateTrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UpdateTrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for UpdateTrafficPattern

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for UpdateTrafficPattern

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 3f3e1626..57e5cd6c 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.create.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.create.html @@ -1,17 +1,18 @@ -create in mcaptcha::api::v1::mcaptcha::easy - Rust

    Struct mcaptcha::api::v1::mcaptcha::easy::create

    source ·
    pub struct create;

    Trait Implementations§

    source§

    impl HttpServiceFactory for create

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +create in mcaptcha::api::v1::mcaptcha::easy - Rust +

    Struct mcaptcha::api::v1::mcaptcha::easy::create

    source ·
    pub struct create;

    Trait Implementations§

    source§

    impl HttpServiceFactory for create

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 78dd1706..d76917aa 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.update.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.update.html @@ -1,17 +1,18 @@ -update in mcaptcha::api::v1::mcaptcha::easy - Rust

    Struct mcaptcha::api::v1::mcaptcha::easy::update

    source ·
    pub struct update;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +update in mcaptcha::api::v1::mcaptcha::easy - Rust +

    Struct mcaptcha::api::v1::mcaptcha::easy::update

    source ·
    pub struct update;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 7b4eaf32..5aeba8ef 100644 --- a/mcaptcha/api/v1/mcaptcha/fn.get_random.html +++ b/mcaptcha/api/v1/mcaptcha/fn.get_random.html @@ -1 +1,2 @@ -get_random in mcaptcha::api::v1::mcaptcha - Rust

    Function mcaptcha::api::v1::mcaptcha::get_random

    source ·
    pub fn get_random(len: usize) -> String
    \ No newline at end of file +get_random in mcaptcha::api::v1::mcaptcha - Rust +

    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 9d35470f..cd019687 100644 --- a/mcaptcha/api/v1/mcaptcha/fn.services.html +++ b/mcaptcha/api/v1/mcaptcha/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::mcaptcha - Rust

    Function mcaptcha::api::v1::mcaptcha::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::mcaptcha - Rust +

    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 f75c5a7d..25200f33 100644 --- a/mcaptcha/api/v1/mcaptcha/get/index.html +++ b/mcaptcha/api/v1/mcaptcha/get/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::get - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::get - Rust +
    \ 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 7f998695..6e62c2bc 100644 --- a/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html +++ b/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html @@ -1,24 +1,25 @@ -I32Levels in mcaptcha::api::v1::mcaptcha::get - Rust

    Struct mcaptcha::api::v1::mcaptcha::get::I32Levels

    source ·
    pub struct I32Levels {
    -    pub difficulty_factor: i32,
    -    pub visitor_threshold: i32,
    -}

    Fields§

    §difficulty_factor: i32§visitor_threshold: i32

    Trait Implementations§

    source§

    impl Clone for I32Levels

    source§

    fn clone(&self) -> I32Levels

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for I32Levels

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for I32Levels

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for I32Levels

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +I32Levels in mcaptcha::api::v1::mcaptcha::get - Rust +

    Struct mcaptcha::api::v1::mcaptcha::get::I32Levels

    source ·
    pub struct I32Levels {
    +    pub difficulty_factor: i32,
    +    pub visitor_threshold: i32,
    +}

    Fields§

    §difficulty_factor: i32§visitor_threshold: i32

    Trait Implementations§

    source§

    impl Clone for I32Levels

    source§

    fn clone(&self) -> I32Levels

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for I32Levels

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for I32Levels

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for I32Levels

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 8096a79c..c50fed0e 100644 --- a/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html +++ b/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html @@ -1,23 +1,24 @@ -Levels in mcaptcha::api::v1::mcaptcha::get - Rust

    Struct mcaptcha::api::v1::mcaptcha::get::Levels

    source ·
    pub struct Levels {
    +Levels in mcaptcha::api::v1::mcaptcha::get - Rust
    +    

    Struct mcaptcha::api::v1::mcaptcha::get::Levels

    source ·
    pub struct Levels {
         levels: I32Levels,
    -}

    Fields§

    §levels: I32Levels

    Trait Implementations§

    source§

    impl Clone for Levels

    source§

    fn clone(&self) -> Levels

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Levels

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Levels

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Levels

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Fields§

    §levels: I32Levels

    Trait Implementations§

    source§

    impl Clone for Levels

    source§

    fn clone(&self) -> Levels

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Levels

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Levels

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Levels

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 32572108..a6e3a386 100644 --- a/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html @@ -1,17 +1,18 @@ -get_captcha in mcaptcha::api::v1::mcaptcha::get - Rust
    pub struct get_captcha;

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_captcha

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +get_captcha in mcaptcha::api::v1::mcaptcha::get - Rust +
    pub struct get_captcha;

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_captcha

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 e6dabf84..6b2d1fef 100644 --- a/mcaptcha/api/v1/mcaptcha/index.html +++ b/mcaptcha/api/v1/mcaptcha/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha - Rust +
    \ 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 58e4f92c..ae4613f1 100644 --- a/mcaptcha/api/v1/mcaptcha/routes/index.html +++ b/mcaptcha/api/v1/mcaptcha/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::routes - Rust +
    \ 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 50fbf042..d9fcbcb0 100644 --- a/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html +++ b/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html @@ -1,25 +1,26 @@ -Captcha in mcaptcha::api::v1::mcaptcha::routes - Rust
    pub struct Captcha {
    -    pub create: &'static str,
    -    pub update: &'static str,
    -    pub get: &'static str,
    -    pub delete: &'static str,
    -    pub update_key: &'static str,
    +Captcha in mcaptcha::api::v1::mcaptcha::routes - Rust
    +    
    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 easy: Easy,
         pub stats: Stats,
    -}

    Fields§

    §create: &'static str§update: &'static str§get: &'static str§delete: &'static str§update_key: &'static str§easy: Easy§stats: Stats

    Implementations§

    source§

    impl Captcha

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Fields§

    §create: &'static str§update: &'static str§get: &'static str§delete: &'static str§update_key: &'static str§easy: Easy§stats: Stats

    Implementations§

    source§

    impl Captcha

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 7a729b9f..14c28e3b 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/index.html +++ b/mcaptcha/api/v1/mcaptcha/stats/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::stats - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::stats - Rust +
    \ 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 7ba0c1e8..d739f72e 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/routes/index.html +++ b/mcaptcha/api/v1/mcaptcha/stats/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::stats::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::stats::routes - Rust +
    \ 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 c1bd038c..94b8e03e 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html +++ b/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html @@ -1,19 +1,20 @@ -Stats in mcaptcha::api::v1::mcaptcha::stats::routes - Rust
    pub struct Stats {
    -    pub get: &'static str,
    -}

    Fields§

    §get: &'static str

    Implementations§

    source§

    impl Stats

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Stats

    §

    impl Send for Stats

    §

    impl Sync for Stats

    §

    impl Unpin for Stats

    §

    impl UnwindSafe for Stats

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Stats in mcaptcha::api::v1::mcaptcha::stats::routes - Rust +
    pub struct Stats {
    +    pub get: &'static str,
    +}

    Fields§

    §get: &'static str

    Implementations§

    source§

    impl Stats

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Stats

    §

    impl Send for Stats

    §

    impl Sync for Stats

    §

    impl Unpin for Stats

    §

    impl UnwindSafe for Stats

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 e501b374..46966452 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html +++ b/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html @@ -1,23 +1,24 @@ -StatsPayload in mcaptcha::api::v1::mcaptcha::stats - Rust
    pub struct StatsPayload {
    -    pub key: String,
    -}

    Fields§

    §key: String

    Trait Implementations§

    source§

    impl Clone for StatsPayload

    source§

    fn clone(&self) -> StatsPayload

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsPayload

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for StatsPayload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for StatsPayload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +StatsPayload in mcaptcha::api::v1::mcaptcha::stats - Rust +
    pub struct StatsPayload {
    +    pub key: String,
    +}

    Fields§

    §key: String

    Trait Implementations§

    source§

    impl Clone for StatsPayload

    source§

    fn clone(&self) -> StatsPayload

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsPayload

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for StatsPayload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for StatsPayload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 5683e218..a9ece85b 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/struct.get.html +++ b/mcaptcha/api/v1/mcaptcha/stats/struct.get.html @@ -1,17 +1,18 @@ -get in mcaptcha::api::v1::mcaptcha::stats - Rust

    Struct mcaptcha::api::v1::mcaptcha::stats::get

    source ·
    pub struct get;

    Trait Implementations§

    source§

    impl HttpServiceFactory for get

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for get

    §

    impl Send for get

    §

    impl Sync for get

    §

    impl Unpin for get

    §

    impl UnwindSafe for get

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +get in mcaptcha::api::v1::mcaptcha::stats - Rust +

    Struct mcaptcha::api::v1::mcaptcha::stats::get

    source ·
    pub struct get;

    Trait Implementations§

    source§

    impl HttpServiceFactory for get

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for get

    §

    impl Send for get

    §

    impl Sync for get

    §

    impl Unpin for get

    §

    impl UnwindSafe for get

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b0d8a7cd..ea03b695 100644 --- a/mcaptcha/api/v1/mcaptcha/update/index.html +++ b/mcaptcha/api/v1/mcaptcha/update/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::update - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::update - Rust +
    \ 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 5c8f1650..bc8fa22d 100644 --- a/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html @@ -1,5 +1,6 @@ -update_captcha in mcaptcha::api::v1::mcaptcha::update::runner - Rust
    pub async fn update_captcha(
    +update_captcha in mcaptcha::api::v1::mcaptcha::update::runner - Rust
    +    
    pub async fn update_captcha(
         payload: &UpdateCaptcha,
         data: &AppData,
    -    username: &str
    -) -> Result<(), ServiceError>
    \ No newline at end of file + username: &str +) -> Result<(), ServiceError>
    \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/runner/index.html b/mcaptcha/api/v1/mcaptcha/update/runner/index.html index 0daef0a3..d26c86fe 100644 --- a/mcaptcha/api/v1/mcaptcha/update/runner/index.html +++ b/mcaptcha/api/v1/mcaptcha/update/runner/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::mcaptcha::update::runner - Rust
    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::update::runner - Rust +
    \ 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 80ad44bc..a0d7e7ab 100644 --- a/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html +++ b/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html @@ -1,26 +1,27 @@ -UpdateCaptcha in mcaptcha::api::v1::mcaptcha::update - Rust
    pub struct UpdateCaptcha {
    -    pub levels: Vec<Level>,
    -    pub duration: u32,
    -    pub description: String,
    -    pub key: String,
    -    pub publish_benchmarks: bool,
    -}

    Fields§

    §levels: Vec<Level>§duration: u32§description: String§key: String§publish_benchmarks: bool

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for UpdateCaptcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for UpdateCaptcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +UpdateCaptcha in mcaptcha::api::v1::mcaptcha::update - Rust +
    pub struct UpdateCaptcha {
    +    pub levels: Vec<Level>,
    +    pub duration: u32,
    +    pub description: String,
    +    pub key: String,
    +    pub publish_benchmarks: bool,
    +}

    Fields§

    §levels: Vec<Level>§duration: u32§description: String§key: String§publish_benchmarks: bool

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for UpdateCaptcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for UpdateCaptcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 b70a367f..2a37972b 100644 --- a/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html @@ -1,17 +1,18 @@ -update_captcha in mcaptcha::api::v1::mcaptcha::update - Rust
    pub struct update_captcha;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_captcha

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +update_captcha in mcaptcha::api::v1::mcaptcha::update - Rust +
    pub struct update_captcha;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_captcha

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 84ba0a71..12a60229 100644 --- a/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html +++ b/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html @@ -1,17 +1,18 @@ -update_key in mcaptcha::api::v1::mcaptcha::update - Rust
    pub struct update_key;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_key

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +update_key in mcaptcha::api::v1::mcaptcha::update - Rust +
    pub struct update_key;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_key

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 080ccb92..d18b6561 100644 --- a/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html +++ b/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html @@ -1,24 +1,25 @@ -BuildDetailsBuilderError in mcaptcha::api::v1::meta - Rust
    #[non_exhaustive]
    pub enum BuildDetailsBuilderError { - UninitializedField(&'static str), - ValidationError(String), +BuildDetailsBuilderError in mcaptcha::api::v1::meta - Rust +
    #[non_exhaustive]
    pub enum BuildDetailsBuilderError { + 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§

    source§

    impl Debug for BuildDetailsBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for BuildDetailsBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for BuildDetailsBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for BuildDetailsBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for BuildDetailsBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    UninitializedField(&'static str)

    Uninitialized field

    +
    §

    ValidationError(String)

    Custom validation error

    +

    Trait Implementations§

    source§

    impl Debug for BuildDetailsBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for BuildDetailsBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for BuildDetailsBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for BuildDetailsBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for BuildDetailsBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 39d1b77a..079cdeab 100644 --- a/mcaptcha/api/v1/meta/enum.HealthBuilderError.html +++ b/mcaptcha/api/v1/meta/enum.HealthBuilderError.html @@ -1,24 +1,25 @@ -HealthBuilderError in mcaptcha::api::v1::meta - Rust
    #[non_exhaustive]
    pub enum HealthBuilderError { - UninitializedField(&'static str), - ValidationError(String), +HealthBuilderError in mcaptcha::api::v1::meta - Rust +
    #[non_exhaustive]
    pub enum HealthBuilderError { + 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§

    source§

    impl Debug for HealthBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for HealthBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for HealthBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for HealthBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for HealthBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    UninitializedField(&'static str)

    Uninitialized field

    +
    §

    ValidationError(String)

    Custom validation error

    +

    Trait Implementations§

    source§

    impl Debug for HealthBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for HealthBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for HealthBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for HealthBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for HealthBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 297521c8..d0d60faf 100644 --- a/mcaptcha/api/v1/meta/fn.services.html +++ b/mcaptcha/api/v1/meta/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::meta - Rust

    Function mcaptcha::api::v1::meta::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::meta - Rust +

    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 99ec28c5..df11602d 100644 --- a/mcaptcha/api/v1/meta/index.html +++ b/mcaptcha/api/v1/meta/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::meta - Rust

    Module mcaptcha::api::v1::meta

    source ·

    Modules

    Structs

    Enums

    Functions

    \ No newline at end of file +mcaptcha::api::v1::meta - Rust +

    Module mcaptcha::api::v1::meta

    source ·

    Modules

    Structs

    Enums

    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 a02cffd6..5264ae7b 100644 --- a/mcaptcha/api/v1/meta/routes/index.html +++ b/mcaptcha/api/v1/meta/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::meta::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::meta::routes - Rust +
    \ 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 d6ed2172..a1431691 100644 --- a/mcaptcha/api/v1/meta/routes/struct.Meta.html +++ b/mcaptcha/api/v1/meta/routes/struct.Meta.html @@ -1,20 +1,21 @@ -Meta in mcaptcha::api::v1::meta::routes - Rust

    Struct mcaptcha::api::v1::meta::routes::Meta

    source ·
    pub struct Meta {
    -    pub build_details: &'static str,
    -    pub health: &'static str,
    -}

    Fields§

    §build_details: &'static str§health: &'static str

    Implementations§

    source§

    impl Meta

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Meta

    §

    impl Send for Meta

    §

    impl Sync for Meta

    §

    impl Unpin for Meta

    §

    impl UnwindSafe for Meta

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Meta in mcaptcha::api::v1::meta::routes - Rust +

    Struct mcaptcha::api::v1::meta::routes::Meta

    source ·
    pub struct Meta {
    +    pub build_details: &'static str,
    +    pub health: &'static str,
    +}

    Fields§

    §build_details: &'static str§health: &'static str

    Implementations§

    source§

    impl Meta

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Meta

    §

    impl Send for Meta

    §

    impl Sync for Meta

    §

    impl Unpin for Meta

    §

    impl UnwindSafe for Meta

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 556ed092..94a34220 100644 --- a/mcaptcha/api/v1/meta/struct.BuildDetails.html +++ b/mcaptcha/api/v1/meta/struct.BuildDetails.html @@ -1,23 +1,24 @@ -BuildDetails in mcaptcha::api::v1::meta - Rust

    Struct mcaptcha::api::v1::meta::BuildDetails

    source ·
    pub struct BuildDetails {
    -    pub version: &'static str,
    -    pub git_commit_hash: &'static str,
    -}

    Fields§

    §version: &'static str§git_commit_hash: &'static str

    Trait Implementations§

    source§

    impl Clone for BuildDetails

    source§

    fn clone(&self) -> BuildDetails

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BuildDetails

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserialize<'static> for BuildDetails

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'static>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for BuildDetails

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +BuildDetails in mcaptcha::api::v1::meta - Rust +

    Struct mcaptcha::api::v1::meta::BuildDetails

    source ·
    pub struct BuildDetails {
    +    pub version: &'static str,
    +    pub git_commit_hash: &'static str,
    +}

    Fields§

    §version: &'static str§git_commit_hash: &'static str

    Trait Implementations§

    source§

    impl Clone for BuildDetails

    source§

    fn clone(&self) -> BuildDetails

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BuildDetails

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserialize<'static> for BuildDetails

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'static>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for BuildDetails

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 3bc4d37b..ac551591 100644 --- a/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html +++ b/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html @@ -1,26 +1,27 @@ -BuildDetailsBuilder in mcaptcha::api::v1::meta - Rust
    pub struct BuildDetailsBuilder {
    -    version: Option<&'static str>,
    -    git_commit_hash: Option<&'static str>,
    +BuildDetailsBuilder in mcaptcha::api::v1::meta - Rust
    +    
    pub struct BuildDetailsBuilder {
    +    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§

    source§

    impl BuildDetailsBuilder

    source

    pub fn version(&mut self, value: &'static str) -> &mut Self

    source

    pub fn git_commit_hash(&mut self, value: &'static str) -> &mut Self

    source

    pub fn build(&self) -> Result<BuildDetails, BuildDetailsBuilderError>

    Builds a new BuildDetails.

    +

    Fields§

    §version: Option<&'static str>§git_commit_hash: Option<&'static str>

    Implementations§

    source§

    impl BuildDetailsBuilder

    source

    pub fn version(&mut self, value: &'static str) -> &mut Self

    source

    pub fn git_commit_hash(&mut self, value: &'static str) -> &mut Self

    source

    pub fn build(&self) -> Result<BuildDetails, BuildDetailsBuilderError>

    Builds a new BuildDetails.

    Errors

    If a required field has not been initialized.

    source

    fn create_empty() -> Self

    Create an empty builder, with all fields set to None or PhantomData.

    -

    Trait Implementations§

    source§

    impl Clone for BuildDetailsBuilder

    source§

    fn clone(&self) -> BuildDetailsBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BuildDetailsBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    source§

    impl Clone for BuildDetailsBuilder

    source§

    fn clone(&self) -> BuildDetailsBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BuildDetailsBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b63f5679..9cfcc64e 100644 --- a/mcaptcha/api/v1/meta/struct.Health.html +++ b/mcaptcha/api/v1/meta/struct.Health.html @@ -1,25 +1,26 @@ -Health in mcaptcha::api::v1::meta - Rust

    Struct mcaptcha::api::v1::meta::Health

    source ·
    pub struct Health {
    -    db: bool,
    -    redis: Option<bool>,
    +Health in mcaptcha::api::v1::meta - Rust
    +    

    Struct mcaptcha::api::v1::meta::Health

    source ·
    pub struct Health {
    +    db: bool,
    +    redis: Option<bool>,
     }
    Expand description

    Health check return datatype

    -

    Fields§

    §db: bool§redis: Option<bool>

    Implementations§

    Trait Implementations§

    source§

    impl Clone for Health

    source§

    fn clone(&self) -> Health

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Health

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Health

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Health

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §db: bool§redis: Option<bool>

    Implementations§

    Trait Implementations§

    source§

    impl Clone for Health

    source§

    fn clone(&self) -> Health

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Health

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Health

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Health

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 492061da..bf5b34a4 100644 --- a/mcaptcha/api/v1/meta/struct.HealthBuilder.html +++ b/mcaptcha/api/v1/meta/struct.HealthBuilder.html @@ -1,26 +1,27 @@ -HealthBuilder in mcaptcha::api::v1::meta - Rust

    Struct mcaptcha::api::v1::meta::HealthBuilder

    source ·
    pub struct HealthBuilder {
    -    db: Option<bool>,
    -    redis: Option<Option<bool>>,
    +HealthBuilder in mcaptcha::api::v1::meta - Rust
    +    

    Struct mcaptcha::api::v1::meta::HealthBuilder

    source ·
    pub struct HealthBuilder {
    +    db: Option<bool>,
    +    redis: Option<Option<bool>>,
     }
    Expand description

    Builder for Health.

    -

    Fields§

    §db: Option<bool>§redis: Option<Option<bool>>

    Implementations§

    source§

    impl HealthBuilder

    source

    pub fn db(&mut self, value: bool) -> &mut Self

    source

    pub fn redis(&mut self, value: Option<bool>) -> &mut Self

    source

    pub fn build(&self) -> Result<Health, HealthBuilderError>

    Builds a new Health.

    +

    Fields§

    §db: Option<bool>§redis: Option<Option<bool>>

    Implementations§

    source§

    impl HealthBuilder

    source

    pub fn db(&mut self, value: bool) -> &mut Self

    source

    pub fn redis(&mut self, value: Option<bool>) -> &mut Self

    source

    pub fn build(&self) -> Result<Health, HealthBuilderError>

    Builds a new Health.

    Errors

    If a required field has not been initialized.

    source

    fn create_empty() -> Self

    Create an empty builder, with all fields set to None or PhantomData.

    -

    Trait Implementations§

    source§

    impl Clone for HealthBuilder

    source§

    fn clone(&self) -> HealthBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for HealthBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    source§

    impl Clone for HealthBuilder

    source§

    fn clone(&self) -> HealthBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for HealthBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 78b33eb4..75af486d 100644 --- a/mcaptcha/api/v1/meta/struct.build_details.html +++ b/mcaptcha/api/v1/meta/struct.build_details.html @@ -1,18 +1,19 @@ -build_details in mcaptcha::api::v1::meta - Rust

    Struct mcaptcha::api::v1::meta::build_details

    source ·
    pub struct build_details;
    Expand description

    emits build details of the bninary

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for build_details

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +build_details in mcaptcha::api::v1::meta - Rust +

    Struct mcaptcha::api::v1::meta::build_details

    source ·
    pub struct build_details;
    Expand description

    emits build details of the bninary

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for build_details

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 ed51429d..9a6eea70 100644 --- a/mcaptcha/api/v1/meta/struct.health.html +++ b/mcaptcha/api/v1/meta/struct.health.html @@ -1,18 +1,19 @@ -health in mcaptcha::api::v1::meta - Rust

    Struct mcaptcha::api::v1::meta::health

    source ·
    pub struct health;
    Expand description

    checks all components of the system

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for health

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +health in mcaptcha::api::v1::meta - Rust +

    Struct mcaptcha::api::v1::meta::health

    source ·
    pub struct health;
    Expand description

    checks all components of the system

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for health

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 aa4180a6..30fd965e 100644 --- a/mcaptcha/api/v1/notifications/add/index.html +++ b/mcaptcha/api/v1/notifications/add/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::notifications::add - Rust

    Module mcaptcha::api::v1::notifications::add

    source ·

    Structs

    \ No newline at end of file +mcaptcha::api::v1::notifications::add - Rust +

    Module mcaptcha::api::v1::notifications::add

    source ·

    Structs

    \ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html b/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html index 2c71957f..1119a450 100644 --- a/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html +++ b/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html @@ -1,27 +1,28 @@ -AddNotificationRequest in mcaptcha::api::v1::notifications::add - Rust
    pub struct AddNotificationRequest {
    -    pub to: String,
    -    pub heading: String,
    -    pub message: String,
    -}

    Fields§

    §to: String§heading: String§message: String

    Trait Implementations§

    source§

    impl Clone for AddNotificationRequest

    source§

    fn clone(&self) -> AddNotificationRequest

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AddNotificationRequest

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for AddNotificationRequest

    source§

    fn default() -> AddNotificationRequest

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for AddNotificationRequest

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for AddNotificationRequest

    source§

    fn eq(&self, other: &AddNotificationRequest) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for AddNotificationRequest

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for AddNotificationRequest

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +AddNotificationRequest in mcaptcha::api::v1::notifications::add - Rust +
    pub struct AddNotificationRequest {
    +    pub to: String,
    +    pub heading: String,
    +    pub message: String,
    +}

    Fields§

    §to: String§heading: String§message: String

    Trait Implementations§

    source§

    impl Clone for AddNotificationRequest

    source§

    fn clone(&self) -> AddNotificationRequest

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AddNotificationRequest

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for AddNotificationRequest

    source§

    fn default() -> AddNotificationRequest

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for AddNotificationRequest

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for AddNotificationRequest

    source§

    fn eq(&self, other: &AddNotificationRequest) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for AddNotificationRequest

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for AddNotificationRequest

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 de28113e..f6b7331a 100644 --- a/mcaptcha/api/v1/notifications/add/struct.add_notification.html +++ b/mcaptcha/api/v1/notifications/add/struct.add_notification.html @@ -1,18 +1,19 @@ -add_notification in mcaptcha::api::v1::notifications::add - Rust
    pub struct add_notification;
    Expand description

    route handler that adds a notification message

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for add_notification

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +add_notification in mcaptcha::api::v1::notifications::add - Rust +
    pub struct add_notification;
    Expand description

    route handler that adds a notification message

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for add_notification

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 afc447f1..855ed243 100644 --- a/mcaptcha/api/v1/notifications/fn.services.html +++ b/mcaptcha/api/v1/notifications/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::notifications - Rust
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::notifications - Rust +
    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 03ab0e2d..2e2f5e20 100644 --- a/mcaptcha/api/v1/notifications/get/index.html +++ b/mcaptcha/api/v1/notifications/get/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::notifications::get - Rust

    Module mcaptcha::api::v1::notifications::get

    source ·

    Structs

    \ No newline at end of file +mcaptcha::api::v1::notifications::get - Rust +

    Module mcaptcha::api::v1::notifications::get

    source ·

    Structs

    \ 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 06298d59..c4aeacb1 100644 --- a/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html +++ b/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html @@ -1,29 +1,30 @@ -NotificationResp in mcaptcha::api::v1::notifications::get - Rust
    pub struct NotificationResp {
    -    pub name: String,
    -    pub heading: String,
    -    pub message: String,
    -    pub received: i64,
    -    pub id: i32,
    -}

    Fields§

    §name: String§heading: String§message: String§received: i64§id: i32

    Implementations§

    Trait Implementations§

    source§

    impl Clone for NotificationResp

    source§

    fn clone(&self) -> NotificationResp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for NotificationResp

    source§

    fn default() -> NotificationResp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for NotificationResp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<Notification> for NotificationResp

    source§

    fn from(n: Notification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for NotificationResp

    source§

    fn eq(&self, other: &NotificationResp) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NotificationResp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NotificationResp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +NotificationResp in mcaptcha::api::v1::notifications::get - Rust +
    pub struct NotificationResp {
    +    pub name: String,
    +    pub heading: String,
    +    pub message: String,
    +    pub received: i64,
    +    pub id: i32,
    +}

    Fields§

    §name: String§heading: String§message: String§received: i64§id: i32

    Implementations§

    Trait Implementations§

    source§

    impl Clone for NotificationResp

    source§

    fn clone(&self) -> NotificationResp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for NotificationResp

    source§

    fn default() -> NotificationResp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for NotificationResp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<Notification> for NotificationResp

    source§

    fn from(n: Notification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for NotificationResp

    source§

    fn eq(&self, other: &NotificationResp) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for NotificationResp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NotificationResp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 c313ea6c..668e24fe 100644 --- a/mcaptcha/api/v1/notifications/get/struct.get_notification.html +++ b/mcaptcha/api/v1/notifications/get/struct.get_notification.html @@ -1,18 +1,19 @@ -get_notification in mcaptcha::api::v1::notifications::get - Rust
    pub struct get_notification;
    Expand description

    route handler that gets all unread notifications

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_notification

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +get_notification in mcaptcha::api::v1::notifications::get - Rust +
    pub struct get_notification;
    Expand description

    route handler that gets all unread notifications

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_notification

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 1a20149e..fb46fa51 100644 --- a/mcaptcha/api/v1/notifications/index.html +++ b/mcaptcha/api/v1/notifications/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::notifications - Rust
    \ No newline at end of file +mcaptcha::api::v1::notifications - Rust +
    \ 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 6293b203..bb2ff0ad 100644 --- a/mcaptcha/api/v1/notifications/mark_read/index.html +++ b/mcaptcha/api/v1/notifications/mark_read/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::notifications::mark_read - Rust

    Structs

    \ No newline at end of file +mcaptcha::api::v1::notifications::mark_read - Rust +

    Structs

    \ 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 de5a9798..4376e589 100644 --- a/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html +++ b/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html @@ -1,22 +1,23 @@ -MarkReadReq in mcaptcha::api::v1::notifications::mark_read - Rust
    pub struct MarkReadReq {
    -    pub id: i32,
    -}

    Fields§

    §id: i32

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for MarkReadReq

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for MarkReadReq

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +MarkReadReq in mcaptcha::api::v1::notifications::mark_read - Rust +
    pub struct MarkReadReq {
    +    pub id: i32,
    +}

    Fields§

    §id: i32

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for MarkReadReq

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for MarkReadReq

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 2a56b51e..c55a5655 100644 --- a/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html +++ b/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html @@ -1,18 +1,19 @@ -mark_read in mcaptcha::api::v1::notifications::mark_read - Rust
    pub struct mark_read;
    Expand description

    route handler that marks a notification read

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for mark_read

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +mark_read in mcaptcha::api::v1::notifications::mark_read - Rust +
    pub struct mark_read;
    Expand description

    route handler that marks a notification read

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for mark_read

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 891a6614..64ae5eaf 100644 --- a/mcaptcha/api/v1/notifications/routes/index.html +++ b/mcaptcha/api/v1/notifications/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::notifications::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::notifications::routes - Rust +
    \ 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 079e7df3..fd6eb1c1 100644 --- a/mcaptcha/api/v1/notifications/routes/struct.Notifications.html +++ b/mcaptcha/api/v1/notifications/routes/struct.Notifications.html @@ -1,21 +1,22 @@ -Notifications in mcaptcha::api::v1::notifications::routes - Rust
    pub struct Notifications {
    -    pub add: &'static str,
    -    pub mark_read: &'static str,
    -    pub get: &'static str,
    -}

    Fields§

    §add: &'static str§mark_read: &'static str§get: &'static str

    Implementations§

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Notifications in mcaptcha::api::v1::notifications::routes - Rust +
    pub struct Notifications {
    +    pub add: &'static str,
    +    pub mark_read: &'static str,
    +    pub get: &'static str,
    +}

    Fields§

    §add: &'static str§mark_read: &'static str§get: &'static str

    Implementations§

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 3a24a0d9..c35cd1c1 100644 --- a/mcaptcha/api/v1/pow/fn.services.html +++ b/mcaptcha/api/v1/pow/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::pow - Rust

    Function mcaptcha::api::v1::pow::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::pow - Rust +

    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 76b1ae13..94809c97 100644 --- a/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html +++ b/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html @@ -1,7 +1,8 @@ -init_mcaptcha in mcaptcha::api::v1::pow::get_config - Rust
    pub async fn init_mcaptcha(
    +init_mcaptcha in mcaptcha::api::v1::pow::get_config - Rust
    +    
    pub async fn init_mcaptcha(
         data: &AppData,
    -    key: &str
    -) -> Result<(), ServiceError>
    Expand description

    Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.

    + 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 d7fc90e1..2ce4b57f 100644 --- a/mcaptcha/api/v1/pow/get_config/index.html +++ b/mcaptcha/api/v1/pow/get_config/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::pow::get_config - Rust

    Module mcaptcha::api::v1::pow::get_config

    source ·

    Structs

    Functions

    • Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.
    \ No newline at end of file +mcaptcha::api::v1::pow::get_config - Rust +

    Module mcaptcha::api::v1::pow::get_config

    source ·

    Structs

    Functions

    • Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.
    \ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/struct.ApiPoWConfig.html b/mcaptcha/api/v1/pow/get_config/struct.ApiPoWConfig.html index 1022d49a..a31d9e38 100644 --- a/mcaptcha/api/v1/pow/get_config/struct.ApiPoWConfig.html +++ b/mcaptcha/api/v1/pow/get_config/struct.ApiPoWConfig.html @@ -1,26 +1,27 @@ -ApiPoWConfig in mcaptcha::api::v1::pow::get_config - Rust
    pub struct ApiPoWConfig {
    -    pub string: String,
    -    pub difficulty_factor: u32,
    -    pub salt: String,
    -    pub max_recorded_nonce: u32,
    -}

    Fields§

    §string: String§difficulty_factor: u32§salt: String§max_recorded_nonce: u32

    Trait Implementations§

    source§

    impl Clone for ApiPoWConfig

    source§

    fn clone(&self) -> ApiPoWConfig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ApiPoWConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ApiPoWConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for ApiPoWConfig

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +ApiPoWConfig in mcaptcha::api::v1::pow::get_config - Rust +
    pub struct ApiPoWConfig {
    +    pub string: String,
    +    pub difficulty_factor: u32,
    +    pub salt: String,
    +    pub max_recorded_nonce: u32,
    +}

    Fields§

    §string: String§difficulty_factor: u32§salt: String§max_recorded_nonce: u32

    Trait Implementations§

    source§

    impl Clone for ApiPoWConfig

    source§

    fn clone(&self) -> ApiPoWConfig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ApiPoWConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ApiPoWConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for ApiPoWConfig

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 d6b060f7..4ef3e56b 100644 --- a/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html +++ b/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html @@ -1,23 +1,24 @@ -GetConfigPayload in mcaptcha::api::v1::pow::get_config - Rust
    pub struct GetConfigPayload {
    -    pub key: String,
    -}

    Fields§

    §key: String

    Trait Implementations§

    source§

    impl Clone for GetConfigPayload

    source§

    fn clone(&self) -> GetConfigPayload

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for GetConfigPayload

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for GetConfigPayload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for GetConfigPayload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +GetConfigPayload in mcaptcha::api::v1::pow::get_config - Rust +
    pub struct GetConfigPayload {
    +    pub key: String,
    +}

    Fields§

    §key: String

    Trait Implementations§

    source§

    impl Clone for GetConfigPayload

    source§

    fn clone(&self) -> GetConfigPayload

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for GetConfigPayload

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for GetConfigPayload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for GetConfigPayload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 9bb86237..ecdaa994 100644 --- a/mcaptcha/api/v1/pow/get_config/struct.get_config.html +++ b/mcaptcha/api/v1/pow/get_config/struct.get_config.html @@ -1,18 +1,19 @@ -get_config in mcaptcha::api::v1::pow::get_config - Rust
    pub struct get_config;
    Expand description

    get PoW configuration for an mcaptcha key

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_config

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +get_config in mcaptcha::api::v1::pow::get_config - Rust +
    pub struct get_config;
    Expand description

    get PoW configuration for an mcaptcha key

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_config

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 3d1518d5..0200d7f7 100644 --- a/mcaptcha/api/v1/pow/index.html +++ b/mcaptcha/api/v1/pow/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::pow - Rust

    Module mcaptcha::api::v1::pow

    source ·

    Re-exports

    Modules

    Functions

    \ No newline at end of file +mcaptcha::api::v1::pow - Rust +

    Module mcaptcha::api::v1::pow

    source ·

    Re-exports

    Modules

    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 baf43ff9..a865f5a7 100644 --- a/mcaptcha/api/v1/pow/routes/index.html +++ b/mcaptcha/api/v1/pow/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::pow::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::pow::routes - Rust +
    \ 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 64ce01d3..54e38cbb 100644 --- a/mcaptcha/api/v1/pow/routes/macro.rm_scope.html +++ b/mcaptcha/api/v1/pow/routes/macro.rm_scope.html @@ -1,3 +1,4 @@ -rm_scope in mcaptcha::api::v1::pow::routes - Rust

    Macro mcaptcha::api::v1::pow::routes::rm_scope

    source ·
    macro_rules! rm_scope {
    +rm_scope in mcaptcha::api::v1::pow::routes - Rust
    +    

    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 b7f32812..295c5e71 100644 --- a/mcaptcha/api/v1/pow/routes/struct.PoW.html +++ b/mcaptcha/api/v1/pow/routes/struct.PoW.html @@ -1,25 +1,26 @@ -PoW in mcaptcha::api::v1::pow::routes - Rust

    Struct mcaptcha::api::v1::pow::routes::PoW

    source ·
    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 str§verify_pow: &'static str§validate_captcha_token: &'static str§scope: &'static str

    Implementations§

    source§

    impl PoW

    source

    pub const fn new() -> Self

    source

    pub fn get_config(&self) -> &str

    remove scope for $name route

    -
    source

    pub fn verify_pow(&self) -> &str

    remove scope for $name route

    -
    source

    pub fn validate_captcha_token(&self) -> &str

    remove scope for $name route

    -

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for PoW

    §

    impl Send for PoW

    §

    impl Sync for PoW

    §

    impl Unpin for PoW

    §

    impl UnwindSafe for PoW

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +PoW in mcaptcha::api::v1::pow::routes - Rust +

    Struct mcaptcha::api::v1::pow::routes::PoW

    source ·
    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 str§verify_pow: &'static str§validate_captcha_token: &'static str§scope: &'static str

    Implementations§

    source§

    impl PoW

    source

    pub const fn new() -> Self

    source

    pub fn get_config(&self) -> &str

    remove scope for $name route

    +
    source

    pub fn verify_pow(&self) -> &str

    remove scope for $name route

    +
    source

    pub fn validate_captcha_token(&self) -> &str

    remove scope for $name route

    +

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for PoW

    §

    impl Send for PoW

    §

    impl Sync for PoW

    §

    impl Unpin for PoW

    §

    impl UnwindSafe for PoW

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 e62676f0..7f617b1b 100644 --- a/mcaptcha/api/v1/pow/verify_pow/index.html +++ b/mcaptcha/api/v1/pow/verify_pow/index.html @@ -1,4 +1,5 @@ -mcaptcha::api::v1::pow::verify_pow - Rust

    Module mcaptcha::api::v1::pow::verify_pow

    source ·
    Expand description

    PoW Verification module

    -

    Structs

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 1dbc8e47..52749ddb 100644 --- a/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html +++ b/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html @@ -1,19 +1,20 @@ -verify_pow in mcaptcha::api::v1::pow::verify_pow - Rust
    pub struct verify_pow;
    Expand description

    route handler that verifies PoW and issues a solution token +verify_pow in mcaptcha::api::v1::pow::verify_pow - Rust

    +
    pub struct verify_pow;
    Expand description

    route handler that verifies PoW and issues a solution token if verification is successful

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for verify_pow

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for verify_pow

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 a8faf8f1..683a7c7a 100644 --- a/mcaptcha/api/v1/pow/verify_token/index.html +++ b/mcaptcha/api/v1/pow/verify_token/index.html @@ -1,2 +1,3 @@ -mcaptcha::api::v1::pow::verify_token - Rust

    Module mcaptcha::api::v1::pow::verify_token

    source ·
    Expand description

    PoW success token module

    -

    Structs

    \ No newline at end of file +mcaptcha::api::v1::pow::verify_token - Rust +

    Module mcaptcha::api::v1::pow::verify_token

    source ·
    Expand description

    PoW success token module

    +

    Structs

    \ 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 cd47eefb..b6876170 100644 --- a/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html +++ b/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html @@ -1,23 +1,24 @@ -CaptchaValidateResp in mcaptcha::api::v1::pow::verify_token - Rust
    pub struct CaptchaValidateResp {
    -    pub valid: bool,
    -}

    Fields§

    §valid: bool

    Trait Implementations§

    source§

    impl Clone for CaptchaValidateResp

    source§

    fn clone(&self) -> CaptchaValidateResp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CaptchaValidateResp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for CaptchaValidateResp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for CaptchaValidateResp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +CaptchaValidateResp in mcaptcha::api::v1::pow::verify_token - Rust +
    pub struct CaptchaValidateResp {
    +    pub valid: bool,
    +}

    Fields§

    §valid: bool

    Trait Implementations§

    source§

    impl Clone for CaptchaValidateResp

    source§

    fn clone(&self) -> CaptchaValidateResp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CaptchaValidateResp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for CaptchaValidateResp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for CaptchaValidateResp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_token/struct.VerifyCaptchaResultPayload.html b/mcaptcha/api/v1/pow/verify_token/struct.VerifyCaptchaResultPayload.html index 87c65df1..fb2f897b 100644 --- a/mcaptcha/api/v1/pow/verify_token/struct.VerifyCaptchaResultPayload.html +++ b/mcaptcha/api/v1/pow/verify_token/struct.VerifyCaptchaResultPayload.html @@ -1,25 +1,26 @@ -VerifyCaptchaResultPayload in mcaptcha::api::v1::pow::verify_token - Rust
    pub struct VerifyCaptchaResultPayload {
    -    pub secret: String,
    -    pub key: String,
    -    pub token: String,
    -}

    Fields§

    §secret: String§key: String§token: String

    Trait Implementations§

    source§

    impl Clone for VerifyCaptchaResultPayload

    source§

    fn clone(&self) -> VerifyCaptchaResultPayload

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for VerifyCaptchaResultPayload

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for VerifyCaptchaResultPayload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<VerifyCaptchaResultPayload> for VerifyCaptchaResult

    source§

    fn from(m: VerifyCaptchaResultPayload) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for VerifyCaptchaResultPayload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +VerifyCaptchaResultPayload in mcaptcha::api::v1::pow::verify_token - Rust +
    pub struct VerifyCaptchaResultPayload {
    +    pub secret: String,
    +    pub key: String,
    +    pub token: String,
    +}

    Fields§

    §secret: String§key: String§token: String

    Trait Implementations§

    source§

    impl Clone for VerifyCaptchaResultPayload

    source§

    fn clone(&self) -> VerifyCaptchaResultPayload

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for VerifyCaptchaResultPayload

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for VerifyCaptchaResultPayload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<VerifyCaptchaResultPayload> for VerifyCaptchaResult

    source§

    fn from(m: VerifyCaptchaResultPayload) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for VerifyCaptchaResultPayload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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 16a598c3..6dbc69fe 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 @@ -1,18 +1,19 @@ -validate_captcha_token in mcaptcha::api::v1::pow::verify_token - Rust
    pub struct validate_captcha_token;
    Expand description

    route handler that validates a PoW solution token

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for validate_captcha_token

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +validate_captcha_token in mcaptcha::api::v1::pow::verify_token - Rust +
    pub struct validate_captcha_token;
    Expand description

    route handler that validates a PoW solution token

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for validate_captcha_token

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 4fe456ae..01ff923d 100644 --- a/mcaptcha/api/v1/routes/constant.ROUTES.html +++ b/mcaptcha/api/v1/routes/constant.ROUTES.html @@ -1 +1,2 @@ -ROUTES in mcaptcha::api::v1::routes - Rust

    Constant mcaptcha::api::v1::routes::ROUTES

    source ·
    pub const ROUTES: Routes;
    \ No newline at end of file +ROUTES in mcaptcha::api::v1::routes - Rust +

    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 c3b00e90..7f37ada4 100644 --- a/mcaptcha/api/v1/routes/index.html +++ b/mcaptcha/api/v1/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::routes - Rust +
    \ 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 4dfc60c8..1d41d986 100644 --- a/mcaptcha/api/v1/routes/struct.Routes.html +++ b/mcaptcha/api/v1/routes/struct.Routes.html @@ -1,4 +1,5 @@ -Routes in mcaptcha::api::v1::routes - Rust

    Struct mcaptcha::api::v1::routes::Routes

    source ·
    pub struct Routes {
    +Routes in mcaptcha::api::v1::routes - Rust
    +    

    Struct mcaptcha::api::v1::routes::Routes

    source ·
    pub struct Routes {
         pub auth: Auth,
         pub account: Account,
         pub captcha: Captcha,
    @@ -7,20 +8,20 @@
         pub survey: Survey,
         pub notifications: Notifications,
         pub stats: Stats,
    -}

    Fields§

    §auth: Auth§account: Account§captcha: Captcha§meta: Meta§pow: PoW§survey: Survey§notifications: Notifications§stats: Stats

    Implementations§

    source§

    impl Routes

    source

    const fn new() -> Routes

    Trait Implementations§

    source§

    impl GetLoginRoute for Routes

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Fields§

    §auth: Auth§account: Account§captcha: Captcha§meta: Meta§pow: PoW§survey: Survey§notifications: Notifications§stats: Stats

    Implementations§

    source§

    impl Routes

    source

    const fn new() -> Routes

    Trait Implementations§

    source§

    impl GetLoginRoute for Routes

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/stats/enum.BuildDetailsBuilderError.html b/mcaptcha/api/v1/stats/enum.BuildDetailsBuilderError.html index 8e60808e..8607f208 100644 --- a/mcaptcha/api/v1/stats/enum.BuildDetailsBuilderError.html +++ b/mcaptcha/api/v1/stats/enum.BuildDetailsBuilderError.html @@ -1,24 +1,25 @@ -BuildDetailsBuilderError in mcaptcha::api::v1::stats - Rust
    #[non_exhaustive]
    pub enum BuildDetailsBuilderError { - UninitializedField(&'static str), - ValidationError(String), +BuildDetailsBuilderError in mcaptcha::api::v1::stats - Rust +
    #[non_exhaustive]
    pub enum BuildDetailsBuilderError { + 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§

    source§

    impl Debug for BuildDetailsBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for BuildDetailsBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for BuildDetailsBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for BuildDetailsBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for BuildDetailsBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    UninitializedField(&'static str)

    Uninitialized field

    +
    §

    ValidationError(String)

    Custom validation error

    +

    Trait Implementations§

    source§

    impl Debug for BuildDetailsBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for BuildDetailsBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for BuildDetailsBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for BuildDetailsBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for BuildDetailsBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/stats/enum.PercentileReqBuilderError.html b/mcaptcha/api/v1/stats/enum.PercentileReqBuilderError.html index e52916d4..41698d1c 100644 --- a/mcaptcha/api/v1/stats/enum.PercentileReqBuilderError.html +++ b/mcaptcha/api/v1/stats/enum.PercentileReqBuilderError.html @@ -1,24 +1,25 @@ -PercentileReqBuilderError in mcaptcha::api::v1::stats - Rust
    #[non_exhaustive]
    pub enum PercentileReqBuilderError { - UninitializedField(&'static str), - ValidationError(String), +PercentileReqBuilderError in mcaptcha::api::v1::stats - Rust +
    #[non_exhaustive]
    pub enum PercentileReqBuilderError { + UninitializedField(&'static str), + ValidationError(String), }
    Expand description

    Error type for PercentileReqBuilder

    -

    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§

    source§

    impl Debug for PercentileReqBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PercentileReqBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PercentileReqBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for PercentileReqBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for PercentileReqBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    UninitializedField(&'static str)

    Uninitialized field

    +
    §

    ValidationError(String)

    Custom validation error

    +

    Trait Implementations§

    source§

    impl Debug for PercentileReqBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PercentileReqBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PercentileReqBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for PercentileReqBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for PercentileReqBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/stats/enum.PercentileRespBuilderError.html b/mcaptcha/api/v1/stats/enum.PercentileRespBuilderError.html index deb4e39e..b8bfe838 100644 --- a/mcaptcha/api/v1/stats/enum.PercentileRespBuilderError.html +++ b/mcaptcha/api/v1/stats/enum.PercentileRespBuilderError.html @@ -1,24 +1,25 @@ -PercentileRespBuilderError in mcaptcha::api::v1::stats - Rust
    #[non_exhaustive]
    pub enum PercentileRespBuilderError { - UninitializedField(&'static str), - ValidationError(String), +PercentileRespBuilderError in mcaptcha::api::v1::stats - Rust +
    #[non_exhaustive]
    pub enum PercentileRespBuilderError { + UninitializedField(&'static str), + ValidationError(String), }
    Expand description

    Error type for PercentileRespBuilder

    -

    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§

    source§

    impl Debug for PercentileRespBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PercentileRespBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PercentileRespBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for PercentileRespBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for PercentileRespBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    UninitializedField(&'static str)

    Uninitialized field

    +
    §

    ValidationError(String)

    Custom validation error

    +

    Trait Implementations§

    source§

    impl Debug for PercentileRespBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PercentileRespBuilderError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PercentileRespBuilderError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<String> for PercentileRespBuilderError

    source§

    fn from(s: String) -> Self

    Converts to this type from the input type.
    source§

    impl From<UninitializedFieldError> for PercentileRespBuilderError

    source§

    fn from(s: UninitializedFieldError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/stats/fn.percentile_bench_runner.html b/mcaptcha/api/v1/stats/fn.percentile_bench_runner.html index bc73e9ab..ef46727e 100644 --- a/mcaptcha/api/v1/stats/fn.percentile_bench_runner.html +++ b/mcaptcha/api/v1/stats/fn.percentile_bench_runner.html @@ -1,4 +1,5 @@ -percentile_bench_runner in mcaptcha::api::v1::stats - Rust
    pub async fn percentile_bench_runner(
    +percentile_bench_runner in mcaptcha::api::v1::stats - Rust
    +    
    pub async fn percentile_bench_runner(
         data: &AppData,
         req: &PercentileReq
    -) -> Result<PercentileResp, ServiceError>
    \ No newline at end of file +) -> Result<PercentileResp, ServiceError>
    \ No newline at end of file diff --git a/mcaptcha/api/v1/stats/fn.services.html b/mcaptcha/api/v1/stats/fn.services.html index 8751833a..d791840a 100644 --- a/mcaptcha/api/v1/stats/fn.services.html +++ b/mcaptcha/api/v1/stats/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::stats - Rust

    Function mcaptcha::api::v1::stats::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::stats - Rust +

    Function mcaptcha::api::v1::stats::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/api/v1/stats/index.html b/mcaptcha/api/v1/stats/index.html index d66beea0..480e75b9 100644 --- a/mcaptcha/api/v1/stats/index.html +++ b/mcaptcha/api/v1/stats/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::stats - Rust

    Module mcaptcha::api::v1::stats

    source ·

    Modules

    Structs

    Enums

    Functions

    \ No newline at end of file +mcaptcha::api::v1::stats - Rust +

    Module mcaptcha::api::v1::stats

    source ·

    Modules

    Structs

    Enums

    Functions

    \ No newline at end of file diff --git a/mcaptcha/api/v1/stats/routes/index.html b/mcaptcha/api/v1/stats/routes/index.html index 9e3c98bc..b577d858 100644 --- a/mcaptcha/api/v1/stats/routes/index.html +++ b/mcaptcha/api/v1/stats/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::stats::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::stats::routes - Rust +
    \ No newline at end of file diff --git a/mcaptcha/api/v1/stats/routes/struct.Stats.html b/mcaptcha/api/v1/stats/routes/struct.Stats.html index 740540b2..3ec6a7f3 100644 --- a/mcaptcha/api/v1/stats/routes/struct.Stats.html +++ b/mcaptcha/api/v1/stats/routes/struct.Stats.html @@ -1,30 +1,31 @@ -Stats in mcaptcha::api::v1::stats::routes - Rust

    Struct mcaptcha::api::v1::stats::routes::Stats

    source ·
    pub struct Stats {
    -    pub percentile_benches: &'static str,
    -}

    Fields§

    §percentile_benches: &'static str

    Implementations§

    source§

    impl Stats

    source

    pub const fn new() -> Self

    Trait Implementations§

    source§

    impl Clone for Stats

    source§

    fn clone(&self) -> Stats

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Stats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserialize<'static> for Stats

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'static>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Stats

    source§

    fn eq(&self, other: &Stats) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Stats

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Stats

    source§

    impl StructuralEq for Stats

    source§

    impl StructuralPartialEq for Stats

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Stats

    §

    impl Send for Stats

    §

    impl Sync for Stats

    §

    impl Unpin for Stats

    §

    impl UnwindSafe for Stats

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Stats in mcaptcha::api::v1::stats::routes - Rust +

    Struct mcaptcha::api::v1::stats::routes::Stats

    source ·
    pub struct Stats {
    +    pub percentile_benches: &'static str,
    +}

    Fields§

    §percentile_benches: &'static str

    Implementations§

    source§

    impl Stats

    source

    pub const fn new() -> Self

    Trait Implementations§

    source§

    impl Clone for Stats

    source§

    fn clone(&self) -> Stats

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Stats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserialize<'static> for Stats

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'static>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Stats

    source§

    fn eq(&self, other: &Stats) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Stats

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Stats

    source§

    impl StructuralEq for Stats

    source§

    impl StructuralPartialEq for Stats

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Stats

    §

    impl Send for Stats

    §

    impl Sync for Stats

    §

    impl Unpin for Stats

    §

    impl UnwindSafe for Stats

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/stats/struct.BuildDetails.html b/mcaptcha/api/v1/stats/struct.BuildDetails.html index 2d015133..87c2510c 100644 --- a/mcaptcha/api/v1/stats/struct.BuildDetails.html +++ b/mcaptcha/api/v1/stats/struct.BuildDetails.html @@ -1,23 +1,24 @@ -BuildDetails in mcaptcha::api::v1::stats - Rust

    Struct mcaptcha::api::v1::stats::BuildDetails

    source ·
    pub struct BuildDetails {
    -    pub version: &'static str,
    -    pub git_commit_hash: &'static str,
    -}

    Fields§

    §version: &'static str§git_commit_hash: &'static str

    Trait Implementations§

    source§

    impl Clone for BuildDetails

    source§

    fn clone(&self) -> BuildDetails

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BuildDetails

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserialize<'static> for BuildDetails

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'static>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for BuildDetails

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +BuildDetails in mcaptcha::api::v1::stats - Rust +

    Struct mcaptcha::api::v1::stats::BuildDetails

    source ·
    pub struct BuildDetails {
    +    pub version: &'static str,
    +    pub git_commit_hash: &'static str,
    +}

    Fields§

    §version: &'static str§git_commit_hash: &'static str

    Trait Implementations§

    source§

    impl Clone for BuildDetails

    source§

    fn clone(&self) -> BuildDetails

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BuildDetails

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserialize<'static> for BuildDetails

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'static>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for BuildDetails

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/stats/struct.BuildDetailsBuilder.html b/mcaptcha/api/v1/stats/struct.BuildDetailsBuilder.html index 737722bc..192a6813 100644 --- a/mcaptcha/api/v1/stats/struct.BuildDetailsBuilder.html +++ b/mcaptcha/api/v1/stats/struct.BuildDetailsBuilder.html @@ -1,26 +1,27 @@ -BuildDetailsBuilder in mcaptcha::api::v1::stats - Rust
    pub struct BuildDetailsBuilder {
    -    version: Option<&'static str>,
    -    git_commit_hash: Option<&'static str>,
    +BuildDetailsBuilder in mcaptcha::api::v1::stats - Rust
    +    
    pub struct BuildDetailsBuilder {
    +    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§

    source§

    impl BuildDetailsBuilder

    source

    pub fn version(&mut self, value: &'static str) -> &mut Self

    source

    pub fn git_commit_hash(&mut self, value: &'static str) -> &mut Self

    source

    pub fn build(&self) -> Result<BuildDetails, BuildDetailsBuilderError>

    Builds a new BuildDetails.

    +

    Fields§

    §version: Option<&'static str>§git_commit_hash: Option<&'static str>

    Implementations§

    source§

    impl BuildDetailsBuilder

    source

    pub fn version(&mut self, value: &'static str) -> &mut Self

    source

    pub fn git_commit_hash(&mut self, value: &'static str) -> &mut Self

    source

    pub fn build(&self) -> Result<BuildDetails, BuildDetailsBuilderError>

    Builds a new BuildDetails.

    Errors

    If a required field has not been initialized.

    source

    fn create_empty() -> Self

    Create an empty builder, with all fields set to None or PhantomData.

    -

    Trait Implementations§

    source§

    impl Clone for BuildDetailsBuilder

    source§

    fn clone(&self) -> BuildDetailsBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BuildDetailsBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    source§

    impl Clone for BuildDetailsBuilder

    source§

    fn clone(&self) -> BuildDetailsBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BuildDetailsBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/stats/struct.PercentileReq.html b/mcaptcha/api/v1/stats/struct.PercentileReq.html index 7f329e76..ca8323cf 100644 --- a/mcaptcha/api/v1/stats/struct.PercentileReq.html +++ b/mcaptcha/api/v1/stats/struct.PercentileReq.html @@ -1,25 +1,26 @@ -PercentileReq in mcaptcha::api::v1::stats - Rust
    pub struct PercentileReq {
    -    pub time: u32,
    -    pub percentile: f64,
    +PercentileReq in mcaptcha::api::v1::stats - Rust
    +    
    pub struct PercentileReq {
    +    pub time: u32,
    +    pub percentile: f64,
     }
    Expand description

    Health check return datatype

    -

    Fields§

    §time: u32§percentile: f64

    Trait Implementations§

    source§

    impl Clone for PercentileReq

    source§

    fn clone(&self) -> PercentileReq

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PercentileReq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PercentileReq

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for PercentileReq

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §time: u32§percentile: f64

    Trait Implementations§

    source§

    impl Clone for PercentileReq

    source§

    fn clone(&self) -> PercentileReq

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PercentileReq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PercentileReq

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for PercentileReq

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/api/v1/stats/struct.PercentileReqBuilder.html b/mcaptcha/api/v1/stats/struct.PercentileReqBuilder.html index b05b3183..6a97974a 100644 --- a/mcaptcha/api/v1/stats/struct.PercentileReqBuilder.html +++ b/mcaptcha/api/v1/stats/struct.PercentileReqBuilder.html @@ -1,26 +1,27 @@ -PercentileReqBuilder in mcaptcha::api::v1::stats - Rust
    pub struct PercentileReqBuilder {
    -    time: Option<u32>,
    -    percentile: Option<f64>,
    +PercentileReqBuilder in mcaptcha::api::v1::stats - Rust
    +    
    pub struct PercentileReqBuilder {
    +    time: Option<u32>,
    +    percentile: Option<f64>,
     }
    Expand description

    Builder for PercentileReq.

    -

    Fields§

    §time: Option<u32>§percentile: Option<f64>

    Implementations§

    source§

    impl PercentileReqBuilder

    source

    pub fn time(&mut self, value: u32) -> &mut Self

    source

    pub fn percentile(&mut self, value: f64) -> &mut Self

    source

    pub fn build(&self) -> Result<PercentileReq, PercentileReqBuilderError>

    Builds a new PercentileReq.

    +

    Fields§

    §time: Option<u32>§percentile: Option<f64>

    Implementations§

    source§

    impl PercentileReqBuilder

    source

    pub fn time(&mut self, value: u32) -> &mut Self

    source

    pub fn percentile(&mut self, value: f64) -> &mut Self

    source

    pub fn build(&self) -> Result<PercentileReq, PercentileReqBuilderError>

    Builds a new PercentileReq.

    Errors

    If a required field has not been initialized.

    source

    fn create_empty() -> Self

    Create an empty builder, with all fields set to None or PhantomData.

    -

    Trait Implementations§

    source§

    impl Clone for PercentileReqBuilder

    source§

    fn clone(&self) -> PercentileReqBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for PercentileReqBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    source§

    impl Clone for PercentileReqBuilder

    source§

    fn clone(&self) -> PercentileReqBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for PercentileReqBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/stats/struct.PercentileResp.html b/mcaptcha/api/v1/stats/struct.PercentileResp.html index 0143dd95..cf3a11bd 100644 --- a/mcaptcha/api/v1/stats/struct.PercentileResp.html +++ b/mcaptcha/api/v1/stats/struct.PercentileResp.html @@ -1,24 +1,25 @@ -PercentileResp in mcaptcha::api::v1::stats - Rust
    pub struct PercentileResp {
    -    pub difficulty_factor: Option<u32>,
    +PercentileResp in mcaptcha::api::v1::stats - Rust
    +    
    pub struct PercentileResp {
    +    pub difficulty_factor: Option<u32>,
     }
    Expand description

    Health check return datatype

    -

    Fields§

    §difficulty_factor: Option<u32>

    Trait Implementations§

    source§

    impl Clone for PercentileResp

    source§

    fn clone(&self) -> PercentileResp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PercentileResp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PercentileResp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for PercentileResp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §difficulty_factor: Option<u32>

    Trait Implementations§

    source§

    impl Clone for PercentileResp

    source§

    fn clone(&self) -> PercentileResp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PercentileResp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PercentileResp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for PercentileResp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/api/v1/stats/struct.PercentileRespBuilder.html b/mcaptcha/api/v1/stats/struct.PercentileRespBuilder.html index 14f86849..47d6cd0b 100644 --- a/mcaptcha/api/v1/stats/struct.PercentileRespBuilder.html +++ b/mcaptcha/api/v1/stats/struct.PercentileRespBuilder.html @@ -1,25 +1,26 @@ -PercentileRespBuilder in mcaptcha::api::v1::stats - Rust
    pub struct PercentileRespBuilder {
    -    difficulty_factor: Option<Option<u32>>,
    +PercentileRespBuilder in mcaptcha::api::v1::stats - Rust
    +    
    pub struct PercentileRespBuilder {
    +    difficulty_factor: Option<Option<u32>>,
     }
    Expand description

    Builder for PercentileResp.

    -

    Fields§

    §difficulty_factor: Option<Option<u32>>

    Implementations§

    source§

    impl PercentileRespBuilder

    source

    pub fn difficulty_factor(&mut self, value: Option<u32>) -> &mut Self

    source

    pub fn build(&self) -> Result<PercentileResp, PercentileRespBuilderError>

    Builds a new PercentileResp.

    +

    Fields§

    §difficulty_factor: Option<Option<u32>>

    Implementations§

    source§

    impl PercentileRespBuilder

    source

    pub fn difficulty_factor(&mut self, value: Option<u32>) -> &mut Self

    source

    pub fn build(&self) -> Result<PercentileResp, PercentileRespBuilderError>

    Builds a new PercentileResp.

    Errors

    If a required field has not been initialized.

    source

    fn create_empty() -> Self

    Create an empty builder, with all fields set to None or PhantomData.

    -

    Trait Implementations§

    source§

    impl Clone for PercentileRespBuilder

    source§

    fn clone(&self) -> PercentileRespBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for PercentileRespBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    source§

    impl Clone for PercentileRespBuilder

    source§

    fn clone(&self) -> PercentileRespBuilder

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for PercentileRespBuilder

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/stats/struct.percentile_benches.html b/mcaptcha/api/v1/stats/struct.percentile_benches.html index cd93eea6..057d2af3 100644 --- a/mcaptcha/api/v1/stats/struct.percentile_benches.html +++ b/mcaptcha/api/v1/stats/struct.percentile_benches.html @@ -1,18 +1,19 @@ -percentile_benches in mcaptcha::api::v1::stats - Rust
    pub struct percentile_benches;
    Expand description

    Get difficulty factor with max time limit for percentile of stats

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for percentile_benches

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +percentile_benches in mcaptcha::api::v1::stats - Rust +
    pub struct percentile_benches;
    Expand description

    Get difficulty factor with max time limit for percentile of stats

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for percentile_benches

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 6e676a9d..e4bb01c6 100644 --- a/mcaptcha/api/v1/struct.RedirectQuery.html +++ b/mcaptcha/api/v1/struct.RedirectQuery.html @@ -1,21 +1,22 @@ -RedirectQuery in mcaptcha::api::v1 - Rust

    Struct mcaptcha::api::v1::RedirectQuery

    source ·
    pub struct RedirectQuery {
    -    pub redirect_to: Option<String>,
    -}

    Fields§

    §redirect_to: Option<String>

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for RedirectQuery

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +RedirectQuery in mcaptcha::api::v1 - Rust +

    Struct mcaptcha::api::v1::RedirectQuery

    source ·
    pub struct RedirectQuery {
    +    pub redirect_to: Option<String>,
    +}

    Fields§

    §redirect_to: Option<String>

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for RedirectQuery

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/api/v1/survey/fn.services.html b/mcaptcha/api/v1/survey/fn.services.html index 8a1eba67..23ea2293 100644 --- a/mcaptcha/api/v1/survey/fn.services.html +++ b/mcaptcha/api/v1/survey/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::api::v1::survey - Rust

    Function mcaptcha::api::v1::survey::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::api::v1::survey - Rust +

    Function mcaptcha::api::v1::survey::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/api/v1/survey/index.html b/mcaptcha/api/v1/survey/index.html index 65fe8402..8dbb18c2 100644 --- a/mcaptcha/api/v1/survey/index.html +++ b/mcaptcha/api/v1/survey/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::survey - Rust

    Module mcaptcha::api::v1::survey

    source ·

    Modules

    Structs

    Functions

    \ No newline at end of file +mcaptcha::api::v1::survey - Rust +

    Module mcaptcha::api::v1::survey

    source ·

    Modules

    Structs

    Functions

    \ No newline at end of file diff --git a/mcaptcha/api/v1/survey/routes/index.html b/mcaptcha/api/v1/survey/routes/index.html index 429cb1db..cc63f16c 100644 --- a/mcaptcha/api/v1/survey/routes/index.html +++ b/mcaptcha/api/v1/survey/routes/index.html @@ -1 +1,2 @@ -mcaptcha::api::v1::survey::routes - Rust
    \ No newline at end of file +mcaptcha::api::v1::survey::routes - Rust +
    \ No newline at end of file diff --git a/mcaptcha/api/v1/survey/routes/struct.Survey.html b/mcaptcha/api/v1/survey/routes/struct.Survey.html index 6b6959a3..623acaec 100644 --- a/mcaptcha/api/v1/survey/routes/struct.Survey.html +++ b/mcaptcha/api/v1/survey/routes/struct.Survey.html @@ -1,20 +1,21 @@ -Survey in mcaptcha::api::v1::survey::routes - Rust

    Struct mcaptcha::api::v1::survey::routes::Survey

    source ·
    pub struct Survey {
    -    pub download: &'static str,
    -    pub secret: &'static str,
    -}

    Fields§

    §download: &'static str§secret: &'static str

    Implementations§

    source§

    impl Survey

    source

    pub const fn new() -> Self

    source

    pub fn get_download_route(&self, survey_id: &str, page: usize) -> String

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Survey in mcaptcha::api::v1::survey::routes - Rust +

    Struct mcaptcha::api::v1::survey::routes::Survey

    source ·
    pub struct Survey {
    +    pub download: &'static str,
    +    pub secret: &'static str,
    +}

    Fields§

    §download: &'static str§secret: &'static str

    Implementations§

    source§

    impl Survey

    source

    pub const fn new() -> Self

    source

    pub fn get_download_route(&self, survey_id: &str, page: usize) -> String

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/survey/struct.Page.html b/mcaptcha/api/v1/survey/struct.Page.html index fac12679..be078b53 100644 --- a/mcaptcha/api/v1/survey/struct.Page.html +++ b/mcaptcha/api/v1/survey/struct.Page.html @@ -1,31 +1,32 @@ -Page in mcaptcha::api::v1::survey - Rust

    Struct mcaptcha::api::v1::survey::Page

    source ·
    pub struct Page {
    -    pub page: usize,
    -}

    Fields§

    §page: usize

    Trait Implementations§

    source§

    impl Clone for Page

    source§

    fn clone(&self) -> Page

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Page

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Page

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Page

    source§

    fn eq(&self, other: &Page) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Page

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Page

    source§

    impl StructuralEq for Page

    source§

    impl StructuralPartialEq for Page

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Page

    §

    impl Send for Page

    §

    impl Sync for Page

    §

    impl Unpin for Page

    §

    impl UnwindSafe for Page

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Page in mcaptcha::api::v1::survey - Rust +

    Struct mcaptcha::api::v1::survey::Page

    source ·
    pub struct Page {
    +    pub page: usize,
    +}

    Fields§

    §page: usize

    Trait Implementations§

    source§

    impl Clone for Page

    source§

    fn clone(&self) -> Page

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Page

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Page

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Page

    source§

    fn eq(&self, other: &Page) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Page

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Page

    source§

    impl StructuralEq for Page

    source§

    impl StructuralPartialEq for Page

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Page

    §

    impl Send for Page

    §

    impl Sync for Page

    §

    impl Unpin for Page

    §

    impl UnwindSafe for Page

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/api/v1/survey/struct.SurveySecretUpload.html b/mcaptcha/api/v1/survey/struct.SurveySecretUpload.html index 5c355ada..a778c353 100644 --- a/mcaptcha/api/v1/survey/struct.SurveySecretUpload.html +++ b/mcaptcha/api/v1/survey/struct.SurveySecretUpload.html @@ -1,23 +1,24 @@ -SurveySecretUpload in mcaptcha::api::v1::survey - Rust
    struct SurveySecretUpload {
    -    secret: String,
    -    auth_token: String,
    -}

    Fields§

    §secret: String§auth_token: String

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for SurveySecretUpload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for SurveySecretUpload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +SurveySecretUpload in mcaptcha::api::v1::survey - Rust +
    struct SurveySecretUpload {
    +    secret: String,
    +    auth_token: String,
    +}

    Fields§

    §secret: String§auth_token: String

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for SurveySecretUpload

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for SurveySecretUpload

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/api/v1/survey/struct.download.html b/mcaptcha/api/v1/survey/struct.download.html index 9db71b35..a5e54f0d 100644 --- a/mcaptcha/api/v1/survey/struct.download.html +++ b/mcaptcha/api/v1/survey/struct.download.html @@ -1,18 +1,19 @@ -download in mcaptcha::api::v1::survey - Rust

    Struct mcaptcha::api::v1::survey::download

    source ·
    pub struct download;
    Expand description

    emits build details of the bninary

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for download

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +download in mcaptcha::api::v1::survey - Rust +

    Struct mcaptcha::api::v1::survey::download

    source ·
    pub struct download;
    Expand description

    emits build details of the bninary

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for download

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/survey/struct.secret.html b/mcaptcha/api/v1/survey/struct.secret.html index 0c1451bb..034fa673 100644 --- a/mcaptcha/api/v1/survey/struct.secret.html +++ b/mcaptcha/api/v1/survey/struct.secret.html @@ -1,18 +1,19 @@ -secret in mcaptcha::api::v1::survey - Rust

    Struct mcaptcha::api::v1::survey::secret

    source ·
    pub struct secret;
    Expand description

    mCaptcha/survey upload secret route

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for secret

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +secret in mcaptcha::api::v1::survey - Rust +

    Struct mcaptcha::api::v1::survey::secret

    source ·
    pub struct secret;
    Expand description

    mCaptcha/survey upload secret route

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for secret

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 e23d36f4..e1ee7921 100644 --- a/mcaptcha/constant.CACHE_AGE.html +++ b/mcaptcha/constant.CACHE_AGE.html @@ -1 +1,2 @@ -CACHE_AGE in mcaptcha - Rust

    Constant mcaptcha::CACHE_AGE

    source ·
    pub const CACHE_AGE: u32 = 604800;
    \ No newline at end of file +CACHE_AGE in mcaptcha - Rust +

    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 357b1c3e..eaea608d 100644 --- a/mcaptcha/constant.COMPILED_DATE.html +++ b/mcaptcha/constant.COMPILED_DATE.html @@ -1 +1,2 @@ -COMPILED_DATE in mcaptcha - Rust

    Constant mcaptcha::COMPILED_DATE

    source ·
    pub const COMPILED_DATE: &str = "2024February2024-02-03";
    \ No newline at end of file +COMPILED_DATE in mcaptcha - Rust +

    Constant mcaptcha::COMPILED_DATE

    source ·
    pub const COMPILED_DATE: &str = "2024February2024-02-19";
    \ No newline at end of file diff --git a/mcaptcha/constant.DOCS.html b/mcaptcha/constant.DOCS.html index b97f3e5f..74925577 100644 --- a/mcaptcha/constant.DOCS.html +++ b/mcaptcha/constant.DOCS.html @@ -1 +1,2 @@ -DOCS in mcaptcha - Rust

    Constant mcaptcha::DOCS

    source ·
    pub const DOCS: Docs;
    \ No newline at end of file +DOCS in mcaptcha - Rust +

    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 9a414f3c..e87f476e 100644 --- a/mcaptcha/constant.GIT_COMMIT_HASH.html +++ b/mcaptcha/constant.GIT_COMMIT_HASH.html @@ -1 +1,2 @@ -GIT_COMMIT_HASH in mcaptcha - Rust

    Constant mcaptcha::GIT_COMMIT_HASH

    source ·
    pub const GIT_COMMIT_HASH: &str = "c00857dd28ba8108cdec47a50dddf7b5d584f120";
    \ No newline at end of file +GIT_COMMIT_HASH in mcaptcha - Rust +

    Constant mcaptcha::GIT_COMMIT_HASH

    source ·
    pub const GIT_COMMIT_HASH: &str = "3cd38511fa5a30bbf39ee78f791ce32859ae72b2";
    \ No newline at end of file diff --git a/mcaptcha/constant.PAGES.html b/mcaptcha/constant.PAGES.html index 2b71b3de..50c4fccd 100644 --- a/mcaptcha/constant.PAGES.html +++ b/mcaptcha/constant.PAGES.html @@ -1 +1,2 @@ -PAGES in mcaptcha - Rust

    Constant mcaptcha::PAGES

    source ·
    pub const PAGES: Routes;
    \ No newline at end of file +PAGES in mcaptcha - Rust +

    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 2d483ed2..0b8861ef 100644 --- a/mcaptcha/constant.PKG_DESCRIPTION.html +++ b/mcaptcha/constant.PKG_DESCRIPTION.html @@ -1 +1,2 @@ -PKG_DESCRIPTION in mcaptcha - Rust

    Constant mcaptcha::PKG_DESCRIPTION

    source ·
    pub const PKG_DESCRIPTION: &str = "mCaptcha - a PoW-based CAPTCHA system";
    \ No newline at end of file +PKG_DESCRIPTION in mcaptcha - Rust +

    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 8b990b97..d6606417 100644 --- a/mcaptcha/constant.PKG_HOMEPAGE.html +++ b/mcaptcha/constant.PKG_HOMEPAGE.html @@ -1 +1,2 @@ -PKG_HOMEPAGE in mcaptcha - Rust

    Constant mcaptcha::PKG_HOMEPAGE

    source ·
    pub const PKG_HOMEPAGE: &str = "https://mcaptcha.org";
    \ No newline at end of file +PKG_HOMEPAGE in mcaptcha - Rust +

    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 0d346b35..a9f4157f 100644 --- a/mcaptcha/constant.PKG_NAME.html +++ b/mcaptcha/constant.PKG_NAME.html @@ -1 +1,2 @@ -PKG_NAME in mcaptcha - Rust

    Constant mcaptcha::PKG_NAME

    source ·
    pub const PKG_NAME: &str = "mcaptcha";
    \ No newline at end of file +PKG_NAME in mcaptcha - Rust +

    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 32331460..826cc294 100644 --- a/mcaptcha/constant.V1_API_ROUTES.html +++ b/mcaptcha/constant.V1_API_ROUTES.html @@ -1 +1,2 @@ -V1_API_ROUTES in mcaptcha - Rust

    Constant mcaptcha::V1_API_ROUTES

    source ·
    pub const V1_API_ROUTES: Routes;
    \ No newline at end of file +V1_API_ROUTES in mcaptcha - Rust +

    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 e4324b52..9ad3fd27 100644 --- a/mcaptcha/constant.VERSION.html +++ b/mcaptcha/constant.VERSION.html @@ -1 +1,2 @@ -VERSION in mcaptcha - Rust

    Constant mcaptcha::VERSION

    source ·
    pub const VERSION: &str = "0.1.0";
    \ No newline at end of file +VERSION in mcaptcha - Rust +

    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 b7663126..ed9c9c04 100644 --- a/mcaptcha/constant.WIDGET_ROUTES.html +++ b/mcaptcha/constant.WIDGET_ROUTES.html @@ -1 +1,2 @@ -WIDGET_ROUTES in mcaptcha - Rust

    Constant mcaptcha::WIDGET_ROUTES

    source ·
    pub const WIDGET_ROUTES: Widget;
    \ No newline at end of file +WIDGET_ROUTES in mcaptcha - Rust +

    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 2c12c199..6594a29f 100644 --- a/mcaptcha/data/enum.SystemGroup.html +++ b/mcaptcha/data/enum.SystemGroup.html @@ -1,34 +1,35 @@ -SystemGroup in mcaptcha::data - Rust
    pub enum SystemGroup {
    +SystemGroup in mcaptcha::data - Rust
    +    
    pub enum SystemGroup {
         Embedded(System<HashCache, Master>),
         Redis(System<RedisCache, Master>),
     }
    Expand description

    Represents mCaptcha cache and master system. When Redis is configured, SystemGroup::Redis is used and in its absence, SystemGroup::Embedded is used

    -

    Variants§

    §

    Embedded(System<HashCache, Master>)

    §

    Redis(System<RedisCache, Master>)

    Implementations§

    source§

    impl SystemGroup

    source

    pub async fn get_pow(&self, msg: String) -> CaptchaResult<Option<PoWConfig>>

    source

    pub async fn verify_pow( +

    Variants§

    §

    Embedded(System<HashCache, Master>)

    §

    Redis(System<RedisCache, Master>)

    Implementations§

    source§

    impl SystemGroup

    source

    pub async fn get_pow(&self, msg: String) -> CaptchaResult<Option<PoWConfig>>

    source

    pub async fn verify_pow( &self, msg: Work, - ip: String -) -> CaptchaResult<(String, u32)>

    source

    pub async fn validate_verification_tokens( + ip: String +) -> CaptchaResult<(String, u32)>

    source

    pub async fn validate_verification_tokens( &self, msg: VerifyCaptchaResult -) -> CaptchaResult<bool>

    source

    pub async fn add_site(&self, msg: AddSite) -> Result<(), ServiceError>

    source

    pub async fn rename(&self, msg: Rename) -> Result<(), ServiceError>

    source

    pub async fn remove(&self, msg: RemoveCaptcha) -> Result<(), ServiceError>

    source

    fn new_system<A: Save, B: MasterTrait>( +) -> CaptchaResult<bool>

    source

    pub async fn add_site(&self, msg: AddSite) -> Result<(), ServiceError>

    source

    pub async fn rename(&self, msg: Rename) -> Result<(), ServiceError>

    source

    pub async fn remove(&self, msg: RemoveCaptcha) -> Result<(), ServiceError>

    source

    fn new_system<A: Save, B: MasterTrait>( s: &Settings, m: Addr<B>, c: Addr<A> -) -> System<A, B>

    source

    async fn new(s: &Settings) -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +) -> System<A, B>
    source

    async fn new(s: &Settings) -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 abc92ff9..869edd6f 100644 --- a/mcaptcha/data/index.html +++ b/mcaptcha/data/index.html @@ -1,4 +1,5 @@ -mcaptcha::data - Rust

    Module mcaptcha::data

    source ·
    Expand description

    App data: redis cache, database connections, etc.

    -

    Macros

    Structs

    Enums

    Type Aliases

    • 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 88a3211a..ebf8bffd 100644 --- a/mcaptcha/data/macro.enum_system_actor.html +++ b/mcaptcha/data/macro.enum_system_actor.html @@ -1,3 +1,4 @@ -enum_system_actor in mcaptcha::data - Rust
    macro_rules! enum_system_actor {
    +enum_system_actor in mcaptcha::data - Rust
    +    
    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 09e00b9d..345f7548 100644 --- a/mcaptcha/data/macro.enum_system_wrapper.html +++ b/mcaptcha/data/macro.enum_system_wrapper.html @@ -1,3 +1,4 @@ -enum_system_wrapper in mcaptcha::data - Rust
    macro_rules! enum_system_wrapper {
    +enum_system_wrapper in mcaptcha::data - Rust
    +    
    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 e65c425b..72e4a236 100644 --- a/mcaptcha/data/struct.Data.html +++ b/mcaptcha/data/struct.Data.html @@ -1,34 +1,35 @@ -Data in mcaptcha::data - Rust

    Struct mcaptcha::data::Data

    source ·
    pub struct Data {
    -    pub db: Box<dyn MCDatabase>,
    +Data in mcaptcha::data - Rust
    +    

    Struct mcaptcha::data::Data

    source ·
    pub struct Data {
    +    pub db: Box<dyn MCDatabase>,
         pub creds: Config,
         pub captcha: SystemGroup,
    -    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
    +    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
         pub settings: Settings,
    -    pub stats: Box<dyn Stats>,
    +    pub stats: Box<dyn Stats>,
         pub survey_secrets: SecretsStore,
     }
    Expand description

    App data

    -

    Fields§

    §db: Box<dyn MCDatabase>

    database ops defined by db crates

    -
    §creds: Config

    credential management configuration

    -
    §captcha: SystemGroup

    mCaptcha system: Redis cache, etc.

    -
    §mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

    email client

    -
    §settings: Settings

    app settings

    -
    §stats: Box<dyn Stats>

    stats recorder

    -
    §survey_secrets: SecretsStore

    survey secret store

    -

    Implementations§

    source§

    impl Data

    source

    pub fn get_creds() -> Config

    source

    pub async fn new(s: &Settings, survey_secrets: SecretsStore) -> Arc<Self>

    create new instance of app data

    -
    source

    fn get_mailer(s: &Settings) -> Option<AsyncSmtpTransport<Tokio1Executor>>

    source

    async fn upload_survey_job(&self) -> Result<(), ServiceError>

    source

    async fn register_survey(&self) -> Result<(), ServiceError>

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Data

    §

    impl Send for Data

    §

    impl Sync for Data

    §

    impl Unpin for Data

    §

    impl !UnwindSafe for Data

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §db: Box<dyn MCDatabase>

    database ops defined by db crates

    +
    §creds: Config

    credential management configuration

    +
    §captcha: SystemGroup

    mCaptcha system: Redis cache, etc.

    +
    §mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

    email client

    +
    §settings: Settings

    app settings

    +
    §stats: Box<dyn Stats>

    stats recorder

    +
    §survey_secrets: SecretsStore

    survey secret store

    +

    Implementations§

    source§

    impl Data

    source

    pub fn get_creds() -> Config

    source

    pub async fn new(s: &Settings, survey_secrets: SecretsStore) -> Arc<Self>

    create new instance of app data

    +
    source

    fn get_mailer(s: &Settings) -> Option<AsyncSmtpTransport<Tokio1Executor>>

    source

    async fn upload_survey_job(&self) -> Result<(), ServiceError>

    source

    async fn register_survey(&self) -> Result<(), ServiceError>

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Data

    §

    impl Send for Data

    §

    impl Sync for Data

    §

    impl Unpin for Data

    §

    impl !UnwindSafe for Data

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d49de765..84e6ae32 100644 --- a/mcaptcha/data/type.Mailer.html +++ b/mcaptcha/data/type.Mailer.html @@ -1,4 +1,5 @@ -Mailer in mcaptcha::data - Rust

    Type Alias mcaptcha::data::Mailer

    source ·
    pub type Mailer = AsyncSmtpTransport<Tokio1Executor>;
    Expand description

    Mailer data type AsyncSmtpTransport

    -

    Aliased Type§

    struct Mailer {
    -    inner: Arc<Pool<Tokio1Executor>>,
    -}

    Fields§

    §inner: Arc<Pool<Tokio1Executor>>
    \ No newline at end of file +Mailer in mcaptcha::data - Rust +

    Type Alias mcaptcha::data::Mailer

    source ·
    pub type Mailer = AsyncSmtpTransport<Tokio1Executor>;
    Expand description

    Mailer data type AsyncSmtpTransport

    +

    Aliased Type§

    struct Mailer {
    +    inner: Arc<Pool<Tokio1Executor>>,
    +}

    Fields§

    §inner: Arc<Pool<Tokio1Executor>>
    \ No newline at end of file diff --git a/mcaptcha/date/constant.DAY.html b/mcaptcha/date/constant.DAY.html index 4eb12e42..a2e73eb0 100644 --- a/mcaptcha/date/constant.DAY.html +++ b/mcaptcha/date/constant.DAY.html @@ -1 +1,2 @@ -DAY in mcaptcha::date - Rust

    Constant mcaptcha::date::DAY

    source ·
    pub const DAY: i64 = _; // 86_400i64
    \ No newline at end of file +DAY in mcaptcha::date - Rust +

    Constant mcaptcha::date::DAY

    source ·
    pub const DAY: i64 = _; // 86_400i64
    \ No newline at end of file diff --git a/mcaptcha/date/constant.HOUR.html b/mcaptcha/date/constant.HOUR.html index b34ebd3a..5e112858 100644 --- a/mcaptcha/date/constant.HOUR.html +++ b/mcaptcha/date/constant.HOUR.html @@ -1 +1,2 @@ -HOUR in mcaptcha::date - Rust

    Constant mcaptcha::date::HOUR

    source ·
    pub const HOUR: i64 = _; // 3_600i64
    \ No newline at end of file +HOUR in mcaptcha::date - Rust +

    Constant mcaptcha::date::HOUR

    source ·
    pub const HOUR: i64 = _; // 3_600i64
    \ No newline at end of file diff --git a/mcaptcha/date/constant.MINUTE.html b/mcaptcha/date/constant.MINUTE.html index 1627089a..39f8864d 100644 --- a/mcaptcha/date/constant.MINUTE.html +++ b/mcaptcha/date/constant.MINUTE.html @@ -1 +1,2 @@ -MINUTE in mcaptcha::date - Rust

    Constant mcaptcha::date::MINUTE

    source ·
    pub const MINUTE: i64 = 60;
    \ No newline at end of file +MINUTE in mcaptcha::date - Rust +

    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 94069fdc..78f407fc 100644 --- a/mcaptcha/date/constant.WEEK.html +++ b/mcaptcha/date/constant.WEEK.html @@ -1 +1,2 @@ -WEEK in mcaptcha::date - Rust

    Constant mcaptcha::date::WEEK

    source ·
    pub const WEEK: i64 = _; // 604_800i64
    \ No newline at end of file +WEEK in mcaptcha::date - Rust +

    Constant mcaptcha::date::WEEK

    source ·
    pub const WEEK: i64 = _; // 604_800i64
    \ No newline at end of file diff --git a/mcaptcha/date/index.html b/mcaptcha/date/index.html index c1809e3e..4d02fff4 100644 --- a/mcaptcha/date/index.html +++ b/mcaptcha/date/index.html @@ -1 +1,2 @@ -mcaptcha::date - Rust
    \ No newline at end of file +mcaptcha::date - Rust +
    \ No newline at end of file diff --git a/mcaptcha/date/struct.Date.html b/mcaptcha/date/struct.Date.html index a349d764..465ec7f2 100644 --- a/mcaptcha/date/struct.Date.html +++ b/mcaptcha/date/struct.Date.html @@ -1,22 +1,23 @@ -Date in mcaptcha::date - Rust

    Struct mcaptcha::date::Date

    source ·
    pub struct Date {
    +Date in mcaptcha::date - Rust
    +    

    Struct mcaptcha::date::Date

    source ·
    pub struct Date {
         pub time: OffsetDateTime,
    -}

    Fields§

    §time: OffsetDateTime

    Implementations§

    source§

    impl Date

    source

    pub fn format(date: &OffsetDateTime) -> String

    source

    pub fn print_date(&self) -> String

    print relative time from date

    -
    source

    pub fn date(&self) -> String

    print date

    -
    source

    pub fn new(unix: i64) -> Self

    Trait Implementations§

    source§

    impl Clone for Date

    source§

    fn clone(&self) -> Date

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Date

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Date

    §

    impl Send for Date

    §

    impl Sync for Date

    §

    impl Unpin for Date

    §

    impl UnwindSafe for Date

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Fields§

    §time: OffsetDateTime

    Implementations§

    source§

    impl Date

    source

    pub fn format(date: &OffsetDateTime) -> String

    source

    pub fn print_date(&self) -> String

    print relative time from date

    +
    source

    pub fn date(&self) -> String

    print date

    +
    source

    pub fn new(unix: i64) -> Self

    Trait Implementations§

    source§

    impl Clone for Date

    source§

    fn clone(&self) -> Date

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Date

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Date

    §

    impl Send for Date

    §

    impl Sync for Date

    §

    impl Unpin for Date

    §

    impl UnwindSafe for Date

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/db/index.html b/mcaptcha/db/index.html index 1751a45e..74ac8d7e 100644 --- a/mcaptcha/db/index.html +++ b/mcaptcha/db/index.html @@ -1 +1,2 @@ -mcaptcha::db - Rust
    \ No newline at end of file +mcaptcha::db - Rust +
    \ No newline at end of file diff --git a/mcaptcha/db/maria/fn.get_data.html b/mcaptcha/db/maria/fn.get_data.html index 9d11cbd1..d6073a7f 100644 --- a/mcaptcha/db/maria/fn.get_data.html +++ b/mcaptcha/db/maria/fn.get_data.html @@ -1 +1,2 @@ -get_data in mcaptcha::db::maria - Rust

    Function mcaptcha::db::maria::get_data

    source ·
    pub async fn get_data(settings: Option<Settings>) -> Box<dyn MCDatabase>
    \ No newline at end of file +get_data in mcaptcha::db::maria - Rust +

    Function mcaptcha::db::maria::get_data

    source ·
    pub async fn get_data(settings: Option<Settings>) -> Box<dyn MCDatabase>
    \ No newline at end of file diff --git a/mcaptcha/db/maria/index.html b/mcaptcha/db/maria/index.html index 22123edd..afed1555 100644 --- a/mcaptcha/db/maria/index.html +++ b/mcaptcha/db/maria/index.html @@ -1 +1,2 @@ -mcaptcha::db::maria - Rust
    \ No newline at end of file +mcaptcha::db::maria - Rust +
    \ No newline at end of file diff --git a/mcaptcha/db/pg/fn.get_data.html b/mcaptcha/db/pg/fn.get_data.html index cdd0cdfe..8e1e946d 100644 --- a/mcaptcha/db/pg/fn.get_data.html +++ b/mcaptcha/db/pg/fn.get_data.html @@ -1 +1,2 @@ -get_data in mcaptcha::db::pg - Rust

    Function mcaptcha::db::pg::get_data

    source ·
    pub async fn get_data(settings: Option<Settings>) -> Box<dyn MCDatabase>
    \ No newline at end of file +get_data in mcaptcha::db::pg - Rust +

    Function mcaptcha::db::pg::get_data

    source ·
    pub async fn get_data(settings: Option<Settings>) -> Box<dyn MCDatabase>
    \ No newline at end of file diff --git a/mcaptcha/db/pg/index.html b/mcaptcha/db/pg/index.html index e64680d0..ead81d10 100644 --- a/mcaptcha/db/pg/index.html +++ b/mcaptcha/db/pg/index.html @@ -1 +1,2 @@ -mcaptcha::db::pg - Rust
    \ No newline at end of file +mcaptcha::db::pg - Rust +
    \ No newline at end of file diff --git a/mcaptcha/db/type.BoxDB.html b/mcaptcha/db/type.BoxDB.html index 5abdfe72..950aa058 100644 --- a/mcaptcha/db/type.BoxDB.html +++ b/mcaptcha/db/type.BoxDB.html @@ -1 +1,2 @@ -BoxDB in mcaptcha::db - Rust

    Type Alias mcaptcha::db::BoxDB

    source ·
    pub type BoxDB = Box<dyn MCDatabase>;

    Aliased Type§

    struct BoxDB(Unique<dyn MCDatabase>, Global);

    Fields§

    §0: Unique<dyn MCDatabase>§1: Global
    \ No newline at end of file +BoxDB in mcaptcha::db - Rust +

    Type Alias mcaptcha::db::BoxDB

    source ·
    pub type BoxDB = Box<dyn MCDatabase>;

    Aliased Type§

    struct BoxDB(Unique<dyn MCDatabase>, Global);

    Fields§

    §0: Unique<dyn MCDatabase>§1: Global
    \ No newline at end of file diff --git a/mcaptcha/demo/constant.DEMO_PASSWORD.html b/mcaptcha/demo/constant.DEMO_PASSWORD.html index c7c4da40..6b37512e 100644 --- a/mcaptcha/demo/constant.DEMO_PASSWORD.html +++ b/mcaptcha/demo/constant.DEMO_PASSWORD.html @@ -1,2 +1,3 @@ -DEMO_PASSWORD in mcaptcha::demo - Rust

    Constant mcaptcha::demo::DEMO_PASSWORD

    source ·
    pub const DEMO_PASSWORD: &str = "password";
    Expand description

    Demo password

    +DEMO_PASSWORD in mcaptcha::demo - Rust +

    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 71e2f152..98848516 100644 --- a/mcaptcha/demo/constant.DEMO_USER.html +++ b/mcaptcha/demo/constant.DEMO_USER.html @@ -1,2 +1,3 @@ -DEMO_USER in mcaptcha::demo - Rust

    Constant mcaptcha::demo::DEMO_USER

    source ·
    pub const DEMO_USER: &str = "aaronsw";
    Expand description

    Demo username

    +DEMO_USER in mcaptcha::demo - Rust +

    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 f920a6c6..5dbdfe78 100644 --- a/mcaptcha/demo/index.html +++ b/mcaptcha/demo/index.html @@ -1 +1,2 @@ -mcaptcha::demo - Rust

    Module mcaptcha::demo

    source ·

    Structs

    Constants

    \ No newline at end of file +mcaptcha::demo - Rust +

    Module mcaptcha::demo

    source ·

    Structs

    Constants

    \ No newline at end of file diff --git a/mcaptcha/demo/struct.DemoUser.html b/mcaptcha/demo/struct.DemoUser.html index 9c837f14..57005450 100644 --- a/mcaptcha/demo/struct.DemoUser.html +++ b/mcaptcha/demo/struct.DemoUser.html @@ -1,27 +1,28 @@ -DemoUser in mcaptcha::demo - Rust

    Struct mcaptcha::demo::DemoUser

    source ·
    pub struct DemoUser {
    -    tx: Sender<()>,
    -}

    Fields§

    §tx: Sender<()>

    Implementations§

    source§

    impl DemoUser

    source

    pub async fn spawn( +DemoUser in mcaptcha::demo - Rust +

    Struct mcaptcha::demo::DemoUser

    source ·
    pub struct DemoUser {
    +    tx: Sender<()>,
    +}

    Fields§

    §tx: Sender<()>

    Implementations§

    source§

    impl DemoUser

    source

    pub async fn spawn( data: AppData, - duration: u32 -) -> Result<(Self, JoinHandle<()>), ServiceError>

    source

    pub fn abort(self)

    source

    async fn register_demo_user(data: &AppData) -> Result<(), ServiceError>

    register demo user runner

    -
    source

    async fn delete_demo_user(data: &AppData) -> Result<(), ServiceError>

    source

    pub async fn run( + duration: u32 +) -> Result<(Self, JoinHandle<()>), ServiceError>

    source

    pub fn abort(self)

    source

    async fn register_demo_user(data: &AppData) -> Result<(), ServiceError>

    register demo user runner

    +
    source

    async fn delete_demo_user(data: &AppData) -> Result<(), ServiceError>

    source

    pub async fn run( data: AppData, - duration: u32, - rx: Receiver<()> -) -> Result<JoinHandle<()>, ServiceError>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + duration: u32, + rx: Receiver<()> +) -> Result<JoinHandle<()>, ServiceError>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 42d2d710..746935ad 100644 --- a/mcaptcha/docs/constant.DOCS.html +++ b/mcaptcha/docs/constant.DOCS.html @@ -1 +1,2 @@ -DOCS in mcaptcha::docs - Rust

    Constant mcaptcha::docs::DOCS

    source ·
    pub const DOCS: Docs;
    \ No newline at end of file +DOCS in mcaptcha::docs - Rust +

    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 aaec5042..0d2252fc 100644 --- a/mcaptcha/docs/constant.OPEN_API_SPEC.html +++ b/mcaptcha/docs/constant.OPEN_API_SPEC.html @@ -1 +1,2 @@ -OPEN_API_SPEC in mcaptcha::docs - Rust

    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 +OPEN_API_SPEC in mcaptcha::docs - Rust +

    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 55ec6ddb..3a6eab3c 100644 --- a/mcaptcha/docs/fn.handle_embedded_file.html +++ b/mcaptcha/docs/fn.handle_embedded_file.html @@ -1 +1,2 @@ -handle_embedded_file in mcaptcha::docs - Rust
    pub fn handle_embedded_file(path: &str) -> HttpResponse
    \ No newline at end of file +handle_embedded_file in mcaptcha::docs - Rust +
    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 48b81ad4..85c46b27 100644 --- a/mcaptcha/docs/fn.services.html +++ b/mcaptcha/docs/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::docs - Rust

    Function mcaptcha::docs::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::docs - Rust +

    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 9c632624..7428f053 100644 --- a/mcaptcha/docs/index.html +++ b/mcaptcha/docs/index.html @@ -1 +1,2 @@ -mcaptcha::docs - Rust
    \ No newline at end of file +mcaptcha::docs - Rust +
    \ No newline at end of file diff --git a/mcaptcha/docs/routes/index.html b/mcaptcha/docs/routes/index.html index 01cbbc63..4abf9ea6 100644 --- a/mcaptcha/docs/routes/index.html +++ b/mcaptcha/docs/routes/index.html @@ -1 +1,2 @@ -mcaptcha::docs::routes - Rust
    \ No newline at end of file +mcaptcha::docs::routes - Rust +
    \ No newline at end of file diff --git a/mcaptcha/docs/routes/struct.Docs.html b/mcaptcha/docs/routes/struct.Docs.html index e0a97e6d..4101a1ce 100644 --- a/mcaptcha/docs/routes/struct.Docs.html +++ b/mcaptcha/docs/routes/struct.Docs.html @@ -1,21 +1,22 @@ -Docs in mcaptcha::docs::routes - Rust

    Struct mcaptcha::docs::routes::Docs

    source ·
    pub struct Docs {
    -    pub home: &'static str,
    -    pub spec: &'static str,
    -    pub assets: &'static str,
    -}

    Fields§

    §home: &'static str§spec: &'static str§assets: &'static str

    Implementations§

    source§

    impl Docs

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Docs

    §

    impl Send for Docs

    §

    impl Sync for Docs

    §

    impl Unpin for Docs

    §

    impl UnwindSafe for Docs

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Docs in mcaptcha::docs::routes - Rust +

    Struct mcaptcha::docs::routes::Docs

    source ·
    pub struct Docs {
    +    pub home: &'static str,
    +    pub spec: &'static str,
    +    pub assets: &'static str,
    +}

    Fields§

    §home: &'static str§spec: &'static str§assets: &'static str

    Implementations§

    source§

    impl Docs

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Docs

    §

    impl Send for Docs

    §

    impl Sync for Docs

    §

    impl Unpin for Docs

    §

    impl UnwindSafe for Docs

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 2ad1e2f1..5cfdd303 100644 --- a/mcaptcha/docs/struct.Asset.html +++ b/mcaptcha/docs/struct.Asset.html @@ -1,19 +1,20 @@ -Asset in mcaptcha::docs - Rust

    Struct mcaptcha::docs::Asset

    source ·
    struct Asset;

    Implementations§

    source§

    impl Asset

    source

    pub fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata.

    -
    source

    pub fn iter() -> impl Iterator<Item = Cow<'static, str>>

    Iterates over the file paths in the folder.

    -

    Trait Implementations§

    source§

    impl RustEmbed for Asset

    source§

    fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata. Read more
    source§

    fn iter() -> Filenames

    Iterates over the file paths in the folder. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Asset

    §

    impl Send for Asset

    §

    impl Sync for Asset

    §

    impl Unpin for Asset

    §

    impl UnwindSafe for Asset

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Asset in mcaptcha::docs - Rust +

    Struct mcaptcha::docs::Asset

    source ·
    struct Asset;

    Implementations§

    source§

    impl Asset

    source

    pub fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata.

    +
    source

    pub fn iter() -> impl Iterator<Item = Cow<'static, str>>

    Iterates over the file paths in the folder.

    +

    Trait Implementations§

    source§

    impl RustEmbed for Asset

    source§

    fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata. Read more
    source§

    fn iter() -> Filenames

    Iterates over the file paths in the folder. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Asset

    §

    impl Send for Asset

    §

    impl Sync for Asset

    §

    impl Unpin for Asset

    §

    impl UnwindSafe for Asset

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 0d79c1a8..d1bc25ce 100644 --- a/mcaptcha/docs/struct.dist.html +++ b/mcaptcha/docs/struct.dist.html @@ -1,17 +1,18 @@ -dist in mcaptcha::docs - Rust

    Struct mcaptcha::docs::dist

    source ·
    pub struct dist;

    Trait Implementations§

    source§

    impl HttpServiceFactory for dist

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for dist

    §

    impl Send for dist

    §

    impl Sync for dist

    §

    impl Unpin for dist

    §

    impl UnwindSafe for dist

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +dist in mcaptcha::docs - Rust +

    Struct mcaptcha::docs::dist

    source ·
    pub struct dist;

    Trait Implementations§

    source§

    impl HttpServiceFactory for dist

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for dist

    §

    impl Send for dist

    §

    impl Sync for dist

    §

    impl Unpin for dist

    §

    impl UnwindSafe for dist

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d19540bf..8e487ad5 100644 --- a/mcaptcha/docs/struct.index.html +++ b/mcaptcha/docs/struct.index.html @@ -1,17 +1,18 @@ -index in mcaptcha::docs - Rust

    Struct mcaptcha::docs::index

    source ·
    pub struct index;

    Trait Implementations§

    source§

    impl HttpServiceFactory for index

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for index

    §

    impl Send for index

    §

    impl Sync for index

    §

    impl Unpin for index

    §

    impl UnwindSafe for index

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +index in mcaptcha::docs - Rust +

    Struct mcaptcha::docs::index

    source ·
    pub struct index;

    Trait Implementations§

    source§

    impl HttpServiceFactory for index

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for index

    §

    impl Send for index

    §

    impl Sync for index

    §

    impl Unpin for index

    §

    impl UnwindSafe for index

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 7cdf76c7..78a95e89 100644 --- a/mcaptcha/docs/struct.spec.html +++ b/mcaptcha/docs/struct.spec.html @@ -1,17 +1,18 @@ -spec in mcaptcha::docs - Rust

    Struct mcaptcha::docs::spec

    source ·
    pub struct spec;

    Trait Implementations§

    source§

    impl HttpServiceFactory for spec

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for spec

    §

    impl Send for spec

    §

    impl Sync for spec

    §

    impl Unpin for spec

    §

    impl UnwindSafe for spec

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +spec in mcaptcha::docs - Rust +

    Struct mcaptcha::docs::spec

    source ·
    pub struct spec;

    Trait Implementations§

    source§

    impl HttpServiceFactory for spec

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for spec

    §

    impl Send for spec

    §

    impl Sync for spec

    §

    impl Unpin for spec

    §

    impl UnwindSafe for spec

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/easy/index.html b/mcaptcha/easy/index.html index 79b7e756..9e2eda8c 100644 --- a/mcaptcha/easy/index.html +++ b/mcaptcha/easy/index.html @@ -1 +1,2 @@ -mcaptcha::easy - Rust
    \ No newline at end of file +mcaptcha::easy - Rust +
    \ No newline at end of file diff --git a/mcaptcha/easy/struct.UpdateEasyCaptcha.html b/mcaptcha/easy/struct.UpdateEasyCaptcha.html index bf9848ed..d698a8ad 100644 --- a/mcaptcha/easy/struct.UpdateEasyCaptcha.html +++ b/mcaptcha/easy/struct.UpdateEasyCaptcha.html @@ -1,30 +1,31 @@ -UpdateEasyCaptcha in mcaptcha::easy - Rust
    pub struct UpdateEasyCaptcha {
    -    tx: Sender<()>,
    -}

    Fields§

    §tx: Sender<()>

    Implementations§

    source§

    impl UpdateEasyCaptcha

    source

    pub async fn spawn( +UpdateEasyCaptcha in mcaptcha::easy - Rust +
    pub struct UpdateEasyCaptcha {
    +    tx: Sender<()>,
    +}

    Fields§

    §tx: Sender<()>

    Implementations§

    source§

    impl UpdateEasyCaptcha

    source

    pub async fn spawn( data: AppData, - duration: u32 -) -> Result<(Self, JoinHandle<()>), ServiceError>

    source

    pub fn abort(self)

    source

    async fn update_captcha_configurations( + duration: u32 +) -> Result<(Self, JoinHandle<()>), ServiceError>

    source

    pub fn abort(self)

    source

    async fn update_captcha_configurations( data: &AppData, - rx: &mut Receiver<()> -) -> Result<(), ServiceError>

    update configurations

    -
    source

    fn can_run(rx: &mut Receiver<()>) -> bool

    source

    pub async fn run( + rx: &mut Receiver<()> +) -> Result<(), ServiceError>

    update configurations

    +
    source

    fn can_run(rx: &mut Receiver<()>) -> bool

    source

    pub async fn run( data: AppData, - duration: u32, - rx: Receiver<()> -) -> Result<JoinHandle<()>, ServiceError>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + duration: u32, + rx: Receiver<()> +) -> Result<JoinHandle<()>, ServiceError>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 0757dd06..316e35ec 100644 --- a/mcaptcha/email/index.html +++ b/mcaptcha/email/index.html @@ -1 +1,2 @@ -mcaptcha::email - Rust

    Module mcaptcha::email

    source ·

    Modules

    • Email operations: verification, notification, etc
    \ No newline at end of file +mcaptcha::email - Rust +

    Module mcaptcha::email

    source ·

    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 202b7416..b53c5e6f 100644 --- a/mcaptcha/email/verification/constant.PAGE.html +++ b/mcaptcha/email/verification/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::email::verification - Rust

    Constant mcaptcha::email::verification::PAGE

    source ·
    const PAGE: &str = "Login";
    \ No newline at end of file +PAGE in mcaptcha::email::verification - Rust +

    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 2b0e3baa..65d3e078 100644 --- a/mcaptcha/email/verification/fn.verification.html +++ b/mcaptcha/email/verification/fn.verification.html @@ -1,5 +1,6 @@ -verification in mcaptcha::email::verification - Rust
    async fn verification(
    +verification in mcaptcha::email::verification - Rust
    +    
    async fn verification(
         data: &Data,
    -    to: &str,
    -    verification_link: &str
    -) -> Result<(), ServiceError>
    \ No newline at end of file + 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 7d267f30..18d072b1 100644 --- a/mcaptcha/email/verification/index.html +++ b/mcaptcha/email/verification/index.html @@ -1,2 +1,3 @@ -mcaptcha::email::verification - Rust
    Expand description

    Email operations: verification, notification, etc

    -

    Structs

    Constants

    Functions

    \ No newline at end of file +mcaptcha::email::verification - Rust +
    Expand description

    Email operations: verification, notification, etc

    +

    Structs

    Constants

    Functions

    \ No newline at end of file diff --git a/mcaptcha/email/verification/struct.IndexPage.html b/mcaptcha/email/verification/struct.IndexPage.html index 80cba184..7178afaf 100644 --- a/mcaptcha/email/verification/struct.IndexPage.html +++ b/mcaptcha/email/verification/struct.IndexPage.html @@ -1,20 +1,21 @@ -IndexPage in mcaptcha::email::verification - Rust
    struct IndexPage<'a> {
    -    verification_link: &'a str,
    -}

    Fields§

    §verification_link: &'a str

    Implementations§

    source§

    impl<'a> IndexPage<'a>

    source

    fn new(verification_link: &'a str) -> Self

    Trait Implementations§

    source§

    impl<'a> Clone for IndexPage<'a>

    source§

    fn clone(&self) -> IndexPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> TemplateOnce for IndexPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for IndexPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for IndexPage<'a>

    §

    impl<'a> Send for IndexPage<'a>

    §

    impl<'a> Sync for IndexPage<'a>

    §

    impl<'a> Unpin for IndexPage<'a>

    §

    impl<'a> UnwindSafe for IndexPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +IndexPage in mcaptcha::email::verification - Rust +
    struct IndexPage<'a> {
    +    verification_link: &'a str,
    +}

    Fields§

    §verification_link: &'a str

    Implementations§

    source§

    impl<'a> IndexPage<'a>

    source

    fn new(verification_link: &'a str) -> Self

    Trait Implementations§

    source§

    impl<'a> Clone for IndexPage<'a>

    source§

    fn clone(&self) -> IndexPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> TemplateOnce for IndexPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for IndexPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for IndexPage<'a>

    §

    impl<'a> Send for IndexPage<'a>

    §

    impl<'a> Sync for IndexPage<'a>

    §

    impl<'a> Unpin for IndexPage<'a>

    §

    impl<'a> UnwindSafe for IndexPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 ed0e6502..e4f1a856 100644 --- a/mcaptcha/errors/enum.PageError.html +++ b/mcaptcha/errors/enum.PageError.html @@ -1,23 +1,24 @@ -PageError in mcaptcha::errors - Rust
    pub enum PageError {
    +PageError in mcaptcha::errors - Rust
    +    
    pub enum PageError {
         InternalServerError,
         ServiceError(ServiceError),
    -}

    Variants§

    §

    InternalServerError

    §

    ServiceError(ServiceError)

    Trait Implementations§

    source§

    impl Debug for PageError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PageError

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PageError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<DBError> for PageError

    source§

    fn from(e: DBError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ServiceError> for PageError

    source§

    fn from(e: ServiceError) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for PageError

    source§

    fn eq(&self, other: &PageError) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl ResponseError for PageError

    source§

    fn error_response(&self) -> HttpResponse

    Creates full response for error. Read more
    source§

    fn status_code(&self) -> StatusCode

    Returns appropriate status code for error. Read more
    source§

    impl StructuralPartialEq for PageError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Variants§

    §

    InternalServerError

    §

    ServiceError(ServiceError)

    Trait Implementations§

    source§

    impl Debug for PageError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PageError

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PageError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<DBError> for PageError

    source§

    fn from(e: DBError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ServiceError> for PageError

    source§

    fn from(e: ServiceError) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for PageError

    source§

    fn eq(&self, other: &PageError) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl ResponseError for PageError

    source§

    fn error_response(&self) -> HttpResponse

    Creates full response for error. Read more
    source§

    fn status_code(&self) -> StatusCode

    Returns appropriate status code for error. Read more
    source§

    impl StructuralPartialEq for PageError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 9e6423fe..d1b64137 100644 --- a/mcaptcha/errors/enum.ServiceError.html +++ b/mcaptcha/errors/enum.ServiceError.html @@ -1,4 +1,5 @@ -ServiceError in mcaptcha::errors - Rust
    }

    Variants§

    §

    InternalServerError

    §

    ClosedForRegistration

    §

    NotAnEmail

    §

    NotAUrl

    §

    WrongPassword

    §

    UsernameNotFound

    §

    AccountNotFound

    §

    ProfainityError

    when the value passed contains profainity

    §

    BlacklistError

    when the value passed contains blacklisted words see blacklist

    §

    UsernameCaseMappedError

    when the value passed contains characters not present @@ -32,23 +33,23 @@ profile

    §

    TokenNotFound

    token not found

    §

    CaptchaError(CaptchaError)

    §

    DBError(DBErrorWrapper)

    §

    CaptchaNotFound

    captcha not found

    §

    TrafficPatternNotFound

    Traffic pattern not found

    -

    Trait Implementations§

    source§

    impl Debug for ServiceError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for ServiceError

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for ServiceError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<CaptchaError> for ServiceError

    source§

    fn from(e: CaptchaError) -> ServiceError

    Converts to this type from the input type.
    source§

    impl From<CredsError> for ServiceError

    source§

    fn from(e: CredsError) -> ServiceError

    Converts to this type from the input type.
    source§

    impl From<DBError> for ServiceError

    source§

    fn from(e: DBError) -> ServiceError

    Converts to this type from the input type.
    source§

    impl From<Error> for ServiceError

    source§

    fn from(e: SmtpError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MailboxError> for ServiceError

    source§

    fn from(e: MailboxError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ParseError> for ServiceError

    source§

    fn from(_: ParseError) -> ServiceError

    Converts to this type from the input type.
    source§

    impl From<RecvError> for ServiceError

    source§

    fn from(e: RecvError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ServiceError> for PageError

    source§

    fn from(e: ServiceError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ValidationErrors> for ServiceError

    source§

    fn from(_: ValidationErrors) -> ServiceError

    Converts to this type from the input type.
    source§

    impl PartialEq for ServiceError

    source§

    fn eq(&self, other: &ServiceError) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl ResponseError for ServiceError

    source§

    fn error_response(&self) -> HttpResponse

    Creates full response for error. Read more
    source§

    fn status_code(&self) -> StatusCode

    Returns appropriate status code for error. Read more
    source§

    impl StructuralPartialEq for ServiceError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Trait Implementations§

    source§

    impl Debug for ServiceError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for ServiceError

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for ServiceError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<CaptchaError> for ServiceError

    source§

    fn from(e: CaptchaError) -> ServiceError

    Converts to this type from the input type.
    source§

    impl From<CredsError> for ServiceError

    source§

    fn from(e: CredsError) -> ServiceError

    Converts to this type from the input type.
    source§

    impl From<DBError> for ServiceError

    source§

    fn from(e: DBError) -> ServiceError

    Converts to this type from the input type.
    source§

    impl From<Error> for ServiceError

    source§

    fn from(e: SmtpError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MailboxError> for ServiceError

    source§

    fn from(e: MailboxError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ParseError> for ServiceError

    source§

    fn from(_: ParseError) -> ServiceError

    Converts to this type from the input type.
    source§

    impl From<RecvError> for ServiceError

    source§

    fn from(e: RecvError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ServiceError> for PageError

    source§

    fn from(e: ServiceError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ValidationErrors> for ServiceError

    source§

    fn from(_: ValidationErrors) -> ServiceError

    Converts to this type from the input type.
    source§

    impl PartialEq for ServiceError

    source§

    fn eq(&self, other: &ServiceError) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl ResponseError for ServiceError

    source§

    fn error_response(&self) -> HttpResponse

    Creates full response for error. Read more
    source§

    fn status_code(&self) -> StatusCode

    Returns appropriate status code for error. Read more
    source§

    impl StructuralPartialEq for ServiceError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b2749868..dac0144f 100644 --- a/mcaptcha/errors/index.html +++ b/mcaptcha/errors/index.html @@ -1 +1,2 @@ -mcaptcha::errors - Rust
    \ No newline at end of file +mcaptcha::errors - Rust +
    \ No newline at end of file diff --git a/mcaptcha/errors/struct.DBErrorWrapper.html b/mcaptcha/errors/struct.DBErrorWrapper.html index 7b405bf5..30c82461 100644 --- a/mcaptcha/errors/struct.DBErrorWrapper.html +++ b/mcaptcha/errors/struct.DBErrorWrapper.html @@ -1,20 +1,21 @@ -DBErrorWrapper in mcaptcha::errors - Rust
    pub struct DBErrorWrapper(DBError);

    Tuple Fields§

    §0: DBError

    Trait Implementations§

    source§

    impl Debug for DBErrorWrapper

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBErrorWrapper

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBErrorWrapper

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl PartialEq for DBErrorWrapper

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +DBErrorWrapper in mcaptcha::errors - Rust +
    pub struct DBErrorWrapper(DBError);

    Tuple Fields§

    §0: DBError

    Trait Implementations§

    source§

    impl Debug for DBErrorWrapper

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBErrorWrapper

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBErrorWrapper

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl PartialEq for DBErrorWrapper

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/errors/struct.ErrorToResponse.html b/mcaptcha/errors/struct.ErrorToResponse.html index 1492b7fb..6ee3db92 100644 --- a/mcaptcha/errors/struct.ErrorToResponse.html +++ b/mcaptcha/errors/struct.ErrorToResponse.html @@ -1,22 +1,23 @@ -ErrorToResponse in mcaptcha::errors - Rust
    pub struct ErrorToResponse {
    -    pub error: String,
    -}

    Fields§

    §error: String

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for ErrorToResponse

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for ErrorToResponse

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +ErrorToResponse in mcaptcha::errors - Rust +
    pub struct ErrorToResponse {
    +    pub error: String,
    +}

    Fields§

    §error: String

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for ErrorToResponse

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for ErrorToResponse

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/errors/struct.SmtpErrorWrapper.html b/mcaptcha/errors/struct.SmtpErrorWrapper.html index 77b4799b..1d3ea47f 100644 --- a/mcaptcha/errors/struct.SmtpErrorWrapper.html +++ b/mcaptcha/errors/struct.SmtpErrorWrapper.html @@ -1,20 +1,21 @@ -SmtpErrorWrapper in mcaptcha::errors - Rust
    pub struct SmtpErrorWrapper(Error);

    Tuple Fields§

    §0: Error

    Trait Implementations§

    source§

    impl Debug for SmtpErrorWrapper

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for SmtpErrorWrapper

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for SmtpErrorWrapper

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl PartialEq for SmtpErrorWrapper

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +SmtpErrorWrapper in mcaptcha::errors - Rust +
    pub struct SmtpErrorWrapper(Error);

    Tuple Fields§

    §0: Error

    Trait Implementations§

    source§

    impl Debug for SmtpErrorWrapper

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for SmtpErrorWrapper

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for SmtpErrorWrapper

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl PartialEq for SmtpErrorWrapper

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 818f4569..bc2c2a83 100644 --- a/mcaptcha/errors/type.PageResult.html +++ b/mcaptcha/errors/type.PageResult.html @@ -1,6 +1,7 @@ -PageResult in mcaptcha::errors - Rust

    Type Alias mcaptcha::errors::PageResult

    source ·
    pub type PageResult<V> = Result<V, PageError>;

    Aliased Type§

    enum PageResult<V> {
    +PageResult in mcaptcha::errors - Rust
    +    

    Type Alias mcaptcha::errors::PageResult

    source ·
    pub type PageResult<V> = Result<V, PageError>;

    Aliased Type§

    enum PageResult<V> {
         Ok(V),
         Err(PageError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(PageError)

    Contains the error value

    \ No newline at end of file diff --git a/mcaptcha/errors/type.ServiceResult.html b/mcaptcha/errors/type.ServiceResult.html index 746d05bf..7400d041 100644 --- a/mcaptcha/errors/type.ServiceResult.html +++ b/mcaptcha/errors/type.ServiceResult.html @@ -1,6 +1,7 @@ -ServiceResult in mcaptcha::errors - Rust

    Type Alias mcaptcha::errors::ServiceResult

    source ·
    pub type ServiceResult<V> = Result<V, ServiceError>;

    Aliased Type§

    enum ServiceResult<V> {
    +ServiceResult in mcaptcha::errors - Rust
    +    

    Type Alias mcaptcha::errors::ServiceResult

    source ·
    pub type ServiceResult<V> = Result<V, ServiceError>;

    Aliased Type§

    enum ServiceResult<V> {
         Ok(V),
         Err(ServiceError),
    -}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    +}

    Variants§

    §1.0.0

    Ok(V)

    Contains the success value

    §1.0.0

    Err(ServiceError)

    Contains the error value

    \ No newline at end of file diff --git a/mcaptcha/fn.get_identity_service.html b/mcaptcha/fn.get_identity_service.html index f8a67df0..d24290b3 100644 --- a/mcaptcha/fn.get_identity_service.html +++ b/mcaptcha/fn.get_identity_service.html @@ -1,3 +1,4 @@ -get_identity_service in mcaptcha - Rust
    pub fn get_identity_service(
    +get_identity_service in mcaptcha - Rust
    +    
    pub fn get_identity_service(
         settings: &Settings
     ) -> IdentityService<CookieIdentityPolicy>
    \ No newline at end of file diff --git a/mcaptcha/fn.get_json_err.html b/mcaptcha/fn.get_json_err.html index 078db149..71da5a05 100644 --- a/mcaptcha/fn.get_json_err.html +++ b/mcaptcha/fn.get_json_err.html @@ -1 +1,2 @@ -get_json_err in mcaptcha - Rust

    Function mcaptcha::get_json_err

    source ·
    pub fn get_json_err() -> JsonConfig
    \ No newline at end of file +get_json_err in mcaptcha - Rust +

    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 ee519a37..1694d0b0 100644 --- a/mcaptcha/fn.main.html +++ b/mcaptcha/fn.main.html @@ -1 +1,2 @@ -main in mcaptcha - Rust

    Function mcaptcha::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file +main in mcaptcha - Rust +

    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 0a5ebfff..a408509f 100644 --- a/mcaptcha/index.html +++ b/mcaptcha/index.html @@ -1,2 +1,3 @@ -mcaptcha - Rust
    \ No newline at end of file +mcaptcha - Rust +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/fn.services.html b/mcaptcha/pages/auth/fn.services.html index 00fe15d4..701741c5 100644 --- a/mcaptcha/pages/auth/fn.services.html +++ b/mcaptcha/pages/auth/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::pages::auth - Rust

    Function mcaptcha::pages::auth::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::pages::auth - Rust +

    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 cf15a63e..19405d2b 100644 --- a/mcaptcha/pages/auth/index.html +++ b/mcaptcha/pages/auth/index.html @@ -1 +1,2 @@ -mcaptcha::pages::auth - Rust
    \ No newline at end of file +mcaptcha::pages::auth - Rust +
    \ 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 70475741..079022ef 100644 --- a/mcaptcha/pages/auth/login/constant.PAGE.html +++ b/mcaptcha/pages/auth/login/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::auth::login - Rust

    Constant mcaptcha::pages::auth::login::PAGE

    source ·
    const PAGE: &str = "Login";
    \ No newline at end of file +PAGE in mcaptcha::pages::auth::login - Rust +

    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 5d534647..0c9818dd 100644 --- a/mcaptcha/pages/auth/login/index.html +++ b/mcaptcha/pages/auth/login/index.html @@ -1 +1,2 @@ -mcaptcha::pages::auth::login - Rust
    \ No newline at end of file +mcaptcha::pages::auth::login - Rust +
    \ 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 4560da24..a1b03786 100644 --- a/mcaptcha/pages/auth/login/struct.INDEX.html +++ b/mcaptcha/pages/auth/login/struct.INDEX.html @@ -1,61 +1,62 @@ -INDEX in mcaptcha::pages::auth::login - Rust

    Struct mcaptcha::pages::auth::login::INDEX

    source ·
    struct INDEX {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    +INDEX in mcaptcha::pages::auth::login - Rust +

    Struct mcaptcha::pages::auth::login::INDEX

    source ·
    struct INDEX {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    Examples
    -
    let s = String::from("foo");
    +
    let s = String::from("foo");
     
    -assert_eq!("foo", s.as_str());
    -
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    +assert_eq!("foo", s.as_str());
    +
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    Examples
    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples
    -
    let s = String::from("hello");
    +
    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or +

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let a = String::from("foo");
    +
    let a = String::from("foo");
     assert_eq!(a.len(), 3);
     
    -let fancy_f = String::from("ƒoo");
    +let fancy_f = String::from("ƒoo");
     assert_eq!(fancy_f.len(), 4);
     assert_eq!(fancy_f.chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    Examples
    let mut v = String::new();
     assert!(v.is_empty());
     
    -v.push('a');
    +v.push('a');
     assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -66,7 +67,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -74,32 +75,32 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -107,13 +108,13 @@ before the borrow ends and the underlying str is used.

    Examples

    Basic usage:

    -
    let mut s = String::from("Hello");
    +
    let mut s = String::from("Hello");
     let bytes = unsafe { s.as_bytes_mut() };
     
    -assert_eq!(b"Hello", bytes);
    +assert_eq!(b"Hello", bytes);

    Mutability:

    -
    let mut s = String::from("🗻∈🌏");
    +
    let mut s = String::from("🗻∈🌏");
     
     unsafe {
         let bytes = s.as_bytes_mut();
    @@ -124,30 +125,30 @@ before the borrow ends and the underlying str is used.

    bytes[3] = 0x94; } -assert_eq!("🍔∈🌏", s);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +assert_eq!("🍔∈🌏", s);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    +
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -155,33 +156,33 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub fn get_mut<I>( +

    1.20.0 · source

    pub fn get_mut<I>( &mut self, i: I -) -> Option<&mut <I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a mutable subslice of str.

    +) -> Option<&mut <I as SliceIndex<str>>::Output>
    where + I: SliceIndex<str>,

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    -
    let mut v = String::from("hello");
    +
    let mut v = String::from("hello");
     // correct length
     assert!(v.get_mut(0..5).is_some());
     // out of bounds
     assert!(v.get_mut(..42).is_none());
    -assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
    +assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
     
    -assert_eq!("hello", v);
    +assert_eq!("hello", v);
     {
         let s = v.get_mut(0..2);
         let s = s.map(|s| {
             s.make_ascii_uppercase();
             &*s
         });
    -    assert_eq!(Some("HE"), s);
    +    assert_eq!(Some("HE"), s);
     }
    -assert_eq!("HEllo", v);
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +assert_eq!("HEllo", v);
    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -194,17 +195,17 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( &mut self, i: I -) -> &mut <I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    +) -> &mut <I as SliceIndex<str>>::Output
    where + I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -217,20 +218,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let mut v = String::from("🗻∈🌏");
    +
    let mut v = String::from("🗻∈🌏");
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    -    assert_eq!("∈", v.get_unchecked_mut(4..7));
    -    assert_eq!("🌏", v.get_unchecked_mut(7..11));
    +    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    +    assert_eq!("∈", v.get_unchecked_mut(4..7));
    +    assert_eq!("🌏", v.get_unchecked_mut(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -240,29 +241,29 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( +

    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( &mut self, - begin: usize, - end: usize -) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety + begin: usize, + end: usize +) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -271,188 +272,188 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    Examples
    -
    let mut s = "Per Martin-Löf".to_string();
    +
    let mut s = "Per Martin-Löf".to_string();
     {
         let (first, last) = s.split_at_mut(3);
         first.make_ascii_uppercase();
    -    assert_eq!("PER", first);
    -    assert_eq!(" Martin-Löf", last);
    +    assert_eq!("PER", first);
    +    assert_eq!(" Martin-Löf", last);
     }
    -assert_eq!("PER Martin-Löf", s);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("PER Martin-Löf", s);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -465,277 +466,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -743,177 +744,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -924,16 +925,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -944,16 +945,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -964,17 +965,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -985,37 +986,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -1023,39 +1024,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -1065,18 +1066,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -1084,16 +1085,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -1103,260 +1104,288 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    +
    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"));
    +
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use to_ascii_uppercase().

    Examples
    -
    let mut s = String::from("Grüße, Jürgen ❤");
    +
    let mut s = String::from("Grüße, Jürgen ❤");
     
     s.make_ascii_uppercase();
     
    -assert_eq!("GRüßE, JüRGEN ❤", s);
    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    +assert_eq!("GRüßE, JüRGEN ❤", s);
    +
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use to_ascii_lowercase().

    Examples
    -
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
    +
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
     
     s.make_ascii_lowercase();
     
    -assert_eq!("grÜße, jÜrgen ❤", s);
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +assert_eq!("grÜße, jÜrgen ❤", s);
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INDEX

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for INDEX

    §

    impl Send for INDEX

    §

    impl Sync for INDEX

    §

    impl Unpin for INDEX

    §

    impl UnwindSafe for INDEX

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INDEX

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for INDEX

    §

    impl Send for INDEX

    §

    impl Sync for INDEX

    §

    impl Unpin for INDEX

    §

    impl UnwindSafe for INDEX

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 896283ea..103efa70 100644 --- a/mcaptcha/pages/auth/login/struct.IndexPage.html +++ b/mcaptcha/pages/auth/login/struct.IndexPage.html @@ -1,18 +1,19 @@ -IndexPage in mcaptcha::pages::auth::login - Rust
    struct IndexPage;

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IndexPage

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +IndexPage in mcaptcha::pages::auth::login - Rust +
    struct IndexPage;

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IndexPage

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 29f392b9..8a35c5d5 100644 --- a/mcaptcha/pages/auth/login/struct.login.html +++ b/mcaptcha/pages/auth/login/struct.login.html @@ -1,17 +1,18 @@ -login in mcaptcha::pages::auth::login - Rust

    Struct mcaptcha::pages::auth::login::login

    source ·
    pub struct login;

    Trait Implementations§

    source§

    impl HttpServiceFactory for login

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for login

    §

    impl Send for login

    §

    impl Sync for login

    §

    impl Unpin for login

    §

    impl UnwindSafe for login

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +login in mcaptcha::pages::auth::login - Rust +

    Struct mcaptcha::pages::auth::login::login

    source ·
    pub struct login;

    Trait Implementations§

    source§

    impl HttpServiceFactory for login

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for login

    §

    impl Send for login

    §

    impl Sync for login

    §

    impl Unpin for login

    §

    impl UnwindSafe for login

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 6189aee9..1eb3b669 100644 --- a/mcaptcha/pages/auth/register/constant.PAGE.html +++ b/mcaptcha/pages/auth/register/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::auth::register - Rust

    Constant mcaptcha::pages::auth::register::PAGE

    source ·
    const PAGE: &str = "Join";
    \ No newline at end of file +PAGE in mcaptcha::pages::auth::register - Rust +

    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 31bf6429..79437218 100644 --- a/mcaptcha/pages/auth/register/index.html +++ b/mcaptcha/pages/auth/register/index.html @@ -1 +1,2 @@ -mcaptcha::pages::auth::register - Rust
    \ No newline at end of file +mcaptcha::pages::auth::register - Rust +
    \ 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 6055c48d..a0f41ea6 100644 --- a/mcaptcha/pages/auth/register/struct.INDEX.html +++ b/mcaptcha/pages/auth/register/struct.INDEX.html @@ -1,61 +1,62 @@ -INDEX in mcaptcha::pages::auth::register - Rust

    Struct mcaptcha::pages::auth::register::INDEX

    source ·
    struct INDEX {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    +INDEX in mcaptcha::pages::auth::register - Rust +

    Struct mcaptcha::pages::auth::register::INDEX

    source ·
    struct INDEX {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    Examples
    -
    let s = String::from("foo");
    +
    let s = String::from("foo");
     
    -assert_eq!("foo", s.as_str());
    -
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    +assert_eq!("foo", s.as_str());
    +
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    Examples
    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples
    -
    let s = String::from("hello");
    +
    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or +

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let a = String::from("foo");
    +
    let a = String::from("foo");
     assert_eq!(a.len(), 3);
     
    -let fancy_f = String::from("ƒoo");
    +let fancy_f = String::from("ƒoo");
     assert_eq!(fancy_f.len(), 4);
     assert_eq!(fancy_f.chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    Examples
    let mut v = String::new();
     assert!(v.is_empty());
     
    -v.push('a');
    +v.push('a');
     assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -66,7 +67,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -74,32 +75,32 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -107,13 +108,13 @@ before the borrow ends and the underlying str is used.

    Examples

    Basic usage:

    -
    let mut s = String::from("Hello");
    +
    let mut s = String::from("Hello");
     let bytes = unsafe { s.as_bytes_mut() };
     
    -assert_eq!(b"Hello", bytes);
    +assert_eq!(b"Hello", bytes);

    Mutability:

    -
    let mut s = String::from("🗻∈🌏");
    +
    let mut s = String::from("🗻∈🌏");
     
     unsafe {
         let bytes = s.as_bytes_mut();
    @@ -124,30 +125,30 @@ before the borrow ends and the underlying str is used.

    bytes[3] = 0x94; } -assert_eq!("🍔∈🌏", s);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +assert_eq!("🍔∈🌏", s);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    +
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -155,33 +156,33 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub fn get_mut<I>( +

    1.20.0 · source

    pub fn get_mut<I>( &mut self, i: I -) -> Option<&mut <I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a mutable subslice of str.

    +) -> Option<&mut <I as SliceIndex<str>>::Output>
    where + I: SliceIndex<str>,

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    -
    let mut v = String::from("hello");
    +
    let mut v = String::from("hello");
     // correct length
     assert!(v.get_mut(0..5).is_some());
     // out of bounds
     assert!(v.get_mut(..42).is_none());
    -assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
    +assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
     
    -assert_eq!("hello", v);
    +assert_eq!("hello", v);
     {
         let s = v.get_mut(0..2);
         let s = s.map(|s| {
             s.make_ascii_uppercase();
             &*s
         });
    -    assert_eq!(Some("HE"), s);
    +    assert_eq!(Some("HE"), s);
     }
    -assert_eq!("HEllo", v);
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +assert_eq!("HEllo", v);
    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -194,17 +195,17 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( &mut self, i: I -) -> &mut <I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    +) -> &mut <I as SliceIndex<str>>::Output
    where + I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -217,20 +218,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let mut v = String::from("🗻∈🌏");
    +
    let mut v = String::from("🗻∈🌏");
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    -    assert_eq!("∈", v.get_unchecked_mut(4..7));
    -    assert_eq!("🌏", v.get_unchecked_mut(7..11));
    +    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    +    assert_eq!("∈", v.get_unchecked_mut(4..7));
    +    assert_eq!("🌏", v.get_unchecked_mut(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -240,29 +241,29 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( +

    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( &mut self, - begin: usize, - end: usize -) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety + begin: usize, + end: usize +) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -271,188 +272,188 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    Examples
    -
    let mut s = "Per Martin-Löf".to_string();
    +
    let mut s = "Per Martin-Löf".to_string();
     {
         let (first, last) = s.split_at_mut(3);
         first.make_ascii_uppercase();
    -    assert_eq!("PER", first);
    -    assert_eq!(" Martin-Löf", last);
    +    assert_eq!("PER", first);
    +    assert_eq!(" Martin-Löf", last);
     }
    -assert_eq!("PER Martin-Löf", s);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("PER Martin-Löf", s);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -465,277 +466,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -743,177 +744,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -924,16 +925,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -944,16 +945,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -964,17 +965,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -985,37 +986,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -1023,39 +1024,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -1065,18 +1066,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -1084,16 +1085,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -1103,260 +1104,288 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    +
    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"));
    +
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use to_ascii_uppercase().

    Examples
    -
    let mut s = String::from("Grüße, Jürgen ❤");
    +
    let mut s = String::from("Grüße, Jürgen ❤");
     
     s.make_ascii_uppercase();
     
    -assert_eq!("GRüßE, JüRGEN ❤", s);
    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    +assert_eq!("GRüßE, JüRGEN ❤", s);
    +
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use to_ascii_lowercase().

    Examples
    -
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
    +
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
     
     s.make_ascii_lowercase();
     
    -assert_eq!("grÜße, jÜrgen ❤", s);
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +assert_eq!("grÜße, jÜrgen ❤", s);
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INDEX

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for INDEX

    §

    impl Send for INDEX

    §

    impl Sync for INDEX

    §

    impl Unpin for INDEX

    §

    impl UnwindSafe for INDEX

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INDEX

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for INDEX

    §

    impl Send for INDEX

    §

    impl Sync for INDEX

    §

    impl Unpin for INDEX

    §

    impl UnwindSafe for INDEX

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 048eb7c5..7eb1dfe2 100644 --- a/mcaptcha/pages/auth/register/struct.IndexPage.html +++ b/mcaptcha/pages/auth/register/struct.IndexPage.html @@ -1,18 +1,19 @@ -IndexPage in mcaptcha::pages::auth::register - Rust
    struct IndexPage;

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IndexPage

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +IndexPage in mcaptcha::pages::auth::register - Rust +
    struct IndexPage;

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IndexPage

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 337e1f92..01e75e0e 100644 --- a/mcaptcha/pages/auth/register/struct.join.html +++ b/mcaptcha/pages/auth/register/struct.join.html @@ -1,17 +1,18 @@ -join in mcaptcha::pages::auth::register - Rust

    Struct mcaptcha::pages::auth::register::join

    source ·
    pub struct join;

    Trait Implementations§

    source§

    impl HttpServiceFactory for join

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for join

    §

    impl Send for join

    §

    impl Sync for join

    §

    impl Unpin for join

    §

    impl UnwindSafe for join

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +join in mcaptcha::pages::auth::register - Rust +

    Struct mcaptcha::pages::auth::register::join

    source ·
    pub struct join;

    Trait Implementations§

    source§

    impl HttpServiceFactory for join

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for join

    §

    impl Send for join

    §

    impl Sync for join

    §

    impl Unpin for join

    §

    impl UnwindSafe for join

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 e857296f..ac80bf58 100644 --- a/mcaptcha/pages/auth/routes/index.html +++ b/mcaptcha/pages/auth/routes/index.html @@ -1 +1,2 @@ -mcaptcha::pages::auth::routes - Rust
    \ No newline at end of file +mcaptcha::pages::auth::routes - Rust +
    \ 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 09857710..a77280a5 100644 --- a/mcaptcha/pages/auth/routes/struct.Auth.html +++ b/mcaptcha/pages/auth/routes/struct.Auth.html @@ -1,20 +1,21 @@ -Auth in mcaptcha::pages::auth::routes - Rust

    Struct mcaptcha::pages::auth::routes::Auth

    source ·
    pub struct Auth {
    -    pub login: &'static str,
    -    pub join: &'static str,
    -}

    Fields§

    §login: &'static str§join: &'static str

    Implementations§

    source§

    impl Auth

    source

    pub const fn new() -> Auth

    source

    pub const fn get_sitemap() -> [&'static str; 2]

    Trait Implementations§

    source§

    impl GetLoginRoute for Auth

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Auth

    §

    impl Send for Auth

    §

    impl Sync for Auth

    §

    impl Unpin for Auth

    §

    impl UnwindSafe for Auth

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Auth in mcaptcha::pages::auth::routes - Rust +

    Struct mcaptcha::pages::auth::routes::Auth

    source ·
    pub struct Auth {
    +    pub login: &'static str,
    +    pub join: &'static str,
    +}

    Fields§

    §login: &'static str§join: &'static str

    Implementations§

    source§

    impl Auth

    source

    pub const fn new() -> Auth

    source

    pub const fn get_sitemap() -> [&'static str; 2]

    Trait Implementations§

    source§

    impl GetLoginRoute for Auth

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Auth

    §

    impl Send for Auth

    §

    impl Sync for Auth

    §

    impl Unpin for Auth

    §

    impl UnwindSafe for Auth

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 753b7c62..518d3334 100644 --- a/mcaptcha/pages/auth/sudo/constant.PAGE.html +++ b/mcaptcha/pages/auth/sudo/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::auth::sudo - Rust

    Constant mcaptcha::pages::auth::sudo::PAGE

    source ·
    pub const PAGE: &str = "Confirm Access";
    \ No newline at end of file +PAGE in mcaptcha::pages::auth::sudo - Rust +

    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 eefb60fc..59365634 100644 --- a/mcaptcha/pages/auth/sudo/index.html +++ b/mcaptcha/pages/auth/sudo/index.html @@ -1 +1,2 @@ -mcaptcha::pages::auth::sudo - Rust
    \ No newline at end of file +mcaptcha::pages::auth::sudo - Rust +
    \ 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 459cf158..d64cd977 100644 --- a/mcaptcha/pages/auth/sudo/struct.SudoPage.html +++ b/mcaptcha/pages/auth/sudo/struct.SudoPage.html @@ -1,41 +1,42 @@ -SudoPage in mcaptcha::pages::auth::sudo - Rust

    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 str§data: Option<Vec<(K, V)>>

    Implementations§

    source§

    impl<'a, K, V> SudoPage<'a, K, V>where - K: Display + Render, - V: Display + Render,

    source

    pub fn new(url: &'a str, data: Option<Vec<(K, V)>>) -> Self

    Trait Implementations§

    source§

    impl<'a, K, V> Clone for SudoPage<'a, K, V>where - K: Display + Render + Clone, - V: Display + Render + Clone,

    source§

    fn clone(&self) -> SudoPage<'a, K, V>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a, K, V> TemplateOnce for SudoPage<'a, K, V>where - K: Display + Render, - V: Display + Render,

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a, K, V> Sealed for SudoPage<'a, K, V>where - K: Display + Render, - V: Display + Render,

    Auto Trait Implementations§

    §

    impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V>where - K: RefUnwindSafe, - V: RefUnwindSafe,

    §

    impl<'a, K, V> Send for SudoPage<'a, K, V>where - K: Send, - V: Send,

    §

    impl<'a, K, V> Sync for SudoPage<'a, K, V>where - K: Sync, - V: Sync,

    §

    impl<'a, K, V> Unpin for SudoPage<'a, K, V>where - K: Unpin, - V: Unpin,

    §

    impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V>where - K: UnwindSafe, - V: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +SudoPage in mcaptcha::pages::auth::sudo - Rust +

    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 str§data: Option<Vec<(K, V)>>

    Implementations§

    source§

    impl<'a, K, V> SudoPage<'a, K, V>
    where + K: Display + Render, + V: Display + Render,

    source

    pub fn new(url: &'a str, data: Option<Vec<(K, V)>>) -> Self

    Trait Implementations§

    source§

    impl<'a, K, V> Clone for SudoPage<'a, K, V>
    where + K: Display + Render + Clone, + V: Display + Render + Clone,

    source§

    fn clone(&self) -> SudoPage<'a, K, V>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a, K, V> TemplateOnce for SudoPage<'a, K, V>
    where + K: Display + Render, + V: Display + Render,

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a, K, V> Sealed for SudoPage<'a, K, V>
    where + K: Display + Render, + V: Display + Render,

    Auto Trait Implementations§

    §

    impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V>
    where + K: RefUnwindSafe, + V: RefUnwindSafe,

    §

    impl<'a, K, V> Send for SudoPage<'a, K, V>
    where + K: Send, + V: Send,

    §

    impl<'a, K, V> Sync for SudoPage<'a, K, V>
    where + K: Sync, + V: Sync,

    §

    impl<'a, K, V> Unpin for SudoPage<'a, K, V>
    where + K: Unpin, + V: Unpin,

    §

    impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V>
    where + K: UnwindSafe, + V: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 2220b17a..63f612d3 100644 --- a/mcaptcha/pages/constant.NAME.html +++ b/mcaptcha/pages/constant.NAME.html @@ -1 +1,2 @@ -NAME in mcaptcha::pages - Rust

    Constant mcaptcha::pages::NAME

    source ·
    pub const NAME: &str = "mCaptcha";
    \ No newline at end of file +NAME in mcaptcha::pages - Rust +

    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 56dc900c..2d5ed681 100644 --- a/mcaptcha/pages/errors/constant.ERROR_ROUTE.html +++ b/mcaptcha/pages/errors/constant.ERROR_ROUTE.html @@ -1 +1,2 @@ -ERROR_ROUTE in mcaptcha::pages::errors - Rust

    Constant mcaptcha::pages::errors::ERROR_ROUTE

    source ·
    const ERROR_ROUTE: &str = "/error/{id}";
    \ No newline at end of file +ERROR_ROUTE in mcaptcha::pages::errors - Rust +

    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 a95c5ebe..1cd3701f 100644 --- a/mcaptcha/pages/errors/constant.PAGE.html +++ b/mcaptcha/pages/errors/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::errors - Rust

    Constant mcaptcha::pages::errors::PAGE

    source ·
    const PAGE: &str = "Error";
    \ No newline at end of file +PAGE in mcaptcha::pages::errors - Rust +

    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 79aa7a46..a503a43d 100644 --- a/mcaptcha/pages/errors/fn.services.html +++ b/mcaptcha/pages/errors/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::pages::errors - Rust

    Function mcaptcha::pages::errors::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::pages::errors - Rust +

    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 81dd15a6..ba08c228 100644 --- a/mcaptcha/pages/errors/index.html +++ b/mcaptcha/pages/errors/index.html @@ -1 +1,2 @@ -mcaptcha::pages::errors - Rust
    \ No newline at end of file +mcaptcha::pages::errors - Rust +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/routes/index.html b/mcaptcha/pages/errors/routes/index.html index 00a4ae52..c783e4b1 100644 --- a/mcaptcha/pages/errors/routes/index.html +++ b/mcaptcha/pages/errors/routes/index.html @@ -1 +1,2 @@ -mcaptcha::pages::errors::routes - Rust
    \ No newline at end of file +mcaptcha::pages::errors::routes - Rust +
    \ 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 a36f1a22..13cc1323 100644 --- a/mcaptcha/pages/errors/routes/struct.Errors.html +++ b/mcaptcha/pages/errors/routes/struct.Errors.html @@ -1,20 +1,21 @@ -Errors in mcaptcha::pages::errors::routes - Rust
    pub struct Errors {
    -    pub internal_server_error: &'static str,
    -    pub unknown_error: &'static str,
    -}

    Fields§

    §internal_server_error: &'static str§unknown_error: &'static str

    Implementations§

    source§

    impl Errors

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Errors in mcaptcha::pages::errors::routes - Rust +
    pub struct Errors {
    +    pub internal_server_error: &'static str,
    +    pub unknown_error: &'static str,
    +}

    Fields§

    §internal_server_error: &'static str§unknown_error: &'static str

    Implementations§

    source§

    impl Errors

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 dbe0731c..07156925 100644 --- a/mcaptcha/pages/errors/struct.ErrorPage.html +++ b/mcaptcha/pages/errors/struct.ErrorPage.html @@ -1,21 +1,22 @@ -ErrorPage in mcaptcha::pages::errors - Rust
    struct ErrorPage<'a> {
    -    title: &'a str,
    -    message: &'a str,
    -}

    Fields§

    §title: &'a str§message: &'a str

    Implementations§

    source§

    impl<'a> ErrorPage<'a>

    source

    fn new(title: &'a str, message: &'a str) -> Self

    Trait Implementations§

    source§

    impl<'a> Clone for ErrorPage<'a>

    source§

    fn clone(&self) -> ErrorPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> TemplateOnce for ErrorPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for ErrorPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for ErrorPage<'a>

    §

    impl<'a> Send for ErrorPage<'a>

    §

    impl<'a> Sync for ErrorPage<'a>

    §

    impl<'a> Unpin for ErrorPage<'a>

    §

    impl<'a> UnwindSafe for ErrorPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +ErrorPage in mcaptcha::pages::errors - Rust +
    struct ErrorPage<'a> {
    +    title: &'a str,
    +    message: &'a str,
    +}

    Fields§

    §title: &'a str§message: &'a str

    Implementations§

    source§

    impl<'a> ErrorPage<'a>

    source

    fn new(title: &'a str, message: &'a str) -> Self

    Trait Implementations§

    source§

    impl<'a> Clone for ErrorPage<'a>

    source§

    fn clone(&self) -> ErrorPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> TemplateOnce for ErrorPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for ErrorPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for ErrorPage<'a>

    §

    impl<'a> Send for ErrorPage<'a>

    §

    impl<'a> Sync for ErrorPage<'a>

    §

    impl<'a> Unpin for ErrorPage<'a>

    §

    impl<'a> UnwindSafe for ErrorPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 0f70aeee..27293b70 100644 --- a/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html +++ b/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html @@ -1,61 +1,62 @@ -INTERNAL_SERVER_ERROR_BODY in mcaptcha::pages::errors - Rust
    struct INTERNAL_SERVER_ERROR_BODY {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    +INTERNAL_SERVER_ERROR_BODY in mcaptcha::pages::errors - Rust +
    struct INTERNAL_SERVER_ERROR_BODY {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    Examples
    -
    let s = String::from("foo");
    +
    let s = String::from("foo");
     
    -assert_eq!("foo", s.as_str());
    -
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    +assert_eq!("foo", s.as_str());
    +
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    Examples
    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples
    -
    let s = String::from("hello");
    +
    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or +

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let a = String::from("foo");
    +
    let a = String::from("foo");
     assert_eq!(a.len(), 3);
     
    -let fancy_f = String::from("ƒoo");
    +let fancy_f = String::from("ƒoo");
     assert_eq!(fancy_f.len(), 4);
     assert_eq!(fancy_f.chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    Examples
    let mut v = String::new();
     assert!(v.is_empty());
     
    -v.push('a');
    +v.push('a');
     assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -66,7 +67,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -74,32 +75,32 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -107,13 +108,13 @@ before the borrow ends and the underlying str is used.

    Examples

    Basic usage:

    -
    let mut s = String::from("Hello");
    +
    let mut s = String::from("Hello");
     let bytes = unsafe { s.as_bytes_mut() };
     
    -assert_eq!(b"Hello", bytes);
    +assert_eq!(b"Hello", bytes);

    Mutability:

    -
    let mut s = String::from("🗻∈🌏");
    +
    let mut s = String::from("🗻∈🌏");
     
     unsafe {
         let bytes = s.as_bytes_mut();
    @@ -124,30 +125,30 @@ before the borrow ends and the underlying str is used.

    bytes[3] = 0x94; } -assert_eq!("🍔∈🌏", s);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +assert_eq!("🍔∈🌏", s);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    +
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -155,33 +156,33 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub fn get_mut<I>( +

    1.20.0 · source

    pub fn get_mut<I>( &mut self, i: I -) -> Option<&mut <I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a mutable subslice of str.

    +) -> Option<&mut <I as SliceIndex<str>>::Output>
    where + I: SliceIndex<str>,

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    -
    let mut v = String::from("hello");
    +
    let mut v = String::from("hello");
     // correct length
     assert!(v.get_mut(0..5).is_some());
     // out of bounds
     assert!(v.get_mut(..42).is_none());
    -assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
    +assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
     
    -assert_eq!("hello", v);
    +assert_eq!("hello", v);
     {
         let s = v.get_mut(0..2);
         let s = s.map(|s| {
             s.make_ascii_uppercase();
             &*s
         });
    -    assert_eq!(Some("HE"), s);
    +    assert_eq!(Some("HE"), s);
     }
    -assert_eq!("HEllo", v);
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +assert_eq!("HEllo", v);
    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -194,17 +195,17 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( &mut self, i: I -) -> &mut <I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    +) -> &mut <I as SliceIndex<str>>::Output
    where + I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -217,20 +218,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let mut v = String::from("🗻∈🌏");
    +
    let mut v = String::from("🗻∈🌏");
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    -    assert_eq!("∈", v.get_unchecked_mut(4..7));
    -    assert_eq!("🌏", v.get_unchecked_mut(7..11));
    +    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    +    assert_eq!("∈", v.get_unchecked_mut(4..7));
    +    assert_eq!("🌏", v.get_unchecked_mut(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -240,29 +241,29 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( +

    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( &mut self, - begin: usize, - end: usize -) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety + begin: usize, + end: usize +) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -271,188 +272,188 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    Examples
    -
    let mut s = "Per Martin-Löf".to_string();
    +
    let mut s = "Per Martin-Löf".to_string();
     {
         let (first, last) = s.split_at_mut(3);
         first.make_ascii_uppercase();
    -    assert_eq!("PER", first);
    -    assert_eq!(" Martin-Löf", last);
    +    assert_eq!("PER", first);
    +    assert_eq!(" Martin-Löf", last);
     }
    -assert_eq!("PER Martin-Löf", s);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("PER Martin-Löf", s);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -465,277 +466,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -743,177 +744,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -924,16 +925,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -944,16 +945,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -964,17 +965,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -985,37 +986,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -1023,39 +1024,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -1065,18 +1066,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -1084,16 +1085,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -1103,260 +1104,288 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    +
    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"));
    +
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use to_ascii_uppercase().

    Examples
    -
    let mut s = String::from("Grüße, Jürgen ❤");
    +
    let mut s = String::from("Grüße, Jürgen ❤");
     
     s.make_ascii_uppercase();
     
    -assert_eq!("GRüßE, JüRGEN ❤", s);
    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    +assert_eq!("GRüßE, JüRGEN ❤", s);
    +
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use to_ascii_lowercase().

    Examples
    -
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
    +
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
     
     s.make_ascii_lowercase();
     
    -assert_eq!("grÜße, jÜrgen ❤", s);
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +assert_eq!("grÜße, jÜrgen ❤", s);
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for INTERNAL_SERVER_ERROR_BODY

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INTERNAL_SERVER_ERROR_BODY

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for INTERNAL_SERVER_ERROR_BODY

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INTERNAL_SERVER_ERROR_BODY

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 4650dc62..0c06ef4f 100644 --- a/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html +++ b/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html @@ -1,61 +1,62 @@ -UNKNOWN_ERROR_BODY in mcaptcha::pages::errors - Rust
    struct UNKNOWN_ERROR_BODY {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    +UNKNOWN_ERROR_BODY in mcaptcha::pages::errors - Rust +
    struct UNKNOWN_ERROR_BODY {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    Examples
    -
    let s = String::from("foo");
    +
    let s = String::from("foo");
     
    -assert_eq!("foo", s.as_str());
    -
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    +assert_eq!("foo", s.as_str());
    +
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    Examples
    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples
    -
    let s = String::from("hello");
    +
    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or +

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let a = String::from("foo");
    +
    let a = String::from("foo");
     assert_eq!(a.len(), 3);
     
    -let fancy_f = String::from("ƒoo");
    +let fancy_f = String::from("ƒoo");
     assert_eq!(fancy_f.len(), 4);
     assert_eq!(fancy_f.chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    Examples
    let mut v = String::new();
     assert!(v.is_empty());
     
    -v.push('a');
    +v.push('a');
     assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -66,7 +67,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -74,32 +75,32 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -107,13 +108,13 @@ before the borrow ends and the underlying str is used.

    Examples

    Basic usage:

    -
    let mut s = String::from("Hello");
    +
    let mut s = String::from("Hello");
     let bytes = unsafe { s.as_bytes_mut() };
     
    -assert_eq!(b"Hello", bytes);
    +assert_eq!(b"Hello", bytes);

    Mutability:

    -
    let mut s = String::from("🗻∈🌏");
    +
    let mut s = String::from("🗻∈🌏");
     
     unsafe {
         let bytes = s.as_bytes_mut();
    @@ -124,30 +125,30 @@ before the borrow ends and the underlying str is used.

    bytes[3] = 0x94; } -assert_eq!("🍔∈🌏", s);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +assert_eq!("🍔∈🌏", s);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    +
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -155,33 +156,33 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub fn get_mut<I>( +

    1.20.0 · source

    pub fn get_mut<I>( &mut self, i: I -) -> Option<&mut <I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a mutable subslice of str.

    +) -> Option<&mut <I as SliceIndex<str>>::Output>
    where + I: SliceIndex<str>,

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    -
    let mut v = String::from("hello");
    +
    let mut v = String::from("hello");
     // correct length
     assert!(v.get_mut(0..5).is_some());
     // out of bounds
     assert!(v.get_mut(..42).is_none());
    -assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
    +assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
     
    -assert_eq!("hello", v);
    +assert_eq!("hello", v);
     {
         let s = v.get_mut(0..2);
         let s = s.map(|s| {
             s.make_ascii_uppercase();
             &*s
         });
    -    assert_eq!(Some("HE"), s);
    +    assert_eq!(Some("HE"), s);
     }
    -assert_eq!("HEllo", v);
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +assert_eq!("HEllo", v);
    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -194,17 +195,17 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( &mut self, i: I -) -> &mut <I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    +) -> &mut <I as SliceIndex<str>>::Output
    where + I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -217,20 +218,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let mut v = String::from("🗻∈🌏");
    +
    let mut v = String::from("🗻∈🌏");
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    -    assert_eq!("∈", v.get_unchecked_mut(4..7));
    -    assert_eq!("🌏", v.get_unchecked_mut(7..11));
    +    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    +    assert_eq!("∈", v.get_unchecked_mut(4..7));
    +    assert_eq!("🌏", v.get_unchecked_mut(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -240,29 +241,29 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( +

    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( &mut self, - begin: usize, - end: usize -) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety + begin: usize, + end: usize +) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -271,188 +272,188 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    Examples
    -
    let mut s = "Per Martin-Löf".to_string();
    +
    let mut s = "Per Martin-Löf".to_string();
     {
         let (first, last) = s.split_at_mut(3);
         first.make_ascii_uppercase();
    -    assert_eq!("PER", first);
    -    assert_eq!(" Martin-Löf", last);
    +    assert_eq!("PER", first);
    +    assert_eq!(" Martin-Löf", last);
     }
    -assert_eq!("PER Martin-Löf", s);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("PER Martin-Löf", s);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -465,277 +466,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -743,177 +744,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -924,16 +925,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -944,16 +945,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -964,17 +965,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -985,37 +986,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -1023,39 +1024,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -1065,18 +1066,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -1084,16 +1085,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -1103,260 +1104,288 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    +
    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"));
    +
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use to_ascii_uppercase().

    Examples
    -
    let mut s = String::from("Grüße, Jürgen ❤");
    +
    let mut s = String::from("Grüße, Jürgen ❤");
     
     s.make_ascii_uppercase();
     
    -assert_eq!("GRüßE, JüRGEN ❤", s);
    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    +assert_eq!("GRüßE, JüRGEN ❤", s);
    +
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use to_ascii_lowercase().

    Examples
    -
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
    +
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
     
     s.make_ascii_lowercase();
     
    -assert_eq!("grÜße, jÜrgen ❤", s);
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +assert_eq!("grÜße, jÜrgen ❤", s);
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for UNKNOWN_ERROR_BODY

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for UNKNOWN_ERROR_BODY

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for UNKNOWN_ERROR_BODY

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for UNKNOWN_ERROR_BODY

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 c3881e2f..c9972029 100644 --- a/mcaptcha/pages/errors/struct.error.html +++ b/mcaptcha/pages/errors/struct.error.html @@ -1,17 +1,18 @@ -error in mcaptcha::pages::errors - Rust

    Struct mcaptcha::pages::errors::error

    source ·
    pub struct error;

    Trait Implementations§

    source§

    impl HttpServiceFactory for error

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for error

    §

    impl Send for error

    §

    impl Sync for error

    §

    impl Unpin for error

    §

    impl UnwindSafe for error

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +error in mcaptcha::pages::errors - Rust +

    Struct mcaptcha::pages::errors::error

    source ·
    pub struct error;

    Trait Implementations§

    source§

    impl HttpServiceFactory for error

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for error

    §

    impl Send for error

    §

    impl Sync for error

    §

    impl Unpin for error

    §

    impl UnwindSafe for error

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 2ad11cd5..d3a61390 100644 --- a/mcaptcha/pages/fn.get_middleware.html +++ b/mcaptcha/pages/fn.get_middleware.html @@ -1 +1,2 @@ -get_middleware in mcaptcha::pages - Rust

    Function mcaptcha::pages::get_middleware

    source ·
    pub fn get_middleware() -> Authentication<Routes>
    \ No newline at end of file +get_middleware in mcaptcha::pages - Rust +

    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 a6ceb1e4..a5d233f4 100644 --- a/mcaptcha/pages/fn.services.html +++ b/mcaptcha/pages/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::pages - Rust

    Function mcaptcha::pages::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::pages - Rust +

    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 b6ba1ab8..32ed6b9c 100644 --- a/mcaptcha/pages/index.html +++ b/mcaptcha/pages/index.html @@ -1 +1,2 @@ -mcaptcha::pages - Rust
    \ No newline at end of file +mcaptcha::pages - Rust +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/constant.PAGE.html b/mcaptcha/pages/panel/constant.PAGE.html index 99241041..66af1eab 100644 --- a/mcaptcha/pages/panel/constant.PAGE.html +++ b/mcaptcha/pages/panel/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::panel - Rust

    Constant mcaptcha::pages::panel::PAGE

    source ·
    const PAGE: &str = "Dashboard";
    \ No newline at end of file +PAGE in mcaptcha::pages::panel - Rust +

    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 abc62de7..c158edb2 100644 --- a/mcaptcha/pages/panel/fn.services.html +++ b/mcaptcha/pages/panel/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::pages::panel - Rust

    Function mcaptcha::pages::panel::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::pages::panel - Rust +

    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 8ca87eb1..241d8394 100644 --- a/mcaptcha/pages/panel/index.html +++ b/mcaptcha/pages/panel/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel - Rust
    \ No newline at end of file +mcaptcha::pages::panel - Rust +
    \ 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 0baeacc2..bba5e065 100644 --- a/mcaptcha/pages/panel/notifications/constant.PAGE.html +++ b/mcaptcha/pages/panel/notifications/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::panel::notifications - Rust
    const PAGE: &str = "Notifications";
    \ No newline at end of file +PAGE in mcaptcha::pages::panel::notifications - Rust +
    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 73b1ac4a..8fc0a6ab 100644 --- a/mcaptcha/pages/panel/notifications/index.html +++ b/mcaptcha/pages/panel/notifications/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::notifications - Rust
    \ No newline at end of file +mcaptcha::pages::panel::notifications - Rust +
    \ 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 50353460..285f5eb3 100644 --- a/mcaptcha/pages/panel/notifications/struct.IndexPage.html +++ b/mcaptcha/pages/panel/notifications/struct.IndexPage.html @@ -1,20 +1,21 @@ -IndexPage in mcaptcha::pages::panel::notifications - Rust
    pub struct IndexPage {
    -    n: Vec<Notification>,
    -}

    Fields§

    §n: Vec<Notification>

    notifications

    -

    Implementations§

    Trait Implementations§

    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +IndexPage in mcaptcha::pages::panel::notifications - Rust +
    pub struct IndexPage {
    +    n: Vec<Notification>,
    +}

    Fields§

    §n: Vec<Notification>

    notifications

    +

    Implementations§

    Trait Implementations§

    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b3b3a057..ecd7bc20 100644 --- a/mcaptcha/pages/panel/notifications/struct.Notification.html +++ b/mcaptcha/pages/panel/notifications/struct.Notification.html @@ -1,23 +1,24 @@ -Notification in mcaptcha::pages::panel::notifications - Rust
    pub struct Notification {
    -    pub name: String,
    -    pub heading: String,
    -    pub message: String,
    +Notification in mcaptcha::pages::panel::notifications - Rust
    +    
    pub struct Notification {
    +    pub name: String,
    +    pub heading: String,
    +    pub message: String,
         pub received: OffsetDateTime,
    -    pub id: i32,
    -}

    Fields§

    §name: String§heading: String§message: String§received: OffsetDateTime§id: i32

    Implementations§

    Trait Implementations§

    source§

    impl From<Notification> for Notification

    source§

    fn from(n: Notification) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + pub id: i32, +}

    Fields§

    §name: String§heading: String§message: String§received: OffsetDateTime§id: i32

    Implementations§

    Trait Implementations§

    source§

    impl From<Notification> for Notification

    source§

    fn from(n: Notification) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 ce73aff4..4410c027 100644 --- a/mcaptcha/pages/panel/notifications/struct.notifications.html +++ b/mcaptcha/pages/panel/notifications/struct.notifications.html @@ -1,17 +1,18 @@ -notifications in mcaptcha::pages::panel::notifications - Rust
    pub struct notifications;

    Trait Implementations§

    source§

    impl HttpServiceFactory for notifications

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +notifications in mcaptcha::pages::panel::notifications - Rust +
    pub struct notifications;

    Trait Implementations§

    source§

    impl HttpServiceFactory for notifications

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b5189e3e..a32b73da 100644 --- a/mcaptcha/pages/panel/routes/index.html +++ b/mcaptcha/pages/panel/routes/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::routes - Rust
    \ No newline at end of file +mcaptcha::pages::panel::routes - Rust +
    \ 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 14c158aa..6a11fc2e 100644 --- a/mcaptcha/pages/panel/routes/struct.Panel.html +++ b/mcaptcha/pages/panel/routes/struct.Panel.html @@ -1,23 +1,24 @@ -Panel in mcaptcha::pages::panel::routes - Rust

    Struct mcaptcha::pages::panel::routes::Panel

    source ·
    pub struct Panel {
    -    pub home: &'static str,
    +Panel in mcaptcha::pages::panel::routes - Rust
    +    

    Struct mcaptcha::pages::panel::routes::Panel

    source ·
    pub struct Panel {
    +    pub home: &'static str,
         pub sitekey: Sitekey,
    -    pub notifications: &'static str,
    +    pub notifications: &'static str,
         pub settings: Settings,
         pub utils: Utils,
    -}

    Fields§

    §home: &'static str§sitekey: Sitekey§notifications: &'static str§settings: Settings§utils: Utils

    Implementations§

    source§

    impl Panel

    source

    pub const fn new() -> Self

    source

    pub const fn get_sitemap() -> [&'static str; 6]

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Panel

    §

    impl Send for Panel

    §

    impl Sync for Panel

    §

    impl Unpin for Panel

    §

    impl UnwindSafe for Panel

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Fields§

    §home: &'static str§sitekey: Sitekey§notifications: &'static str§settings: Settings§utils: Utils

    Implementations§

    source§

    impl Panel

    source

    pub const fn new() -> Self

    source

    pub const fn get_sitemap() -> [&'static str; 6]

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Panel

    §

    impl Send for Panel

    §

    impl Sync for Panel

    §

    impl Unpin for Panel

    §

    impl UnwindSafe for Panel

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b36685ca..e95a7cf3 100644 --- a/mcaptcha/pages/panel/settings/constant.PAGE.html +++ b/mcaptcha/pages/panel/settings/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::panel::settings - Rust

    Constant mcaptcha::pages::panel::settings::PAGE

    source ·
    const PAGE: &str = "Settings";
    \ No newline at end of file +PAGE in mcaptcha::pages::panel::settings - Rust +

    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 fdd0e8ff..d12d0042 100644 --- a/mcaptcha/pages/panel/settings/fn.services.html +++ b/mcaptcha/pages/panel/settings/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::pages::panel::settings - Rust
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::pages::panel::settings - Rust +
    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 245ec374..f67d5aa2 100644 --- a/mcaptcha/pages/panel/settings/index.html +++ b/mcaptcha/pages/panel/settings/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::settings - Rust
    \ No newline at end of file +mcaptcha::pages::panel::settings - Rust +
    \ 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 826759e2..696751dc 100644 --- a/mcaptcha/pages/panel/settings/routes/index.html +++ b/mcaptcha/pages/panel/settings/routes/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::settings::routes - Rust
    \ No newline at end of file +mcaptcha::pages::panel::settings::routes - Rust +
    \ 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 91a02c69..de373cc7 100644 --- a/mcaptcha/pages/panel/settings/routes/struct.Settings.html +++ b/mcaptcha/pages/panel/settings/routes/struct.Settings.html @@ -1,21 +1,22 @@ -Settings in mcaptcha::pages::panel::settings::routes - Rust
    pub struct Settings {
    -    pub home: &'static str,
    -    pub delete_account: &'static str,
    -    pub update_secret: &'static str,
    -}

    Fields§

    §home: &'static str§delete_account: &'static str§update_secret: &'static str

    Implementations§

    source§

    impl Settings

    source

    pub const fn new() -> Self

    source

    pub const fn get_sitemap() -> [&'static str; 1]

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Settings in mcaptcha::pages::panel::settings::routes - Rust +
    pub struct Settings {
    +    pub home: &'static str,
    +    pub delete_account: &'static str,
    +    pub update_secret: &'static str,
    +}

    Fields§

    §home: &'static str§delete_account: &'static str§update_secret: &'static str

    Implementations§

    source§

    impl Settings

    source

    pub const fn new() -> Self

    source

    pub const fn get_sitemap() -> [&'static str; 1]

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 3e58f3ef..947abdab 100644 --- a/mcaptcha/pages/panel/settings/struct.IndexPage.html +++ b/mcaptcha/pages/panel/settings/struct.IndexPage.html @@ -1,22 +1,23 @@ -IndexPage in mcaptcha::pages::panel::settings - Rust
    pub struct IndexPage<'a> {
    -    email: Option<String>,
    -    secret: String,
    -    username: &'a str,
    -}

    Fields§

    §email: Option<String>§secret: String§username: &'a str

    Trait Implementations§

    source§

    impl<'a> Clone for IndexPage<'a>

    source§

    fn clone(&self) -> IndexPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> TemplateOnce for IndexPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for IndexPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for IndexPage<'a>

    §

    impl<'a> Send for IndexPage<'a>

    §

    impl<'a> Sync for IndexPage<'a>

    §

    impl<'a> Unpin for IndexPage<'a>

    §

    impl<'a> UnwindSafe for IndexPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +IndexPage in mcaptcha::pages::panel::settings - Rust +
    pub struct IndexPage<'a> {
    +    email: Option<String>,
    +    secret: String,
    +    username: &'a str,
    +}

    Fields§

    §email: Option<String>§secret: String§username: &'a str

    Trait Implementations§

    source§

    impl<'a> Clone for IndexPage<'a>

    source§

    fn clone(&self) -> IndexPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> TemplateOnce for IndexPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for IndexPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for IndexPage<'a>

    §

    impl<'a> Send for IndexPage<'a>

    §

    impl<'a> Sync for IndexPage<'a>

    §

    impl<'a> Unpin for IndexPage<'a>

    §

    impl<'a> UnwindSafe for IndexPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b41f1352..243e725e 100644 --- a/mcaptcha/pages/panel/settings/struct.delete_account.html +++ b/mcaptcha/pages/panel/settings/struct.delete_account.html @@ -1,17 +1,18 @@ -delete_account in mcaptcha::pages::panel::settings - Rust
    pub struct delete_account;

    Trait Implementations§

    source§

    impl HttpServiceFactory for delete_account

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +delete_account in mcaptcha::pages::panel::settings - Rust +
    pub struct delete_account;

    Trait Implementations§

    source§

    impl HttpServiceFactory for delete_account

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 824db96b..7bc634ff 100644 --- a/mcaptcha/pages/panel/settings/struct.settings.html +++ b/mcaptcha/pages/panel/settings/struct.settings.html @@ -1,17 +1,18 @@ -settings in mcaptcha::pages::panel::settings - Rust
    pub struct settings;

    Trait Implementations§

    source§

    impl HttpServiceFactory for settings

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +settings in mcaptcha::pages::panel::settings - Rust +
    pub struct settings;

    Trait Implementations§

    source§

    impl HttpServiceFactory for settings

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 5fe07ca1..d8530aa2 100644 --- a/mcaptcha/pages/panel/settings/struct.update_secret.html +++ b/mcaptcha/pages/panel/settings/struct.update_secret.html @@ -1,17 +1,18 @@ -update_secret in mcaptcha::pages::panel::settings - Rust
    pub struct update_secret;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_secret

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +update_secret in mcaptcha::pages::panel::settings - Rust +
    pub struct update_secret;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update_secret

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 8103a62d..ebdf5eeb 100644 --- a/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::panel::sitekey::add - Rust

    Constant mcaptcha::pages::panel::sitekey::add::PAGE

    source ·
    const PAGE: &str = "Add Sitekey";
    \ No newline at end of file +PAGE in mcaptcha::pages::panel::sitekey::add - Rust +

    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 95b904e3..7601dd45 100644 --- a/mcaptcha/pages/panel/sitekey/add/index.html +++ b/mcaptcha/pages/panel/sitekey/add/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::sitekey::add - Rust
    \ No newline at end of file +mcaptcha::pages::panel::sitekey::add - Rust +
    \ 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 64a66d80..c3da438e 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html @@ -1,61 +1,62 @@ -ADVANCE_INDEX in mcaptcha::pages::panel::sitekey::add - Rust
    struct ADVANCE_INDEX {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    +ADVANCE_INDEX in mcaptcha::pages::panel::sitekey::add - Rust +
    struct ADVANCE_INDEX {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    Examples
    -
    let s = String::from("foo");
    +
    let s = String::from("foo");
     
    -assert_eq!("foo", s.as_str());
    -
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    +assert_eq!("foo", s.as_str());
    +
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    Examples
    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples
    -
    let s = String::from("hello");
    +
    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or +

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let a = String::from("foo");
    +
    let a = String::from("foo");
     assert_eq!(a.len(), 3);
     
    -let fancy_f = String::from("ƒoo");
    +let fancy_f = String::from("ƒoo");
     assert_eq!(fancy_f.len(), 4);
     assert_eq!(fancy_f.chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    Examples
    let mut v = String::new();
     assert!(v.is_empty());
     
    -v.push('a');
    +v.push('a');
     assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -66,7 +67,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -74,32 +75,32 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -107,13 +108,13 @@ before the borrow ends and the underlying str is used.

    Examples

    Basic usage:

    -
    let mut s = String::from("Hello");
    +
    let mut s = String::from("Hello");
     let bytes = unsafe { s.as_bytes_mut() };
     
    -assert_eq!(b"Hello", bytes);
    +assert_eq!(b"Hello", bytes);

    Mutability:

    -
    let mut s = String::from("🗻∈🌏");
    +
    let mut s = String::from("🗻∈🌏");
     
     unsafe {
         let bytes = s.as_bytes_mut();
    @@ -124,30 +125,30 @@ before the borrow ends and the underlying str is used.

    bytes[3] = 0x94; } -assert_eq!("🍔∈🌏", s);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +assert_eq!("🍔∈🌏", s);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    +
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -155,33 +156,33 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub fn get_mut<I>( +

    1.20.0 · source

    pub fn get_mut<I>( &mut self, i: I -) -> Option<&mut <I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a mutable subslice of str.

    +) -> Option<&mut <I as SliceIndex<str>>::Output>
    where + I: SliceIndex<str>,

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    -
    let mut v = String::from("hello");
    +
    let mut v = String::from("hello");
     // correct length
     assert!(v.get_mut(0..5).is_some());
     // out of bounds
     assert!(v.get_mut(..42).is_none());
    -assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
    +assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
     
    -assert_eq!("hello", v);
    +assert_eq!("hello", v);
     {
         let s = v.get_mut(0..2);
         let s = s.map(|s| {
             s.make_ascii_uppercase();
             &*s
         });
    -    assert_eq!(Some("HE"), s);
    +    assert_eq!(Some("HE"), s);
     }
    -assert_eq!("HEllo", v);
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +assert_eq!("HEllo", v);
    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -194,17 +195,17 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( &mut self, i: I -) -> &mut <I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    +) -> &mut <I as SliceIndex<str>>::Output
    where + I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -217,20 +218,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let mut v = String::from("🗻∈🌏");
    +
    let mut v = String::from("🗻∈🌏");
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    -    assert_eq!("∈", v.get_unchecked_mut(4..7));
    -    assert_eq!("🌏", v.get_unchecked_mut(7..11));
    +    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    +    assert_eq!("∈", v.get_unchecked_mut(4..7));
    +    assert_eq!("🌏", v.get_unchecked_mut(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -240,29 +241,29 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( +

    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( &mut self, - begin: usize, - end: usize -) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety + begin: usize, + end: usize +) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -271,188 +272,188 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    Examples
    -
    let mut s = "Per Martin-Löf".to_string();
    +
    let mut s = "Per Martin-Löf".to_string();
     {
         let (first, last) = s.split_at_mut(3);
         first.make_ascii_uppercase();
    -    assert_eq!("PER", first);
    -    assert_eq!(" Martin-Löf", last);
    +    assert_eq!("PER", first);
    +    assert_eq!(" Martin-Löf", last);
     }
    -assert_eq!("PER Martin-Löf", s);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("PER Martin-Löf", s);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -465,277 +466,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -743,177 +744,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -924,16 +925,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -944,16 +945,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -964,17 +965,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -985,37 +986,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -1023,39 +1024,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -1065,18 +1066,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -1084,16 +1085,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -1103,260 +1104,288 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    +
    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"));
    +
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use to_ascii_uppercase().

    Examples
    -
    let mut s = String::from("Grüße, Jürgen ❤");
    +
    let mut s = String::from("Grüße, Jürgen ❤");
     
     s.make_ascii_uppercase();
     
    -assert_eq!("GRüßE, JüRGEN ❤", s);
    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    +assert_eq!("GRüßE, JüRGEN ❤", s);
    +
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use to_ascii_lowercase().

    Examples
    -
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
    +
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
     
     s.make_ascii_lowercase();
     
    -assert_eq!("grÜße, jÜrgen ❤", s);
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +assert_eq!("grÜße, jÜrgen ❤", s);
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for ADVANCE_INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for ADVANCE_INDEX

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for ADVANCE_INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for ADVANCE_INDEX

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 b454b5e1..dbafe329 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html @@ -1,23 +1,24 @@ -AdvanceIndexPage in mcaptcha::pages::panel::sitekey::add - Rust
    pub struct AdvanceIndexPage<'a> {
    -    pub levels: usize,
    -    pub form_title: &'a str,
    -    pub form_description: &'a str,
    -    pub form_duration: usize,
    -}

    Fields§

    §levels: usize§form_title: &'a str§form_description: &'a str§form_duration: usize

    Trait Implementations§

    source§

    impl<'a> Clone for AdvanceIndexPage<'a>

    source§

    fn clone(&self) -> AdvanceIndexPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Default for AdvanceIndexPage<'a>

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'a> TemplateOnce for AdvanceIndexPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for AdvanceIndexPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>

    §

    impl<'a> Send for AdvanceIndexPage<'a>

    §

    impl<'a> Sync for AdvanceIndexPage<'a>

    §

    impl<'a> Unpin for AdvanceIndexPage<'a>

    §

    impl<'a> UnwindSafe for AdvanceIndexPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +AdvanceIndexPage in mcaptcha::pages::panel::sitekey::add - Rust +
    pub struct AdvanceIndexPage<'a> {
    +    pub levels: usize,
    +    pub form_title: &'a str,
    +    pub form_description: &'a str,
    +    pub form_duration: usize,
    +}

    Fields§

    §levels: usize§form_title: &'a str§form_description: &'a str§form_duration: usize

    Trait Implementations§

    source§

    impl<'a> Clone for AdvanceIndexPage<'a>

    source§

    fn clone(&self) -> AdvanceIndexPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Default for AdvanceIndexPage<'a>

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'a> TemplateOnce for AdvanceIndexPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for AdvanceIndexPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>

    §

    impl<'a> Send for AdvanceIndexPage<'a>

    §

    impl<'a> Sync for AdvanceIndexPage<'a>

    §

    impl<'a> Unpin for AdvanceIndexPage<'a>

    §

    impl<'a> UnwindSafe for AdvanceIndexPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d35a8f70..fdf0bf86 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html @@ -1,61 +1,62 @@ -EASY_INDEX in mcaptcha::pages::panel::sitekey::add - Rust
    struct EASY_INDEX {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    +EASY_INDEX in mcaptcha::pages::panel::sitekey::add - Rust +
    struct EASY_INDEX {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    Examples
    -
    let s = String::from("foo");
    +
    let s = String::from("foo");
     
    -assert_eq!("foo", s.as_str());
    -
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    +assert_eq!("foo", s.as_str());
    +
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    Examples
    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples
    -
    let s = String::from("hello");
    +
    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or +

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let a = String::from("foo");
    +
    let a = String::from("foo");
     assert_eq!(a.len(), 3);
     
    -let fancy_f = String::from("ƒoo");
    +let fancy_f = String::from("ƒoo");
     assert_eq!(fancy_f.len(), 4);
     assert_eq!(fancy_f.chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    Examples
    let mut v = String::new();
     assert!(v.is_empty());
     
    -v.push('a');
    +v.push('a');
     assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -66,7 +67,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -74,32 +75,32 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -107,13 +108,13 @@ before the borrow ends and the underlying str is used.

    Examples

    Basic usage:

    -
    let mut s = String::from("Hello");
    +
    let mut s = String::from("Hello");
     let bytes = unsafe { s.as_bytes_mut() };
     
    -assert_eq!(b"Hello", bytes);
    +assert_eq!(b"Hello", bytes);

    Mutability:

    -
    let mut s = String::from("🗻∈🌏");
    +
    let mut s = String::from("🗻∈🌏");
     
     unsafe {
         let bytes = s.as_bytes_mut();
    @@ -124,30 +125,30 @@ before the borrow ends and the underlying str is used.

    bytes[3] = 0x94; } -assert_eq!("🍔∈🌏", s);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +assert_eq!("🍔∈🌏", s);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    +
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -155,33 +156,33 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub fn get_mut<I>( +

    1.20.0 · source

    pub fn get_mut<I>( &mut self, i: I -) -> Option<&mut <I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a mutable subslice of str.

    +) -> Option<&mut <I as SliceIndex<str>>::Output>
    where + I: SliceIndex<str>,

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    -
    let mut v = String::from("hello");
    +
    let mut v = String::from("hello");
     // correct length
     assert!(v.get_mut(0..5).is_some());
     // out of bounds
     assert!(v.get_mut(..42).is_none());
    -assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
    +assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
     
    -assert_eq!("hello", v);
    +assert_eq!("hello", v);
     {
         let s = v.get_mut(0..2);
         let s = s.map(|s| {
             s.make_ascii_uppercase();
             &*s
         });
    -    assert_eq!(Some("HE"), s);
    +    assert_eq!(Some("HE"), s);
     }
    -assert_eq!("HEllo", v);
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +assert_eq!("HEllo", v);
    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -194,17 +195,17 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( &mut self, i: I -) -> &mut <I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    +) -> &mut <I as SliceIndex<str>>::Output
    where + I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -217,20 +218,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let mut v = String::from("🗻∈🌏");
    +
    let mut v = String::from("🗻∈🌏");
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    -    assert_eq!("∈", v.get_unchecked_mut(4..7));
    -    assert_eq!("🌏", v.get_unchecked_mut(7..11));
    +    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    +    assert_eq!("∈", v.get_unchecked_mut(4..7));
    +    assert_eq!("🌏", v.get_unchecked_mut(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -240,29 +241,29 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( +

    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( &mut self, - begin: usize, - end: usize -) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety + begin: usize, + end: usize +) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -271,188 +272,188 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    Examples
    -
    let mut s = "Per Martin-Löf".to_string();
    +
    let mut s = "Per Martin-Löf".to_string();
     {
         let (first, last) = s.split_at_mut(3);
         first.make_ascii_uppercase();
    -    assert_eq!("PER", first);
    -    assert_eq!(" Martin-Löf", last);
    +    assert_eq!("PER", first);
    +    assert_eq!(" Martin-Löf", last);
     }
    -assert_eq!("PER Martin-Löf", s);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("PER Martin-Löf", s);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -465,277 +466,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -743,177 +744,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -924,16 +925,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -944,16 +945,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -964,17 +965,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -985,37 +986,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -1023,39 +1024,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -1065,18 +1066,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -1084,16 +1085,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -1103,260 +1104,288 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    +
    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"));
    +
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use to_ascii_uppercase().

    Examples
    -
    let mut s = String::from("Grüße, Jürgen ❤");
    +
    let mut s = String::from("Grüße, Jürgen ❤");
     
     s.make_ascii_uppercase();
     
    -assert_eq!("GRüßE, JüRGEN ❤", s);
    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    +assert_eq!("GRüßE, JüRGEN ❤", s);
    +
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use to_ascii_lowercase().

    Examples
    -
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
    +
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
     
     s.make_ascii_lowercase();
     
    -assert_eq!("grÜße, jÜrgen ❤", s);
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +assert_eq!("grÜße, jÜrgen ❤", s);
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for EASY_INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for EASY_INDEX

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for EASY_INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for EASY_INDEX

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 97e2d573..b01c63eb 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html @@ -1,24 +1,25 @@ -EasyIndexPage in mcaptcha::pages::panel::sitekey::add - Rust
    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 str§form_title: &'a str§peak_sustainable_traffic: Option<usize>§avg_traffic: Option<usize>§broke_my_site_traffic: Option<usize>

    Trait Implementations§

    source§

    impl<'a> Clone for EasyIndexPage<'a>

    source§

    fn clone(&self) -> EasyIndexPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Default for EasyIndexPage<'a>

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'a> TemplateOnce for EasyIndexPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for EasyIndexPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for EasyIndexPage<'a>

    §

    impl<'a> Send for EasyIndexPage<'a>

    §

    impl<'a> Sync for EasyIndexPage<'a>

    §

    impl<'a> Unpin for EasyIndexPage<'a>

    §

    impl<'a> UnwindSafe for EasyIndexPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +EasyIndexPage in mcaptcha::pages::panel::sitekey::add - Rust +
    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 str§form_title: &'a str§peak_sustainable_traffic: Option<usize>§avg_traffic: Option<usize>§broke_my_site_traffic: Option<usize>

    Trait Implementations§

    source§

    impl<'a> Clone for EasyIndexPage<'a>

    source§

    fn clone(&self) -> EasyIndexPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Default for EasyIndexPage<'a>

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'a> TemplateOnce for EasyIndexPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for EasyIndexPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for EasyIndexPage<'a>

    §

    impl<'a> Send for EasyIndexPage<'a>

    §

    impl<'a> Sync for EasyIndexPage<'a>

    §

    impl<'a> Unpin for EasyIndexPage<'a>

    §

    impl<'a> UnwindSafe for EasyIndexPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 0f6d3f37..9181962f 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.advance.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.advance.html @@ -1,17 +1,18 @@ -advance in mcaptcha::pages::panel::sitekey::add - Rust
    pub struct advance;

    Trait Implementations§

    source§

    impl HttpServiceFactory for advance

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +advance in mcaptcha::pages::panel::sitekey::add - Rust +
    pub struct advance;

    Trait Implementations§

    source§

    impl HttpServiceFactory for advance

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d17e065c..47980924 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.easy.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.easy.html @@ -1,17 +1,18 @@ -easy in mcaptcha::pages::panel::sitekey::add - Rust

    Struct mcaptcha::pages::panel::sitekey::add::easy

    source ·
    pub struct easy;

    Trait Implementations§

    source§

    impl HttpServiceFactory for easy

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for easy

    §

    impl Send for easy

    §

    impl Sync for easy

    §

    impl Unpin for easy

    §

    impl UnwindSafe for easy

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +easy in mcaptcha::pages::panel::sitekey::add - Rust +

    Struct mcaptcha::pages::panel::sitekey::add::easy

    source ·
    pub struct easy;

    Trait Implementations§

    source§

    impl HttpServiceFactory for easy

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for easy

    §

    impl Send for easy

    §

    impl Sync for easy

    §

    impl Unpin for easy

    §

    impl UnwindSafe for easy

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 c5a67075..9cd0e2d9 100644 --- a/mcaptcha/pages/panel/sitekey/delete/index.html +++ b/mcaptcha/pages/panel/sitekey/delete/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::sitekey::delete - Rust
    \ No newline at end of file +mcaptcha::pages::panel::sitekey::delete - Rust +
    \ 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 5b4a6a25..a43bcccd 100644 --- a/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html +++ b/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html @@ -1,17 +1,18 @@ -delete_sitekey in mcaptcha::pages::panel::sitekey::delete - Rust
    pub struct delete_sitekey;

    Trait Implementations§

    source§

    impl HttpServiceFactory for delete_sitekey

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +delete_sitekey in mcaptcha::pages::panel::sitekey::delete - Rust +
    pub struct delete_sitekey;

    Trait Implementations§

    source§

    impl HttpServiceFactory for delete_sitekey

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 2c0d6577..920076a2 100644 --- a/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::panel::sitekey::edit - Rust

    Constant mcaptcha::pages::panel::sitekey::edit::PAGE

    source ·
    const PAGE: &str = "Edit Sitekey";
    \ No newline at end of file +PAGE in mcaptcha::pages::panel::sitekey::edit - Rust +

    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 2108530a..cb950149 100644 --- a/mcaptcha/pages/panel/sitekey/edit/index.html +++ b/mcaptcha/pages/panel/sitekey/edit/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::sitekey::edit - Rust

    Module mcaptcha::pages::panel::sitekey::edit

    source ·

    Structs

    Constants

    \ No newline at end of file +mcaptcha::pages::panel::sitekey::edit - Rust +

    Module mcaptcha::pages::panel::sitekey::edit

    source ·

    Structs

    Constants

    \ 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 34040250..4df1d073 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html @@ -1,29 +1,30 @@ -AdvanceEditPage in mcaptcha::pages::panel::sitekey::edit - Rust
    struct AdvanceEditPage {
    -    duration: u32,
    -    name: String,
    -    key: String,
    -    levels: Vec<Level>,
    -    publish_benchmarks: bool,
    -}

    Fields§

    §duration: u32§name: String§key: String§levels: Vec<Level>§publish_benchmarks: bool

    Implementations§

    source§

    impl AdvanceEditPage

    source

    fn new( +AdvanceEditPage in mcaptcha::pages::panel::sitekey::edit - Rust +
    struct AdvanceEditPage {
    +    duration: u32,
    +    name: String,
    +    key: String,
    +    levels: Vec<Level>,
    +    publish_benchmarks: bool,
    +}

    Fields§

    §duration: u32§name: String§key: String§levels: Vec<Level>§publish_benchmarks: bool

    Implementations§

    source§

    impl AdvanceEditPage

    source

    fn new( config: Captcha, - levels: Vec<Level>, - key: String, - publish_benchmarks: bool -) -> Self

    Trait Implementations§

    source§

    impl Clone for AdvanceEditPage

    source§

    fn clone(&self) -> AdvanceEditPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for AdvanceEditPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for AdvanceEditPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + levels: Vec<Level>, + key: String, + publish_benchmarks: bool +) -> Self

    Trait Implementations§

    source§

    impl Clone for AdvanceEditPage

    source§

    fn clone(&self) -> AdvanceEditPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for AdvanceEditPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for AdvanceEditPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d267dcdf..3e53f121 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html @@ -1,22 +1,23 @@ -EasyEditPage in mcaptcha::pages::panel::sitekey::edit - Rust
    pub struct EasyEditPage<'a> {
    -    pub form_title: &'a str,
    +EasyEditPage in mcaptcha::pages::panel::sitekey::edit - Rust
    +    
    pub struct EasyEditPage<'a> {
    +    pub form_title: &'a str,
         pub pattern: TrafficPatternRequest,
    -    pub key: String,
    -}

    Fields§

    §form_title: &'a str§pattern: TrafficPatternRequest§key: String

    Implementations§

    source§

    impl<'a> EasyEditPage<'a>

    source

    pub fn new(key: String, pattern: TrafficPatternRequest) -> Self

    Trait Implementations§

    source§

    impl<'a> Clone for EasyEditPage<'a>

    source§

    fn clone(&self) -> EasyEditPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> TemplateOnce for EasyEditPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for EasyEditPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for EasyEditPage<'a>

    §

    impl<'a> Send for EasyEditPage<'a>

    §

    impl<'a> Sync for EasyEditPage<'a>

    §

    impl<'a> Unpin for EasyEditPage<'a>

    §

    impl<'a> UnwindSafe for EasyEditPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + pub key: String, +}

    Fields§

    §form_title: &'a str§pattern: TrafficPatternRequest§key: String

    Implementations§

    source§

    impl<'a> EasyEditPage<'a>

    source

    pub fn new(key: String, pattern: TrafficPatternRequest) -> Self

    Trait Implementations§

    source§

    impl<'a> Clone for EasyEditPage<'a>

    source§

    fn clone(&self) -> EasyEditPage<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> TemplateOnce for EasyEditPage<'a>

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl<'a> Sealed for EasyEditPage<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for EasyEditPage<'a>

    §

    impl<'a> Send for EasyEditPage<'a>

    §

    impl<'a> Sync for EasyEditPage<'a>

    §

    impl<'a> Unpin for EasyEditPage<'a>

    §

    impl<'a> UnwindSafe for EasyEditPage<'a>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 481b8187..f144397e 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.advance.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.advance.html @@ -1,18 +1,19 @@ -advance in mcaptcha::pages::panel::sitekey::edit - Rust
    pub struct advance;
    Expand description

    route handler that renders individual views for sitekeys

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for advance

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +advance in mcaptcha::pages::panel::sitekey::edit - Rust +
    pub struct advance;
    Expand description

    route handler that renders individual views for sitekeys

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for advance

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 815e68ac..43ccbffb 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.easy.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.easy.html @@ -1,18 +1,19 @@ -easy in mcaptcha::pages::panel::sitekey::edit - Rust

    Struct mcaptcha::pages::panel::sitekey::edit::easy

    source ·
    pub struct easy;
    Expand description

    route handler that renders individual views for sitekeys

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for easy

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for easy

    §

    impl Send for easy

    §

    impl Sync for easy

    §

    impl Unpin for easy

    §

    impl UnwindSafe for easy

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +easy in mcaptcha::pages::panel::sitekey::edit - Rust +

    Struct mcaptcha::pages::panel::sitekey::edit::easy

    source ·
    pub struct easy;
    Expand description

    route handler that renders individual views for sitekeys

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for easy

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for easy

    §

    impl Send for easy

    §

    impl Sync for easy

    §

    impl Unpin for easy

    §

    impl UnwindSafe for easy

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 116c012f..32459d47 100644 --- a/mcaptcha/pages/panel/sitekey/fn.services.html +++ b/mcaptcha/pages/panel/sitekey/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::pages::panel::sitekey - Rust

    Function mcaptcha::pages::panel::sitekey::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::pages::panel::sitekey - Rust +

    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 5ded011e..e5032236 100644 --- a/mcaptcha/pages/panel/sitekey/index.html +++ b/mcaptcha/pages/panel/sitekey/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::sitekey - Rust
    \ No newline at end of file +mcaptcha::pages::panel::sitekey - Rust +
    \ 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 d06e1cab..73894f29 100644 --- a/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::panel::sitekey::list - Rust

    Constant mcaptcha::pages::panel::sitekey::list::PAGE

    source ·
    const PAGE: &str = "SiteKeys";
    \ No newline at end of file +PAGE in mcaptcha::pages::panel::sitekey::list - Rust +

    Constant mcaptcha::pages::panel::sitekey::list::PAGE

    source ·
    const PAGE: &str = "SiteKeys";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/index.html b/mcaptcha/pages/panel/sitekey/list/index.html index 63d561bc..b2c13a0a 100644 --- a/mcaptcha/pages/panel/sitekey/list/index.html +++ b/mcaptcha/pages/panel/sitekey/list/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::sitekey::list - Rust

    Module mcaptcha::pages::panel::sitekey::list

    source ·

    Structs

    Constants

    \ No newline at end of file +mcaptcha::pages::panel::sitekey::list - Rust +

    Module mcaptcha::pages::panel::sitekey::list

    source ·

    Structs

    Constants

    \ 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 73bb2c28..d67649f2 100644 --- a/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html +++ b/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html @@ -1,20 +1,21 @@ -IndexPage in mcaptcha::pages::panel::sitekey::list - Rust
    pub struct IndexPage {
    -    sitekeys: Vec<Captcha>,
    -}

    Fields§

    §sitekeys: Vec<Captcha>

    Implementations§

    source§

    impl IndexPage

    source

    fn new(sitekeys: Vec<Captcha>) -> Self

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +IndexPage in mcaptcha::pages::panel::sitekey::list - Rust +
    pub struct IndexPage {
    +    sitekeys: Vec<Captcha>,
    +}

    Fields§

    §sitekeys: Vec<Captcha>

    Implementations§

    source§

    impl IndexPage

    source

    fn new(sitekeys: Vec<Captcha>) -> Self

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d26aaa98..2b28e6fd 100644 --- a/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html +++ b/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html @@ -1,18 +1,19 @@ -list_sitekeys in mcaptcha::pages::panel::sitekey::list - Rust
    pub struct list_sitekeys;
    Expand description

    render a list of all sitekeys that a user has

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for list_sitekeys

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +list_sitekeys in mcaptcha::pages::panel::sitekey::list - Rust +
    pub struct list_sitekeys;
    Expand description

    render a list of all sitekeys that a user has

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for list_sitekeys

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/routes/index.html b/mcaptcha/pages/panel/sitekey/routes/index.html index e8be2e73..572e9895 100644 --- a/mcaptcha/pages/panel/sitekey/routes/index.html +++ b/mcaptcha/pages/panel/sitekey/routes/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::sitekey::routes - Rust
    \ No newline at end of file +mcaptcha::pages::panel::sitekey::routes - Rust +
    \ 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 40537a56..9a70097c 100644 --- a/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html +++ b/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html @@ -1,25 +1,26 @@ -Sitekey in mcaptcha::pages::panel::sitekey::routes - Rust
    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 str§add_easy: &'static str§add_advance: &'static str§view: &'static str§edit_easy: &'static str§edit_advance: &'static str§delete: &'static str

    Implementations§

    source§

    impl Sitekey

    source

    pub const fn new() -> Self

    source

    pub const fn get_sitemap() -> [&'static str; 2]

    source

    pub fn get_edit_easy(&self, key: &str) -> String

    source

    pub fn get_edit_advance(&self, key: &str) -> String

    source

    pub fn get_view(&self, key: &str) -> String

    source

    pub fn get_delete(&self, key: &str) -> String

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Sitekey in mcaptcha::pages::panel::sitekey::routes - Rust +
    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 str§add_easy: &'static str§add_advance: &'static str§view: &'static str§edit_easy: &'static str§edit_advance: &'static str§delete: &'static str

    Implementations§

    source§

    impl Sitekey

    source

    pub const fn new() -> Self

    source

    pub const fn get_sitemap() -> [&'static str; 2]

    source

    pub fn get_edit_easy(&self, key: &str) -> String

    source

    pub fn get_edit_advance(&self, key: &str) -> String

    source

    pub fn get_view(&self, key: &str) -> String

    source

    pub fn get_delete(&self, key: &str) -> String

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b02dc36b..9e51fc4e 100644 --- a/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::panel::sitekey::view - Rust

    Constant mcaptcha::pages::panel::sitekey::view::PAGE

    source ·
    const PAGE: &str = "SiteKeys";
    \ No newline at end of file +PAGE in mcaptcha::pages::panel::sitekey::view - Rust +

    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 206cc567..a9f99f46 100644 --- a/mcaptcha/pages/panel/sitekey/view/index.html +++ b/mcaptcha/pages/panel/sitekey/view/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::sitekey::view - Rust

    Module mcaptcha::pages::panel::sitekey::view

    source ·

    Structs

    Constants

    \ No newline at end of file +mcaptcha::pages::panel::sitekey::view - Rust +

    Module mcaptcha::pages::panel::sitekey::view

    source ·

    Structs

    Constants

    \ 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 3fd97e0b..d0ddb102 100644 --- a/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html +++ b/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html @@ -1,31 +1,32 @@ -IndexPage in mcaptcha::pages::panel::sitekey::view - Rust
    struct IndexPage {
    -    duration: u32,
    -    name: String,
    -    key: String,
    -    levels: Vec<Level>,
    +IndexPage in mcaptcha::pages::panel::sitekey::view - Rust
    +    
    struct IndexPage {
    +    duration: u32,
    +    name: String,
    +    key: String,
    +    levels: Vec<Level>,
         stats: CaptchaStats,
    -    publish_benchmarks: bool,
    -}

    Fields§

    §duration: u32§name: String§key: String§levels: Vec<Level>§stats: CaptchaStats§publish_benchmarks: bool

    Implementations§

    source§

    impl IndexPage

    source

    fn new( + publish_benchmarks: bool, +}

    Fields§

    §duration: u32§name: String§key: String§levels: Vec<Level>§stats: CaptchaStats§publish_benchmarks: bool

    Implementations§

    source§

    impl IndexPage

    source

    fn new( stats: CaptchaStats, config: Captcha, - levels: Vec<Level>, - key: String, - publish_benchmarks: bool -) -> Self

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + levels: Vec<Level>, + key: String, + publish_benchmarks: bool +) -> Self

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 cec1c6e6..8e64e158 100644 --- a/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html +++ b/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html @@ -1,18 +1,19 @@ -view_sitekey in mcaptcha::pages::panel::sitekey::view - Rust
    pub struct view_sitekey;
    Expand description

    route handler that renders individual views for sitekeys

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for view_sitekey

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +view_sitekey in mcaptcha::pages::panel::sitekey::view - Rust +
    pub struct view_sitekey;
    Expand description

    route handler that renders individual views for sitekeys

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for view_sitekey

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d421144b..468705ee 100644 --- a/mcaptcha/pages/panel/struct.IndexPage.html +++ b/mcaptcha/pages/panel/struct.IndexPage.html @@ -1,20 +1,21 @@ -IndexPage in mcaptcha::pages::panel - Rust

    Struct mcaptcha::pages::panel::IndexPage

    source ·
    pub struct IndexPage {
    -    sitekeys: Vec<Captcha>,
    -}

    Fields§

    §sitekeys: Vec<Captcha>

    Implementations§

    source§

    impl IndexPage

    source

    fn new(sitekeys: Vec<Captcha>) -> Self

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +IndexPage in mcaptcha::pages::panel - Rust +

    Struct mcaptcha::pages::panel::IndexPage

    source ·
    pub struct IndexPage {
    +    sitekeys: Vec<Captcha>,
    +}

    Fields§

    §sitekeys: Vec<Captcha>

    Implementations§

    source§

    impl IndexPage

    source

    fn new(sitekeys: Vec<Captcha>) -> Self

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b404a6be..a019c690 100644 --- a/mcaptcha/pages/panel/struct.panel.html +++ b/mcaptcha/pages/panel/struct.panel.html @@ -1,17 +1,18 @@ -panel in mcaptcha::pages::panel - Rust

    Struct mcaptcha::pages::panel::panel

    source ·
    pub struct panel;

    Trait Implementations§

    source§

    impl HttpServiceFactory for panel

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for panel

    §

    impl Send for panel

    §

    impl Sync for panel

    §

    impl Unpin for panel

    §

    impl UnwindSafe for panel

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +panel in mcaptcha::pages::panel - Rust +

    Struct mcaptcha::pages::panel::panel

    source ·
    pub struct panel;

    Trait Implementations§

    source§

    impl HttpServiceFactory for panel

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for panel

    §

    impl Send for panel

    §

    impl Sync for panel

    §

    impl Unpin for panel

    §

    impl UnwindSafe for panel

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/utils/constant.PAGE.html b/mcaptcha/pages/panel/utils/constant.PAGE.html index 1289b94b..b60358c9 100644 --- a/mcaptcha/pages/panel/utils/constant.PAGE.html +++ b/mcaptcha/pages/panel/utils/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::pages::panel::utils - Rust

    Constant mcaptcha::pages::panel::utils::PAGE

    source ·
    const PAGE: &str = "Difficulty factor statistics";
    \ No newline at end of file +PAGE in mcaptcha::pages::panel::utils - Rust +

    Constant mcaptcha::pages::panel::utils::PAGE

    source ·
    const PAGE: &str = "Difficulty factor statistics";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/utils/fn.services.html b/mcaptcha/pages/panel/utils/fn.services.html index 696dce72..9f5a7417 100644 --- a/mcaptcha/pages/panel/utils/fn.services.html +++ b/mcaptcha/pages/panel/utils/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::pages::panel::utils - Rust

    Function mcaptcha::pages::panel::utils::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::pages::panel::utils - Rust +

    Function mcaptcha::pages::panel::utils::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/utils/index.html b/mcaptcha/pages/panel/utils/index.html index f729ee88..828a4935 100644 --- a/mcaptcha/pages/panel/utils/index.html +++ b/mcaptcha/pages/panel/utils/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::utils - Rust
    \ No newline at end of file +mcaptcha::pages::panel::utils - Rust +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/utils/routes/index.html b/mcaptcha/pages/panel/utils/routes/index.html index 8ad27dd7..bfc1932e 100644 --- a/mcaptcha/pages/panel/utils/routes/index.html +++ b/mcaptcha/pages/panel/utils/routes/index.html @@ -1 +1,2 @@ -mcaptcha::pages::panel::utils::routes - Rust
    \ No newline at end of file +mcaptcha::pages::panel::utils::routes - Rust +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/utils/routes/struct.Utils.html b/mcaptcha/pages/panel/utils/routes/struct.Utils.html index ce495411..ce62d6ac 100644 --- a/mcaptcha/pages/panel/utils/routes/struct.Utils.html +++ b/mcaptcha/pages/panel/utils/routes/struct.Utils.html @@ -1,19 +1,20 @@ -Utils in mcaptcha::pages::panel::utils::routes - Rust
    pub struct Utils {
    -    pub percentile: &'static str,
    -}

    Fields§

    §percentile: &'static str

    Implementations§

    source§

    impl Utils

    source

    pub const fn new() -> Self

    source

    pub const fn get_sitemap() -> [&'static str; 1]

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Utils

    §

    impl Send for Utils

    §

    impl Sync for Utils

    §

    impl Unpin for Utils

    §

    impl UnwindSafe for Utils

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Utils in mcaptcha::pages::panel::utils::routes - Rust +
    pub struct Utils {
    +    pub percentile: &'static str,
    +}

    Fields§

    §percentile: &'static str

    Implementations§

    source§

    impl Utils

    source

    pub const fn new() -> Self

    source

    pub const fn get_sitemap() -> [&'static str; 1]

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Utils

    §

    impl Send for Utils

    §

    impl Sync for Utils

    §

    impl Unpin for Utils

    §

    impl UnwindSafe for Utils

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/utils/struct.PercentilePage.html b/mcaptcha/pages/panel/utils/struct.PercentilePage.html index 294ec7a8..84b24276 100644 --- a/mcaptcha/pages/panel/utils/struct.PercentilePage.html +++ b/mcaptcha/pages/panel/utils/struct.PercentilePage.html @@ -1,22 +1,23 @@ -PercentilePage in mcaptcha::pages::panel::utils - Rust
    pub struct PercentilePage {
    -    time: Option<u32>,
    -    percentile: Option<f64>,
    -    difficulty_factor: Option<u32>,
    -}

    Fields§

    §time: Option<u32>§percentile: Option<f64>§difficulty_factor: Option<u32>

    Trait Implementations§

    source§

    impl Clone for PercentilePage

    source§

    fn clone(&self) -> PercentilePage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for PercentilePage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for PercentilePage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +PercentilePage in mcaptcha::pages::panel::utils - Rust +
    pub struct PercentilePage {
    +    time: Option<u32>,
    +    percentile: Option<f64>,
    +    difficulty_factor: Option<u32>,
    +}

    Fields§

    §time: Option<u32>§percentile: Option<f64>§difficulty_factor: Option<u32>

    Trait Implementations§

    source§

    impl Clone for PercentilePage

    source§

    fn clone(&self) -> PercentilePage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for PercentilePage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for PercentilePage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/utils/struct.get_percentile.html b/mcaptcha/pages/panel/utils/struct.get_percentile.html index 77238eb9..223c2053 100644 --- a/mcaptcha/pages/panel/utils/struct.get_percentile.html +++ b/mcaptcha/pages/panel/utils/struct.get_percentile.html @@ -1,17 +1,18 @@ -get_percentile in mcaptcha::pages::panel::utils - Rust
    pub struct get_percentile;

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_percentile

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +get_percentile in mcaptcha::pages::panel::utils - Rust +
    pub struct get_percentile;

    Trait Implementations§

    source§

    impl HttpServiceFactory for get_percentile

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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/utils/struct.post_percentile.html b/mcaptcha/pages/panel/utils/struct.post_percentile.html index 28771d9f..399cad4e 100644 --- a/mcaptcha/pages/panel/utils/struct.post_percentile.html +++ b/mcaptcha/pages/panel/utils/struct.post_percentile.html @@ -1,17 +1,18 @@ -post_percentile in mcaptcha::pages::panel::utils - Rust
    pub struct post_percentile;

    Trait Implementations§

    source§

    impl HttpServiceFactory for post_percentile

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +post_percentile in mcaptcha::pages::panel::utils - Rust +
    pub struct post_percentile;

    Trait Implementations§

    source§

    impl HttpServiceFactory for post_percentile

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 b84842fb..7af77f24 100644 --- a/mcaptcha/pages/routes/constant.ROUTES.html +++ b/mcaptcha/pages/routes/constant.ROUTES.html @@ -1 +1,2 @@ -ROUTES in mcaptcha::pages::routes - Rust

    Constant mcaptcha::pages::routes::ROUTES

    source ·
    pub const ROUTES: Routes;
    \ No newline at end of file +ROUTES in mcaptcha::pages::routes - Rust +

    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 9f32a789..ac6f004a 100644 --- a/mcaptcha/pages/routes/index.html +++ b/mcaptcha/pages/routes/index.html @@ -1 +1,2 @@ -mcaptcha::pages::routes - Rust
    \ No newline at end of file +mcaptcha::pages::routes - Rust +
    \ No newline at end of file diff --git a/mcaptcha/pages/routes/struct.Routes.html b/mcaptcha/pages/routes/struct.Routes.html index 830fd782..afb187ec 100644 --- a/mcaptcha/pages/routes/struct.Routes.html +++ b/mcaptcha/pages/routes/struct.Routes.html @@ -1,28 +1,29 @@ -Routes in mcaptcha::pages::routes - Rust

    Struct mcaptcha::pages::routes::Routes

    source ·
    pub struct Routes {
    -    pub home: &'static str,
    +Routes in mcaptcha::pages::routes - Rust
    +    

    Struct mcaptcha::pages::routes::Routes

    source ·
    pub struct Routes {
    +    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 str§auth: Auth§panel: Panel§errors: Errors§about: &'static str§sitemap: &'static str§thanks: &'static str§donate: &'static str§security: &'static str§privacy: &'static str

    Implementations§

    source§

    impl Routes

    source

    const fn new() -> Routes

    source

    pub const fn get_sitemap() -> [&'static str; 7]

    Trait Implementations§

    source§

    impl GetLoginRoute for Routes

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + pub about: &'static str, + pub sitemap: &'static str, + pub thanks: &'static str, + pub donate: &'static str, + pub security: &'static str, + pub privacy: &'static str, +}

    Fields§

    §home: &'static str§auth: Auth§panel: Panel§errors: Errors§about: &'static str§sitemap: &'static str§thanks: &'static str§donate: &'static str§security: &'static str§privacy: &'static str

    Implementations§

    source§

    impl Routes

    source

    const fn new() -> Routes

    source

    pub const fn get_sitemap() -> [&'static str; 7]

    Trait Implementations§

    source§

    impl GetLoginRoute for Routes

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 10a7ea35..c52a4532 100644 --- a/mcaptcha/pages/sitemap/index.html +++ b/mcaptcha/pages/sitemap/index.html @@ -1 +1,2 @@ -mcaptcha::pages::sitemap - Rust
    \ No newline at end of file +mcaptcha::pages::sitemap - Rust +
    \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/struct.INDEX.html b/mcaptcha/pages/sitemap/struct.INDEX.html index 1ebc5270..35cb0c0c 100644 --- a/mcaptcha/pages/sitemap/struct.INDEX.html +++ b/mcaptcha/pages/sitemap/struct.INDEX.html @@ -1,61 +1,62 @@ -INDEX in mcaptcha::pages::sitemap - Rust

    Struct mcaptcha::pages::sitemap::INDEX

    source ·
    struct INDEX {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    +INDEX in mcaptcha::pages::sitemap - Rust +

    Struct mcaptcha::pages::sitemap::INDEX

    source ·
    struct INDEX {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    Examples
    -
    let s = String::from("foo");
    +
    let s = String::from("foo");
     
    -assert_eq!("foo", s.as_str());
    -
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    +assert_eq!("foo", s.as_str());
    +
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    Examples
    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples
    -
    let s = String::from("hello");
    +
    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or +

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let a = String::from("foo");
    +
    let a = String::from("foo");
     assert_eq!(a.len(), 3);
     
    -let fancy_f = String::from("ƒoo");
    +let fancy_f = String::from("ƒoo");
     assert_eq!(fancy_f.len(), 4);
     assert_eq!(fancy_f.chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    Examples
    let mut v = String::new();
     assert!(v.is_empty());
     
    -v.push('a');
    +v.push('a');
     assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -66,7 +67,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -74,32 +75,32 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -107,13 +108,13 @@ before the borrow ends and the underlying str is used.

    Examples

    Basic usage:

    -
    let mut s = String::from("Hello");
    +
    let mut s = String::from("Hello");
     let bytes = unsafe { s.as_bytes_mut() };
     
    -assert_eq!(b"Hello", bytes);
    +assert_eq!(b"Hello", bytes);

    Mutability:

    -
    let mut s = String::from("🗻∈🌏");
    +
    let mut s = String::from("🗻∈🌏");
     
     unsafe {
         let bytes = s.as_bytes_mut();
    @@ -124,30 +125,30 @@ before the borrow ends and the underlying str is used.

    bytes[3] = 0x94; } -assert_eq!("🍔∈🌏", s);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +assert_eq!("🍔∈🌏", s);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    +
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -155,33 +156,33 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub fn get_mut<I>( +

    1.20.0 · source

    pub fn get_mut<I>( &mut self, i: I -) -> Option<&mut <I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a mutable subslice of str.

    +) -> Option<&mut <I as SliceIndex<str>>::Output>
    where + I: SliceIndex<str>,

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    -
    let mut v = String::from("hello");
    +
    let mut v = String::from("hello");
     // correct length
     assert!(v.get_mut(0..5).is_some());
     // out of bounds
     assert!(v.get_mut(..42).is_none());
    -assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
    +assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
     
    -assert_eq!("hello", v);
    +assert_eq!("hello", v);
     {
         let s = v.get_mut(0..2);
         let s = s.map(|s| {
             s.make_ascii_uppercase();
             &*s
         });
    -    assert_eq!(Some("HE"), s);
    +    assert_eq!(Some("HE"), s);
     }
    -assert_eq!("HEllo", v);
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +assert_eq!("HEllo", v);
    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -194,17 +195,17 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( &mut self, i: I -) -> &mut <I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    +) -> &mut <I as SliceIndex<str>>::Output
    where + I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -217,20 +218,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let mut v = String::from("🗻∈🌏");
    +
    let mut v = String::from("🗻∈🌏");
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    -    assert_eq!("∈", v.get_unchecked_mut(4..7));
    -    assert_eq!("🌏", v.get_unchecked_mut(7..11));
    +    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    +    assert_eq!("∈", v.get_unchecked_mut(4..7));
    +    assert_eq!("🌏", v.get_unchecked_mut(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -240,29 +241,29 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( +

    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( &mut self, - begin: usize, - end: usize -) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety + begin: usize, + end: usize +) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -271,188 +272,188 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    Examples
    -
    let mut s = "Per Martin-Löf".to_string();
    +
    let mut s = "Per Martin-Löf".to_string();
     {
         let (first, last) = s.split_at_mut(3);
         first.make_ascii_uppercase();
    -    assert_eq!("PER", first);
    -    assert_eq!(" Martin-Löf", last);
    +    assert_eq!("PER", first);
    +    assert_eq!(" Martin-Löf", last);
     }
    -assert_eq!("PER Martin-Löf", s);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("PER Martin-Löf", s);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -465,277 +466,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -743,177 +744,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -924,16 +925,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -944,16 +945,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -964,17 +965,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -985,37 +986,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -1023,39 +1024,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -1065,18 +1066,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -1084,16 +1085,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -1103,260 +1104,288 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    +
    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"));
    +
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use to_ascii_uppercase().

    Examples
    -
    let mut s = String::from("Grüße, Jürgen ❤");
    +
    let mut s = String::from("Grüße, Jürgen ❤");
     
     s.make_ascii_uppercase();
     
    -assert_eq!("GRüßE, JüRGEN ❤", s);
    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    +assert_eq!("GRüßE, JüRGEN ❤", s);
    +
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use to_ascii_lowercase().

    Examples
    -
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
    +
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
     
     s.make_ascii_lowercase();
     
    -assert_eq!("grÜße, jÜrgen ❤", s);
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +assert_eq!("grÜße, jÜrgen ❤", s);
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INDEX

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for INDEX

    §

    impl Send for INDEX

    §

    impl Sync for INDEX

    §

    impl Unpin for INDEX

    §

    impl UnwindSafe for INDEX

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for INDEX

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INDEX

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for INDEX

    §

    impl Send for INDEX

    §

    impl Sync for INDEX

    §

    impl Unpin for INDEX

    §

    impl UnwindSafe for INDEX

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 c0b7134c..9d9db15b 100644 --- a/mcaptcha/pages/sitemap/struct.IndexPage.html +++ b/mcaptcha/pages/sitemap/struct.IndexPage.html @@ -1,21 +1,22 @@ -IndexPage in mcaptcha::pages::sitemap - Rust
    struct IndexPage {
    -    urls: [&'static str; 7],
    -    domain: &'static str,
    -}

    Fields§

    §urls: [&'static str; 7]§domain: &'static str

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IndexPage

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +IndexPage in mcaptcha::pages::sitemap - Rust +
    struct IndexPage {
    +    urls: [&'static str; 7],
    +    domain: &'static str,
    +}

    Fields§

    §urls: [&'static str; 7]§domain: &'static str

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IndexPage

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 6da5d5fe..eb179b27 100644 --- a/mcaptcha/pages/sitemap/struct.sitemap.html +++ b/mcaptcha/pages/sitemap/struct.sitemap.html @@ -1,17 +1,18 @@ -sitemap in mcaptcha::pages::sitemap - Rust

    Struct mcaptcha::pages::sitemap::sitemap

    source ·
    pub struct sitemap;

    Trait Implementations§

    source§

    impl HttpServiceFactory for sitemap

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +sitemap in mcaptcha::pages::sitemap - Rust +

    Struct mcaptcha::pages::sitemap::sitemap

    source ·
    pub struct sitemap;

    Trait Implementations§

    source§

    impl HttpServiceFactory for sitemap

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 24c4b7cd..62841a97 100644 --- a/mcaptcha/routes/fn.services.html +++ b/mcaptcha/routes/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::routes - Rust

    Function mcaptcha::routes::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::routes - Rust +

    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 6703b814..0a5bf18e 100644 --- a/mcaptcha/routes/index.html +++ b/mcaptcha/routes/index.html @@ -1 +1,2 @@ -mcaptcha::routes - Rust
    \ No newline at end of file +mcaptcha::routes - Rust +
    \ No newline at end of file diff --git a/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html b/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html index 1b001c3a..cfa36e46 100644 --- a/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html +++ b/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html @@ -1 +1,2 @@ -DEPRECATED_ENV_VARS in mcaptcha::settings - Rust
    const DEPRECATED_ENV_VARS: [(&str, &str); 23];
    \ No newline at end of file +DEPRECATED_ENV_VARS in mcaptcha::settings - Rust +
    const DEPRECATED_ENV_VARS: [(&str, &str); 23];
    \ No newline at end of file diff --git a/mcaptcha/settings/constant.ENV_VAR_CONFIG.html b/mcaptcha/settings/constant.ENV_VAR_CONFIG.html index 31318932..03f64dcf 100644 --- a/mcaptcha/settings/constant.ENV_VAR_CONFIG.html +++ b/mcaptcha/settings/constant.ENV_VAR_CONFIG.html @@ -1 +1,2 @@ -ENV_VAR_CONFIG in mcaptcha::settings - Rust
    const ENV_VAR_CONFIG: [(&str, &str); 32];
    \ No newline at end of file +ENV_VAR_CONFIG in mcaptcha::settings - Rust +
    const ENV_VAR_CONFIG: [(&str, &str); 32];
    \ No newline at end of file diff --git a/mcaptcha/settings/enum.DBType.html b/mcaptcha/settings/enum.DBType.html index b46efaed..33b960d2 100644 --- a/mcaptcha/settings/enum.DBType.html +++ b/mcaptcha/settings/enum.DBType.html @@ -1,33 +1,34 @@ -DBType in mcaptcha::settings - Rust
    pub enum DBType {
    +DBType in mcaptcha::settings - Rust
    +    
    pub enum DBType {
         Postgres,
         Maria,
    -}

    Variants§

    §

    Postgres

    §

    Maria

    Implementations§

    source§

    impl DBType

    source

    fn from_url(url: &Url) -> Result<Self, ConfigError>

    Trait Implementations§

    source§

    impl Clone for DBType

    source§

    fn clone(&self) -> DBType

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DBType

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DBType

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for DBType

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for DBType

    source§

    fn eq(&self, other: &DBType) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for DBType

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for DBType

    source§

    impl StructuralEq for DBType

    source§

    impl StructuralPartialEq for DBType

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Variants§

    §

    Postgres

    §

    Maria

    Implementations§

    source§

    impl DBType

    source

    fn from_url(url: &Url) -> Result<Self, ConfigError>

    Trait Implementations§

    source§

    impl Clone for DBType

    source§

    fn clone(&self) -> DBType

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DBType

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DBType

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for DBType

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for DBType

    source§

    fn eq(&self, other: &DBType) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for DBType

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for DBType

    source§

    impl StructuralEq for DBType

    source§

    impl StructuralPartialEq for DBType

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/settings/index.html b/mcaptcha/settings/index.html index e7e3f314..37bedf9a 100644 --- a/mcaptcha/settings/index.html +++ b/mcaptcha/settings/index.html @@ -1 +1,2 @@ -mcaptcha::settings - Rust
    \ No newline at end of file +mcaptcha::settings - Rust +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Captcha.html b/mcaptcha/settings/struct.Captcha.html index a562c74f..fb35fcb3 100644 --- a/mcaptcha/settings/struct.Captcha.html +++ b/mcaptcha/settings/struct.Captcha.html @@ -1,35 +1,36 @@ -Captcha in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Captcha

    source ·
    pub struct Captcha {
    -    pub salt: String,
    -    pub gc: u64,
    -    pub runners: Option<usize>,
    -    pub queue_length: usize,
    -    pub enable_stats: bool,
    +Captcha in mcaptcha::settings - Rust
    +    

    Struct mcaptcha::settings::Captcha

    source ·
    pub struct Captcha {
    +    pub salt: String,
    +    pub gc: u64,
    +    pub runners: Option<usize>,
    +    pub queue_length: usize,
    +    pub enable_stats: bool,
         pub default_difficulty_strategy: DefaultDifficultyStrategy,
    -}

    Fields§

    §salt: String§gc: u64§runners: Option<usize>§queue_length: usize§enable_stats: bool§default_difficulty_strategy: DefaultDifficultyStrategy

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Captcha

    source§

    impl StructuralEq for Captcha

    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Fields§

    §salt: String§gc: u64§runners: Option<usize>§queue_length: usize§enable_stats: bool§default_difficulty_strategy: DefaultDifficultyStrategy

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Captcha

    source§

    impl StructuralEq for Captcha

    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Database.html b/mcaptcha/settings/struct.Database.html index 92cc9b2f..6467d017 100644 --- a/mcaptcha/settings/struct.Database.html +++ b/mcaptcha/settings/struct.Database.html @@ -1,32 +1,33 @@ -Database in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Database

    source ·
    pub struct Database {
    -    pub url: String,
    -    pub pool: u32,
    +Database in mcaptcha::settings - Rust
    +    

    Struct mcaptcha::settings::Database

    source ·
    pub struct Database {
    +    pub url: String,
    +    pub pool: u32,
         pub database_type: DBType,
    -}

    Fields§

    §url: String§pool: u32§database_type: DBType

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Database

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Database

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Database

    source§

    fn eq(&self, other: &Database) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Database

    source§

    impl StructuralEq for Database

    source§

    impl StructuralPartialEq for Database

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Fields§

    §url: String§pool: u32§database_type: DBType

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Database

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Database

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Database

    source§

    fn eq(&self, other: &Database) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Database

    source§

    impl StructuralEq for Database

    source§

    impl StructuralPartialEq for Database

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html index af54304e..e80c545b 100644 --- a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html +++ b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html @@ -1,36 +1,37 @@ -DefaultDifficultyStrategy in mcaptcha::settings - Rust
    pub struct DefaultDifficultyStrategy {
    -    pub avg_traffic_difficulty: u32,
    -    pub avg_traffic_time: Option<u32>,
    -    pub peak_sustainable_traffic_difficulty: u32,
    -    pub peak_sustainable_traffic_time: Option<u32>,
    -    pub broke_my_site_traffic_time: Option<u32>,
    -    pub broke_my_site_traffic_difficulty: u32,
    -    pub duration: u32,
    -}

    Fields§

    §avg_traffic_difficulty: u32§avg_traffic_time: Option<u32>§peak_sustainable_traffic_difficulty: u32§peak_sustainable_traffic_time: Option<u32>§broke_my_site_traffic_time: Option<u32>§broke_my_site_traffic_difficulty: u32§duration: u32

    Trait Implementations§

    source§

    impl Clone for DefaultDifficultyStrategy

    source§

    fn clone(&self) -> DefaultDifficultyStrategy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DefaultDifficultyStrategy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DefaultDifficultyStrategy

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for DefaultDifficultyStrategy

    source§

    fn eq(&self, other: &DefaultDifficultyStrategy) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for DefaultDifficultyStrategy

    source§

    impl StructuralEq for DefaultDifficultyStrategy

    source§

    impl StructuralPartialEq for DefaultDifficultyStrategy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +DefaultDifficultyStrategy in mcaptcha::settings - Rust +
    pub struct DefaultDifficultyStrategy {
    +    pub avg_traffic_difficulty: u32,
    +    pub avg_traffic_time: Option<u32>,
    +    pub peak_sustainable_traffic_difficulty: u32,
    +    pub peak_sustainable_traffic_time: Option<u32>,
    +    pub broke_my_site_traffic_time: Option<u32>,
    +    pub broke_my_site_traffic_difficulty: u32,
    +    pub duration: u32,
    +}

    Fields§

    §avg_traffic_difficulty: u32§avg_traffic_time: Option<u32>§peak_sustainable_traffic_difficulty: u32§peak_sustainable_traffic_time: Option<u32>§broke_my_site_traffic_time: Option<u32>§broke_my_site_traffic_difficulty: u32§duration: u32

    Trait Implementations§

    source§

    impl Clone for DefaultDifficultyStrategy

    source§

    fn clone(&self) -> DefaultDifficultyStrategy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DefaultDifficultyStrategy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DefaultDifficultyStrategy

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for DefaultDifficultyStrategy

    source§

    fn eq(&self, other: &DefaultDifficultyStrategy) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for DefaultDifficultyStrategy

    source§

    impl StructuralEq for DefaultDifficultyStrategy

    source§

    impl StructuralPartialEq for DefaultDifficultyStrategy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Redis.html b/mcaptcha/settings/struct.Redis.html index fe044190..d4a20a10 100644 --- a/mcaptcha/settings/struct.Redis.html +++ b/mcaptcha/settings/struct.Redis.html @@ -1,31 +1,32 @@ -Redis in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Redis

    source ·
    pub struct Redis {
    -    pub url: String,
    -    pub pool: u32,
    -}

    Fields§

    §url: String§pool: u32

    Trait Implementations§

    source§

    impl Clone for Redis

    source§

    fn clone(&self) -> Redis

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Redis

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Redis

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Redis

    source§

    fn eq(&self, other: &Redis) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Redis

    source§

    impl StructuralEq for Redis

    source§

    impl StructuralPartialEq for Redis

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Redis

    §

    impl Send for Redis

    §

    impl Sync for Redis

    §

    impl Unpin for Redis

    §

    impl UnwindSafe for Redis

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Redis in mcaptcha::settings - Rust +

    Struct mcaptcha::settings::Redis

    source ·
    pub struct Redis {
    +    pub url: String,
    +    pub pool: u32,
    +}

    Fields§

    §url: String§pool: u32

    Trait Implementations§

    source§

    impl Clone for Redis

    source§

    fn clone(&self) -> Redis

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Redis

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Redis

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Redis

    source§

    fn eq(&self, other: &Redis) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Redis

    source§

    impl StructuralEq for Redis

    source§

    impl StructuralPartialEq for Redis

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Redis

    §

    impl Send for Redis

    §

    impl Sync for Redis

    §

    impl Unpin for Redis

    §

    impl UnwindSafe for Redis

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Server.html b/mcaptcha/settings/struct.Server.html index c35c8e6e..00f7b6e3 100644 --- a/mcaptcha/settings/struct.Server.html +++ b/mcaptcha/settings/struct.Server.html @@ -1,35 +1,36 @@ -Server in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Server

    source ·
    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: u32§domain: String§cookie_secret: String§ip: String§url_prefix: Option<String>§proxy_has_tls: bool

    Implementations§

    source§

    impl Server

    source

    pub fn get_ip(&self) -> String

    Trait Implementations§

    source§

    impl Clone for Server

    source§

    fn clone(&self) -> Server

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Server

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Server

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Server

    source§

    fn eq(&self, other: &Server) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Server

    source§

    impl StructuralEq for Server

    source§

    impl StructuralPartialEq for Server

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Server in mcaptcha::settings - Rust +

    Struct mcaptcha::settings::Server

    source ·
    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: u32§domain: String§cookie_secret: String§ip: String§url_prefix: Option<String>§proxy_has_tls: bool

    Implementations§

    source§

    impl Server

    source

    pub fn get_ip(&self) -> String

    Trait Implementations§

    source§

    impl Clone for Server

    source§

    fn clone(&self) -> Server

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Server

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Server

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Server

    source§

    fn eq(&self, other: &Server) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Server

    source§

    impl StructuralEq for Server

    source§

    impl StructuralPartialEq for Server

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Settings.html b/mcaptcha/settings/struct.Settings.html index c171b2f3..434154aa 100644 --- a/mcaptcha/settings/struct.Settings.html +++ b/mcaptcha/settings/struct.Settings.html @@ -1,40 +1,41 @@ -Settings in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Settings

    source ·
    pub struct Settings {
    -    pub debug: bool,
    -    pub commercial: bool,
    -    pub source_code: String,
    -    pub allow_registration: bool,
    -    pub allow_demo: bool,
    +Settings in mcaptcha::settings - Rust
    +    

    Struct mcaptcha::settings::Settings

    source ·
    pub struct Settings {
    +    pub debug: bool,
    +    pub commercial: bool,
    +    pub source_code: String,
    +    pub allow_registration: bool,
    +    pub allow_demo: bool,
         pub database: Database,
    -    pub survey: Option<Survey>,
    -    pub redis: Option<Redis>,
    +    pub survey: Option<Survey>,
    +    pub redis: Option<Redis>,
         pub server: Server,
         pub captcha: Captcha,
    -    pub smtp: Option<Smtp>,
    -}

    Fields§

    §debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§survey: Option<Survey>§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

    Implementations§

    source§

    impl Settings

    source

    pub fn new() -> Result<Self, ConfigError>

    source

    fn check_easy_captcha_config(&self)

    source

    fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

    source

    fn set_database_type(&mut self)

    source

    fn check_url(&self)

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Settings

    source§

    fn eq(&self, other: &Settings) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Settings

    source§

    impl StructuralEq for Settings

    source§

    impl StructuralPartialEq for Settings

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + pub smtp: Option<Smtp>, +}

    Fields§

    §debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§survey: Option<Survey>§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

    Implementations§

    source§

    impl Settings

    source

    pub fn new() -> Result<Self, ConfigError>

    source

    fn check_easy_captcha_config(&self)

    source

    fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

    source

    fn set_database_type(&mut self)

    source

    fn check_url(&self)

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Settings

    source§

    fn eq(&self, other: &Settings) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Settings

    source§

    impl StructuralEq for Settings

    source§

    impl StructuralPartialEq for Settings

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Smtp.html b/mcaptcha/settings/struct.Smtp.html index 3147b740..79a6c076 100644 --- a/mcaptcha/settings/struct.Smtp.html +++ b/mcaptcha/settings/struct.Smtp.html @@ -1,35 +1,36 @@ -Smtp in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Smtp

    source ·
    pub struct Smtp {
    -    pub from: String,
    -    pub reply: String,
    -    pub url: String,
    -    pub username: String,
    -    pub password: String,
    -    pub port: u16,
    -}

    Fields§

    §from: String§reply: String§url: String§username: String§password: String§port: u16

    Trait Implementations§

    source§

    impl Clone for Smtp

    source§

    fn clone(&self) -> Smtp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Smtp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Smtp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Smtp

    source§

    fn eq(&self, other: &Smtp) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Smtp

    source§

    impl StructuralEq for Smtp

    source§

    impl StructuralPartialEq for Smtp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Smtp

    §

    impl Send for Smtp

    §

    impl Sync for Smtp

    §

    impl Unpin for Smtp

    §

    impl UnwindSafe for Smtp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Smtp in mcaptcha::settings - Rust +

    Struct mcaptcha::settings::Smtp

    source ·
    pub struct Smtp {
    +    pub from: String,
    +    pub reply: String,
    +    pub url: String,
    +    pub username: String,
    +    pub password: String,
    +    pub port: u16,
    +}

    Fields§

    §from: String§reply: String§url: String§username: String§password: String§port: u16

    Trait Implementations§

    source§

    impl Clone for Smtp

    source§

    fn clone(&self) -> Smtp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Smtp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Smtp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Smtp

    source§

    fn eq(&self, other: &Smtp) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Smtp

    source§

    impl StructuralEq for Smtp

    source§

    impl StructuralPartialEq for Smtp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Smtp

    §

    impl Send for Smtp

    §

    impl Sync for Smtp

    §

    impl Unpin for Smtp

    §

    impl UnwindSafe for Smtp

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Survey.html b/mcaptcha/settings/struct.Survey.html index d595ec0d..f0c2aea1 100644 --- a/mcaptcha/settings/struct.Survey.html +++ b/mcaptcha/settings/struct.Survey.html @@ -1,32 +1,33 @@ -Survey in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Survey

    source ·
    pub struct Survey {
    -    pub nodes: Vec<Url>,
    -    pub rate_limit: u64,
    +Survey in mcaptcha::settings - Rust
    +    

    Struct mcaptcha::settings::Survey

    source ·
    pub struct Survey {
    +    pub nodes: Vec<Url>,
    +    pub rate_limit: u64,
         pub instance_root_url: Url,
    -}

    Fields§

    §nodes: Vec<Url>§rate_limit: u64§instance_root_url: Url

    Trait Implementations§

    source§

    impl Clone for Survey

    source§

    fn clone(&self) -> Survey

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Survey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Survey

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Survey

    source§

    fn eq(&self, other: &Survey) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Survey

    source§

    impl StructuralEq for Survey

    source§

    impl StructuralPartialEq for Survey

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Fields§

    §nodes: Vec<Url>§rate_limit: u64§instance_root_url: Url

    Trait Implementations§

    source§

    impl Clone for Survey

    source§

    fn clone(&self) -> Survey

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Survey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Survey

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Survey

    source§

    fn eq(&self, other: &Survey) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Survey

    source§

    impl StructuralEq for Survey

    source§

    impl StructuralPartialEq for Survey

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/static_assets/filemap/index.html b/mcaptcha/static_assets/filemap/index.html index 438199be..a4b3c679 100644 --- a/mcaptcha/static_assets/filemap/index.html +++ b/mcaptcha/static_assets/filemap/index.html @@ -1 +1,2 @@ -mcaptcha::static_assets::filemap - Rust
    \ No newline at end of file +mcaptcha::static_assets::filemap - Rust +
    \ 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 9390bb76..42d8e079 100644 --- a/mcaptcha/static_assets/filemap/struct.FileMap.html +++ b/mcaptcha/static_assets/filemap/struct.FileMap.html @@ -1,19 +1,20 @@ -FileMap in mcaptcha::static_assets::filemap - Rust
    pub struct FileMap {
    +FileMap in mcaptcha::static_assets::filemap - Rust
    +    
    pub struct FileMap {
         pub files: Files,
    -}

    Fields§

    §files: Files

    Implementations§

    source§

    impl FileMap

    source

    pub fn new() -> Self

    source

    pub fn get<'a>(&'a self, path: &'a str) -> Option<&'a str>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +}

    Fields§

    §files: Files

    Implementations§

    source§

    impl FileMap

    source

    pub fn new() -> Self

    source

    pub fn get<'a>(&'a self, path: &'a str) -> Option<&'a str>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 2e38a996..aa66f3a7 100644 --- a/mcaptcha/static_assets/fn.services.html +++ b/mcaptcha/static_assets/fn.services.html @@ -1 +1,2 @@ -services in mcaptcha::static_assets - Rust
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file +services in mcaptcha::static_assets - Rust +
    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 c975e798..057a202f 100644 --- a/mcaptcha/static_assets/index.html +++ b/mcaptcha/static_assets/index.html @@ -1 +1,2 @@ -mcaptcha::static_assets - Rust
    \ No newline at end of file +mcaptcha::static_assets - Rust +
    \ 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 76eca0a7..f5b83af6 100644 --- a/mcaptcha/static_assets/static_files/assets/index.html +++ b/mcaptcha/static_assets/static_files/assets/index.html @@ -1 +1,2 @@ -mcaptcha::static_assets::static_files::assets - Rust
    \ No newline at end of file +mcaptcha::static_assets::static_files::assets - Rust +
    \ 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 b9a6dc5f..35733b6b 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html +++ b/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html @@ -1,19 +1,20 @@ -BAR_CHART in mcaptcha::static_assets::static_files::assets - Rust
    pub struct BAR_CHART {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for BAR_CHART

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for BAR_CHART

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +BAR_CHART in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct BAR_CHART {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for BAR_CHART

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for BAR_CHART

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d5dd34f2..ed6b7ec5 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html +++ b/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html @@ -1,19 +1,20 @@ -CREDIT_CARD in mcaptcha::static_assets::static_files::assets - Rust
    pub struct CREDIT_CARD {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for CREDIT_CARD

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for CREDIT_CARD

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +CREDIT_CARD in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct CREDIT_CARD {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for CREDIT_CARD

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for CREDIT_CARD

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 41838ad3..abe4dd7a 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html +++ b/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html @@ -1,19 +1,20 @@ -DOCS_ICON in mcaptcha::static_assets::static_files::assets - Rust
    pub struct DOCS_ICON {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for DOCS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for DOCS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +DOCS_ICON in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct DOCS_ICON {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for DOCS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for DOCS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 69c38022..b5c32e0b 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html +++ b/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html @@ -1,19 +1,20 @@ -GITHUB in mcaptcha::static_assets::static_files::assets - Rust
    pub struct GITHUB {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for GITHUB

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for GITHUB

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +GITHUB in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct GITHUB {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for GITHUB

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for GITHUB

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 c0fbbc52..94ed68bb 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html +++ b/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html @@ -1,19 +1,20 @@ -HELP_CIRCLE in mcaptcha::static_assets::static_files::assets - Rust
    pub struct HELP_CIRCLE {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for HELP_CIRCLE

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for HELP_CIRCLE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +HELP_CIRCLE in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct HELP_CIRCLE {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for HELP_CIRCLE

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for HELP_CIRCLE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 d4e548a9..0ca27366 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.HOME.html +++ b/mcaptcha/static_assets/static_files/assets/struct.HOME.html @@ -1,19 +1,20 @@ -HOME in mcaptcha::static_assets::static_files::assets - Rust
    pub struct HOME {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for HOME

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for HOME

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for HOME

    §

    impl Send for HOME

    §

    impl Sync for HOME

    §

    impl Unpin for HOME

    §

    impl UnwindSafe for HOME

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +HOME in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct HOME {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for HOME

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for HOME

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for HOME

    §

    impl Send for HOME

    §

    impl Sync for HOME

    §

    impl Unpin for HOME

    §

    impl UnwindSafe for HOME

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 2c23e916..fa55c3e3 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.KEY.html +++ b/mcaptcha/static_assets/static_files/assets/struct.KEY.html @@ -1,19 +1,20 @@ -KEY in mcaptcha::static_assets::static_files::assets - Rust
    pub struct KEY {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for KEY

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for KEY

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KEY

    §

    impl Send for KEY

    §

    impl Sync for KEY

    §

    impl Unpin for KEY

    §

    impl UnwindSafe for KEY

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +KEY in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct KEY {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for KEY

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for KEY

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KEY

    §

    impl Send for KEY

    §

    impl Sync for KEY

    §

    impl Unpin for KEY

    §

    impl UnwindSafe for KEY

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 a0d481bf..f11a7968 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 @@ -1,19 +1,20 @@ -MCAPTCHA_TRANS_ICON in mcaptcha::static_assets::static_files::assets - Rust
    pub struct MCAPTCHA_TRANS_ICON {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for MCAPTCHA_TRANS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for MCAPTCHA_TRANS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +MCAPTCHA_TRANS_ICON in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct MCAPTCHA_TRANS_ICON {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for MCAPTCHA_TRANS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for MCAPTCHA_TRANS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 8ac9e55f..032fed50 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html +++ b/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html @@ -1,19 +1,20 @@ -MESSAGE in mcaptcha::static_assets::static_files::assets - Rust
    pub struct MESSAGE {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for MESSAGE

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for MESSAGE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +MESSAGE in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct MESSAGE {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for MESSAGE

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for MESSAGE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 ca85797a..05ec5668 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html +++ b/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html @@ -1,19 +1,20 @@ -SETTINGS_ICON in mcaptcha::static_assets::static_files::assets - Rust
    pub struct SETTINGS_ICON {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for SETTINGS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for SETTINGS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +SETTINGS_ICON in mcaptcha::static_assets::static_files::assets - Rust +
    pub struct SETTINGS_ICON {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for SETTINGS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for SETTINGS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 20329e4e..b0bb0a75 100644 --- a/mcaptcha/static_assets/static_files/assets/type.Img.html +++ b/mcaptcha/static_assets/static_files/assets/type.Img.html @@ -1 +1,2 @@ -Img in mcaptcha::static_assets::static_files::assets - Rust
    type Img = (&'static str, &'static str);
    \ No newline at end of file +Img in mcaptcha::static_assets::static_files::assets - Rust +
    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 6bae4da6..443fa7b9 100644 --- a/mcaptcha/static_assets/static_files/fn.handle_assets.html +++ b/mcaptcha/static_assets/static_files/fn.handle_assets.html @@ -1 +1,2 @@ -handle_assets in mcaptcha::static_assets::static_files - Rust
    fn handle_assets(path: &str) -> HttpResponse
    \ No newline at end of file +handle_assets in mcaptcha::static_assets::static_files - Rust +
    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 441c65bf..0d8942e9 100644 --- a/mcaptcha/static_assets/static_files/fn.handle_favicons.html +++ b/mcaptcha/static_assets/static_files/fn.handle_favicons.html @@ -1 +1,2 @@ -handle_favicons in mcaptcha::static_assets::static_files - Rust
    fn handle_favicons(path: &str) -> HttpResponse
    \ No newline at end of file +handle_favicons in mcaptcha::static_assets::static_files - Rust +
    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 cb2ccf6f..d44bb49f 100644 --- a/mcaptcha/static_assets/static_files/index.html +++ b/mcaptcha/static_assets/static_files/index.html @@ -1 +1,2 @@ -mcaptcha::static_assets::static_files - Rust
    \ No newline at end of file +mcaptcha::static_assets::static_files - Rust +
    \ 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 db4ab543..1b1a22e9 100644 --- a/mcaptcha/static_assets/static_files/struct.Asset.html +++ b/mcaptcha/static_assets/static_files/struct.Asset.html @@ -1,19 +1,20 @@ -Asset in mcaptcha::static_assets::static_files - Rust
    struct Asset;

    Implementations§

    source§

    impl Asset

    source

    pub fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata.

    -
    source

    pub fn iter() -> impl Iterator<Item = Cow<'static, str>>

    Iterates over the file paths in the folder.

    -

    Trait Implementations§

    source§

    impl RustEmbed for Asset

    source§

    fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata. Read more
    source§

    fn iter() -> Filenames

    Iterates over the file paths in the folder. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Asset

    §

    impl Send for Asset

    §

    impl Sync for Asset

    §

    impl Unpin for Asset

    §

    impl UnwindSafe for Asset

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Asset in mcaptcha::static_assets::static_files - Rust +
    struct Asset;

    Implementations§

    source§

    impl Asset

    source

    pub fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata.

    +
    source

    pub fn iter() -> impl Iterator<Item = Cow<'static, str>>

    Iterates over the file paths in the folder.

    +

    Trait Implementations§

    source§

    impl RustEmbed for Asset

    source§

    fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata. Read more
    source§

    fn iter() -> Filenames

    Iterates over the file paths in the folder. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Asset

    §

    impl Send for Asset

    §

    impl Sync for Asset

    §

    impl Unpin for Asset

    §

    impl UnwindSafe for Asset

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 571458f7..e77f69b8 100644 --- a/mcaptcha/static_assets/static_files/struct.Favicons.html +++ b/mcaptcha/static_assets/static_files/struct.Favicons.html @@ -1,19 +1,20 @@ -Favicons in mcaptcha::static_assets::static_files - Rust
    struct Favicons;

    Implementations§

    source§

    impl Favicons

    source

    pub fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata.

    -
    source

    pub fn iter() -> impl Iterator<Item = Cow<'static, str>>

    Iterates over the file paths in the folder.

    -

    Trait Implementations§

    source§

    impl RustEmbed for Favicons

    source§

    fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata. Read more
    source§

    fn iter() -> Filenames

    Iterates over the file paths in the folder. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Favicons in mcaptcha::static_assets::static_files - Rust +
    struct Favicons;

    Implementations§

    source§

    impl Favicons

    source

    pub fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata.

    +
    source

    pub fn iter() -> impl Iterator<Item = Cow<'static, str>>

    Iterates over the file paths in the folder.

    +

    Trait Implementations§

    source§

    impl RustEmbed for Favicons

    source§

    fn get(file_path: &str) -> Option<EmbeddedFile>

    Get an embedded file and its metadata. Read more
    source§

    fn iter() -> Filenames

    Iterates over the file paths in the folder. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 7b245a41..16e2aaca 100644 --- a/mcaptcha/static_assets/static_files/struct.favicons.html +++ b/mcaptcha/static_assets/static_files/struct.favicons.html @@ -1,17 +1,18 @@ -favicons in mcaptcha::static_assets::static_files - Rust
    pub struct favicons;

    Trait Implementations§

    source§

    impl HttpServiceFactory for favicons

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +favicons in mcaptcha::static_assets::static_files - Rust +
    pub struct favicons;

    Trait Implementations§

    source§

    impl HttpServiceFactory for favicons

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 6f5b3815..23b9483b 100644 --- a/mcaptcha/static_assets/static_files/struct.static_files.html +++ b/mcaptcha/static_assets/static_files/struct.static_files.html @@ -1,17 +1,18 @@ -static_files in mcaptcha::static_assets::static_files - Rust
    pub struct static_files;

    Trait Implementations§

    source§

    impl HttpServiceFactory for static_files

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +static_files in mcaptcha::static_assets::static_files - Rust +
    pub struct static_files;

    Trait Implementations§

    source§

    impl HttpServiceFactory for static_files

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 11e11019..cea06ca1 100644 --- a/mcaptcha/stats/index.html +++ b/mcaptcha/stats/index.html @@ -1 +1,2 @@ -mcaptcha::stats - Rust
    \ No newline at end of file +mcaptcha::stats - Rust +
    \ No newline at end of file diff --git a/mcaptcha/stats/struct.CaptchaStats.html b/mcaptcha/stats/struct.CaptchaStats.html index 0302008d..febf4efe 100644 --- a/mcaptcha/stats/struct.CaptchaStats.html +++ b/mcaptcha/stats/struct.CaptchaStats.html @@ -1,27 +1,28 @@ -CaptchaStats in mcaptcha::stats - Rust
    pub struct CaptchaStats {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    -}

    Fields§

    §config_fetches: Vec<i64>§solves: Vec<i64>§confirms: Vec<i64>

    Trait Implementations§

    source§

    impl Clone for CaptchaStats

    source§

    fn clone(&self) -> CaptchaStats

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CaptchaStats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for CaptchaStats

    source§

    fn default() -> CaptchaStats

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CaptchaStats

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CaptchaStats

    source§

    fn eq(&self, other: &CaptchaStats) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CaptchaStats

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CaptchaStats

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +CaptchaStats in mcaptcha::stats - Rust +
    pub struct CaptchaStats {
    +    pub config_fetches: Vec<i64>,
    +    pub solves: Vec<i64>,
    +    pub confirms: Vec<i64>,
    +}

    Fields§

    §config_fetches: Vec<i64>§solves: Vec<i64>§confirms: Vec<i64>

    Trait Implementations§

    source§

    impl Clone for CaptchaStats

    source§

    fn clone(&self) -> CaptchaStats

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CaptchaStats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for CaptchaStats

    source§

    fn default() -> CaptchaStats

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CaptchaStats

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CaptchaStats

    source§

    fn eq(&self, other: &CaptchaStats) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CaptchaStats

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CaptchaStats

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/stats/struct.Dummy.html b/mcaptcha/stats/struct.Dummy.html index 05a6e9c3..d7a83e8e 100644 --- a/mcaptcha/stats/struct.Dummy.html +++ b/mcaptcha/stats/struct.Dummy.html @@ -1,59 +1,60 @@ -Dummy in mcaptcha::stats - Rust

    Struct mcaptcha::stats::Dummy

    source ·
    pub struct Dummy;

    Trait Implementations§

    source§

    impl Clone for Dummy

    source§

    fn clone(&self) -> Dummy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Dummy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Dummy

    source§

    fn default() -> Dummy

    Returns the “default value” for a type. Read more
    source§

    impl PartialEq for Dummy

    source§

    fn eq(&self, other: &Dummy) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +Dummy in mcaptcha::stats - Rust +

    Struct mcaptcha::stats::Dummy

    source ·
    pub struct Dummy;

    Trait Implementations§

    source§

    impl Clone for Dummy

    source§

    fn clone(&self) -> Dummy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Dummy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Dummy

    source§

    fn default() -> Dummy

    Returns the “default value” for a type. Read more
    source§

    impl PartialEq for Dummy

    source§

    fn eq(&self, other: &Dummy) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl Stats for Dummy

    source§

    fn record_fetch<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, __arg1: &'life1 Data, - __arg2: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + __arg2: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoWConfig fetches

    + 'life2: 'async_trait,

    record PoWConfig fetches

    source§

    fn record_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, __arg1: &'life1 Data, - __arg2: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + __arg2: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoWConfig solves

    + 'life2: 'async_trait,

    record PoWConfig solves

    source§

    fn record_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, __arg1: &'life1 Data, - __arg2: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + __arg2: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoWConfig confirms

    + 'life2: 'async_trait,

    record PoWConfig confirms

    source§

    fn fetch<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, __arg1: &'life1 Data, - __arg2: &'life2 str, - __arg3: &'life3 str -) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>where + __arg2: &'life2 str, + __arg3: &'life3 str +) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    fetch stats

    -
    source§

    impl StructuralPartialEq for Dummy

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Dummy

    §

    impl Send for Dummy

    §

    impl Sync for Dummy

    §

    impl Unpin for Dummy

    §

    impl UnwindSafe for Dummy

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneStats for Twhere - T: Stats + Clone + 'static,

    source§

    fn clone_stats(&self) -> Box<dyn Stats>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + 'life3: 'async_trait,

    fetch stats

    +
    source§

    impl StructuralPartialEq for Dummy

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Dummy

    §

    impl Send for Dummy

    §

    impl Sync for Dummy

    §

    impl Unpin for Dummy

    §

    impl UnwindSafe for Dummy

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneStats for T
    where + T: Stats + Clone + 'static,

    source§

    fn clone_stats(&self) -> Box<dyn Stats>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/stats/struct.Real.html b/mcaptcha/stats/struct.Real.html index 4eea5617..2ee6d9e9 100644 --- a/mcaptcha/stats/struct.Real.html +++ b/mcaptcha/stats/struct.Real.html @@ -1,59 +1,60 @@ -Real in mcaptcha::stats - Rust

    Struct mcaptcha::stats::Real

    source ·
    pub struct Real;

    Trait Implementations§

    source§

    impl Clone for Real

    source§

    fn clone(&self) -> Real

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Real

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Real

    source§

    fn default() -> Real

    Returns the “default value” for a type. Read more
    source§

    impl PartialEq for Real

    source§

    fn eq(&self, other: &Real) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +Real in mcaptcha::stats - Rust +

    Struct mcaptcha::stats::Real

    source ·
    pub struct Real;

    Trait Implementations§

    source§

    impl Clone for Real

    source§

    fn clone(&self) -> Real

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Real

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Real

    source§

    fn default() -> Real

    Returns the “default value” for a type. Read more
    source§

    impl PartialEq for Real

    source§

    fn eq(&self, other: &Real) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl Stats for Real

    source§

    fn record_fetch<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, d: &'life1 Data, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoWConfig fetches

    + 'life2: 'async_trait,

    record PoWConfig fetches

    source§

    fn record_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, d: &'life1 Data, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoWConfig solves

    + 'life2: 'async_trait,

    record PoWConfig solves

    source§

    fn record_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, d: &'life1 Data, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoWConfig confirms

    + 'life2: 'async_trait,

    record PoWConfig confirms

    source§

    fn fetch<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, d: &'life1 Data, - user: &'life2 str, - key: &'life3 str -) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>where + user: &'life2 str, + key: &'life3 str +) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    fetch stats

    -
    source§

    impl StructuralPartialEq for Real

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Real

    §

    impl Send for Real

    §

    impl Sync for Real

    §

    impl Unpin for Real

    §

    impl UnwindSafe for Real

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneStats for Twhere - T: Stats + Clone + 'static,

    source§

    fn clone_stats(&self) -> Box<dyn Stats>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + 'life3: 'async_trait,

    fetch stats

    +
    source§

    impl StructuralPartialEq for Real

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Real

    §

    impl Send for Real

    §

    impl Sync for Real

    §

    impl Unpin for Real

    §

    impl UnwindSafe for Real

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneStats for T
    where + T: Stats + Clone + 'static,

    source§

    fn clone_stats(&self) -> Box<dyn Stats>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/stats/trait.CloneStats.html b/mcaptcha/stats/trait.CloneStats.html index 51aa9e06..7a715a03 100644 --- a/mcaptcha/stats/trait.CloneStats.html +++ b/mcaptcha/stats/trait.CloneStats.html @@ -1,7 +1,8 @@ -CloneStats in mcaptcha::stats - Rust
    pub trait CloneStats {
    +CloneStats in mcaptcha::stats - Rust
    +    
    pub trait CloneStats {
         // Required method
    -    fn clone_stats(&self) -> Box<dyn Stats>;
    +    fn clone_stats(&self) -> Box<dyn Stats>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    source

    fn clone_stats(&self) -> Box<dyn Stats>

    clone DB

    -

    Implementors§

    source§

    impl<T> CloneStats for Twhere - T: Stats + Clone + 'static,

    \ No newline at end of file +

    Required Methods§

    source

    fn clone_stats(&self) -> Box<dyn Stats>

    clone DB

    +

    Implementors§

    source§

    impl<T> CloneStats for T
    where + T: Stats + Clone + 'static,

    \ No newline at end of file diff --git a/mcaptcha/stats/trait.Stats.html b/mcaptcha/stats/trait.Stats.html index d44c777f..3e307291 100644 --- a/mcaptcha/stats/trait.Stats.html +++ b/mcaptcha/stats/trait.Stats.html @@ -1,10 +1,11 @@ -Stats in mcaptcha::stats - Rust

    Trait mcaptcha::stats::Stats

    source ·
    pub trait Stats: Send + Sync + CloneStats {
    +Stats in mcaptcha::stats - Rust
    +    

    Trait mcaptcha::stats::Stats

    source ·
    pub trait Stats: Send + Sync + CloneStats {
         // Required methods
         fn record_fetch<'life0, 'life1, 'life2, 'async_trait>(
             &'life0 self,
             d: &'life1 Data,
    -        key: &'life2 str
    -    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    +        key: &'life2 str
    +    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait,
                  'life1: 'async_trait,
    @@ -12,8 +13,8 @@
         fn record_solve<'life0, 'life1, 'life2, 'async_trait>(
             &'life0 self,
             d: &'life1 Data,
    -        key: &'life2 str
    -    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    +        key: &'life2 str
    +    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait,
                  'life1: 'async_trait,
    @@ -21,8 +22,8 @@
         fn record_confirm<'life0, 'life1, 'life2, 'async_trait>(
             &'life0 self,
             d: &'life1 Data,
    -        key: &'life2 str
    -    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    +        key: &'life2 str
    +    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait,
                  'life1: 'async_trait,
    @@ -30,50 +31,50 @@
         fn fetch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
             &'life0 self,
             d: &'life1 Data,
    -        user: &'life2 str,
    -        key: &'life3 str
    -    ) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
    +        user: &'life2 str,
    +        key: &'life3 str
    +    ) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait,
                  'life1: 'async_trait,
                  'life2: 'async_trait,
                  'life3: 'async_trait;
    -}

    Required Methods§

    source

    fn record_fetch<'life0, 'life1, 'life2, 'async_trait>( +}

    Required Methods§

    source

    fn record_fetch<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, d: &'life1 Data, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoWConfig fetches

    + 'life2: 'async_trait,

    record PoWConfig fetches

    source

    fn record_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, d: &'life1 Data, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoWConfig solves

    + 'life2: 'async_trait,

    record PoWConfig solves

    source

    fn record_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, d: &'life1 Data, - key: &'life2 str -) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where + key: &'life2 str +) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, - 'life2: 'async_trait,

    record PoWConfig confirms

    + 'life2: 'async_trait,

    record PoWConfig confirms

    source

    fn fetch<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, d: &'life1 Data, - user: &'life2 str, - key: &'life3 str -) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>where + user: &'life2 str, + key: &'life3 str +) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, - 'life3: 'async_trait,

    fetch stats

    -

    Implementors§

    \ No newline at end of file + 'life3: 'async_trait,

    fetch stats

    +

    Implementors§

    \ No newline at end of file diff --git a/mcaptcha/struct.BAR_CHART.html b/mcaptcha/struct.BAR_CHART.html index a3bc6970..355c8aeb 100644 --- a/mcaptcha/struct.BAR_CHART.html +++ b/mcaptcha/struct.BAR_CHART.html @@ -1,19 +1,20 @@ -BAR_CHART in mcaptcha - Rust

    Struct mcaptcha::BAR_CHART

    source ·
    pub struct BAR_CHART {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for BAR_CHART

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for BAR_CHART

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +BAR_CHART in mcaptcha - Rust +

    Struct mcaptcha::BAR_CHART

    source ·
    pub struct BAR_CHART {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for BAR_CHART

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for BAR_CHART

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 96099812..bf82d18f 100644 --- a/mcaptcha/struct.CREDIT_CARD.html +++ b/mcaptcha/struct.CREDIT_CARD.html @@ -1,19 +1,20 @@ -CREDIT_CARD in mcaptcha - Rust

    Struct mcaptcha::CREDIT_CARD

    source ·
    pub struct CREDIT_CARD {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for CREDIT_CARD

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for CREDIT_CARD

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +CREDIT_CARD in mcaptcha - Rust +

    Struct mcaptcha::CREDIT_CARD

    source ·
    pub struct CREDIT_CARD {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for CREDIT_CARD

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for CREDIT_CARD

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 673924a0..a2592c16 100644 --- a/mcaptcha/struct.CSS.html +++ b/mcaptcha/struct.CSS.html @@ -1,28 +1,29 @@ -CSS in mcaptcha - Rust

    Struct mcaptcha::CSS

    source ·
    pub struct CSS {
    -    pub(crate) __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +CSS in mcaptcha - Rust

    +

    Struct mcaptcha::CSS

    source ·
    pub struct CSS {
    +    pub(crate) __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -33,7 +34,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -41,48 +42,48 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -90,8 +91,8 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -104,20 +105,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -127,181 +128,181 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -314,277 +315,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -592,177 +593,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -773,16 +774,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -793,16 +794,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -813,17 +814,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -834,37 +835,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -872,39 +873,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -914,18 +915,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -933,16 +934,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -952,238 +953,266 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +
    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"));
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for CSS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for CSS

    §

    impl Send for CSS

    §

    impl Sync for CSS

    §

    impl Unpin for CSS

    §

    impl UnwindSafe for CSS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for CSS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for CSS

    §

    impl Send for CSS

    §

    impl Sync for CSS

    §

    impl Unpin for CSS

    §

    impl UnwindSafe for CSS

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 db4af7fe..30573dae 100644 --- a/mcaptcha/struct.DOCS_ICON.html +++ b/mcaptcha/struct.DOCS_ICON.html @@ -1,19 +1,20 @@ -DOCS_ICON in mcaptcha - Rust

    Struct mcaptcha::DOCS_ICON

    source ·
    pub struct DOCS_ICON {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for DOCS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for DOCS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +DOCS_ICON in mcaptcha - Rust +

    Struct mcaptcha::DOCS_ICON

    source ·
    pub struct DOCS_ICON {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for DOCS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for DOCS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 244bde02..746aa8e0 100644 --- a/mcaptcha/struct.Data.html +++ b/mcaptcha/struct.Data.html @@ -1,34 +1,35 @@ -Data in mcaptcha - Rust

    Struct mcaptcha::Data

    source ·
    pub struct Data {
    -    pub db: Box<dyn MCDatabase>,
    +Data in mcaptcha - Rust
    +    

    Struct mcaptcha::Data

    source ·
    pub struct Data {
    +    pub db: Box<dyn MCDatabase>,
         pub creds: Config,
         pub captcha: SystemGroup,
    -    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
    +    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
         pub settings: Settings,
    -    pub stats: Box<dyn Stats>,
    +    pub stats: Box<dyn Stats>,
         pub survey_secrets: SecretsStore,
     }
    Expand description

    App data

    -

    Fields§

    §db: Box<dyn MCDatabase>

    database ops defined by db crates

    -
    §creds: Config

    credential management configuration

    -
    §captcha: SystemGroup

    mCaptcha system: Redis cache, etc.

    -
    §mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

    email client

    -
    §settings: Settings

    app settings

    -
    §stats: Box<dyn Stats>

    stats recorder

    -
    §survey_secrets: SecretsStore

    survey secret store

    -

    Implementations§

    source§

    impl Data

    source

    pub fn get_creds() -> Config

    source

    pub async fn new(s: &Settings, survey_secrets: SecretsStore) -> Arc<Self>

    create new instance of app data

    -
    source

    fn get_mailer(s: &Settings) -> Option<AsyncSmtpTransport<Tokio1Executor>>

    source

    async fn upload_survey_job(&self) -> Result<(), ServiceError>

    source

    async fn register_survey(&self) -> Result<(), ServiceError>

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Data

    §

    impl Send for Data

    §

    impl Sync for Data

    §

    impl Unpin for Data

    §

    impl !UnwindSafe for Data

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +

    Fields§

    §db: Box<dyn MCDatabase>

    database ops defined by db crates

    +
    §creds: Config

    credential management configuration

    +
    §captcha: SystemGroup

    mCaptcha system: Redis cache, etc.

    +
    §mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

    email client

    +
    §settings: Settings

    app settings

    +
    §stats: Box<dyn Stats>

    stats recorder

    +
    §survey_secrets: SecretsStore

    survey secret store

    +

    Implementations§

    source§

    impl Data

    source

    pub fn get_creds() -> Config

    source

    pub async fn new(s: &Settings, survey_secrets: SecretsStore) -> Arc<Self>

    create new instance of app data

    +
    source

    fn get_mailer(s: &Settings) -> Option<AsyncSmtpTransport<Tokio1Executor>>

    source

    async fn upload_survey_job(&self) -> Result<(), ServiceError>

    source

    async fn register_survey(&self) -> Result<(), ServiceError>

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Data

    §

    impl Send for Data

    §

    impl Sync for Data

    §

    impl Unpin for Data

    §

    impl !UnwindSafe for Data

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 cef8dade..d4c70d4b 100644 --- a/mcaptcha/struct.FILES.html +++ b/mcaptcha/struct.FILES.html @@ -1,19 +1,20 @@ -FILES in mcaptcha - Rust

    Struct mcaptcha::FILES

    source ·
    pub struct FILES {
    -    pub(crate) __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = FileMap>§

    source

    pub fn get<'a>(&'a self, path: &'a str) -> Option<&'a str>

    Trait Implementations§

    source§

    impl Deref for FILES

    §

    type Target = FileMap

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &FileMap

    Dereferences the value.
    source§

    impl LazyStatic for FILES

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for FILES

    §

    impl Send for FILES

    §

    impl Sync for FILES

    §

    impl Unpin for FILES

    §

    impl UnwindSafe for FILES

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +FILES in mcaptcha - Rust +

    Struct mcaptcha::FILES

    source ·
    pub struct FILES {
    +    pub(crate) __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = FileMap>§

    source

    pub fn get<'a>(&'a self, path: &'a str) -> Option<&'a str>

    Trait Implementations§

    source§

    impl Deref for FILES

    §

    type Target = FileMap

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &FileMap

    Dereferences the value.
    source§

    impl LazyStatic for FILES

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for FILES

    §

    impl Send for FILES

    §

    impl Sync for FILES

    §

    impl Unpin for FILES

    §

    impl UnwindSafe for FILES

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 77f0a591..4fc7ac41 100644 --- a/mcaptcha/struct.GITHUB.html +++ b/mcaptcha/struct.GITHUB.html @@ -1,19 +1,20 @@ -GITHUB in mcaptcha - Rust

    Struct mcaptcha::GITHUB

    source ·
    pub struct GITHUB {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for GITHUB

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for GITHUB

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +GITHUB in mcaptcha - Rust +

    Struct mcaptcha::GITHUB

    source ·
    pub struct GITHUB {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for GITHUB

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for GITHUB

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 3b4119ad..a95a4d25 100644 --- a/mcaptcha/struct.HELP_CIRCLE.html +++ b/mcaptcha/struct.HELP_CIRCLE.html @@ -1,19 +1,20 @@ -HELP_CIRCLE in mcaptcha - Rust

    Struct mcaptcha::HELP_CIRCLE

    source ·
    pub struct HELP_CIRCLE {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for HELP_CIRCLE

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for HELP_CIRCLE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +HELP_CIRCLE in mcaptcha - Rust +

    Struct mcaptcha::HELP_CIRCLE

    source ·
    pub struct HELP_CIRCLE {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for HELP_CIRCLE

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for HELP_CIRCLE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 5db5fe2c..0cb0dfa2 100644 --- a/mcaptcha/struct.HOME.html +++ b/mcaptcha/struct.HOME.html @@ -1,19 +1,20 @@ -HOME in mcaptcha - Rust

    Struct mcaptcha::HOME

    source ·
    pub struct HOME {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for HOME

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for HOME

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for HOME

    §

    impl Send for HOME

    §

    impl Sync for HOME

    §

    impl Unpin for HOME

    §

    impl UnwindSafe for HOME

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +HOME in mcaptcha - Rust +

    Struct mcaptcha::HOME

    source ·
    pub struct HOME {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for HOME

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for HOME

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for HOME

    §

    impl Send for HOME

    §

    impl Sync for HOME

    §

    impl Unpin for HOME

    §

    impl UnwindSafe for HOME

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 a891165f..fed65533 100644 --- a/mcaptcha/struct.JS.html +++ b/mcaptcha/struct.JS.html @@ -1,28 +1,29 @@ -JS in mcaptcha - Rust

    Struct mcaptcha::JS

    source ·
    pub struct JS {
    -    pub(crate) __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +JS in mcaptcha - Rust

    +

    Struct mcaptcha::JS

    source ·
    pub struct JS {
    +    pub(crate) __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -33,7 +34,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -41,48 +42,48 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -90,8 +91,8 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -104,20 +105,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -127,181 +128,181 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -314,277 +315,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -592,177 +593,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -773,16 +774,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -793,16 +794,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -813,17 +814,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -834,37 +835,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -872,39 +873,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -914,18 +915,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -933,16 +934,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -952,238 +953,266 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +
    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"));
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for JS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for JS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for JS

    §

    impl Send for JS

    §

    impl Sync for JS

    §

    impl Unpin for JS

    §

    impl UnwindSafe for JS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for JS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for JS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for JS

    §

    impl Send for JS

    §

    impl Sync for JS

    §

    impl Unpin for JS

    §

    impl UnwindSafe for JS

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +WithDispatch wrapper. Read more \ No newline at end of file diff --git a/mcaptcha/struct.KEY.html b/mcaptcha/struct.KEY.html index 07e1c2aa..3ada8db6 100644 --- a/mcaptcha/struct.KEY.html +++ b/mcaptcha/struct.KEY.html @@ -1,19 +1,20 @@ -KEY in mcaptcha - Rust

    Struct mcaptcha::KEY

    source ·
    pub struct KEY {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for KEY

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for KEY

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KEY

    §

    impl Send for KEY

    §

    impl Sync for KEY

    §

    impl Unpin for KEY

    §

    impl UnwindSafe for KEY

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +KEY in mcaptcha - Rust +

    Struct mcaptcha::KEY

    source ·
    pub struct KEY {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for KEY

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for KEY

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KEY

    §

    impl Send for KEY

    §

    impl Sync for KEY

    §

    impl Unpin for KEY

    §

    impl UnwindSafe for KEY

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 a81d671e..c14518ea 100644 --- a/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html +++ b/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html @@ -1,19 +1,20 @@ -MCAPTCHA_TRANS_ICON in mcaptcha - Rust
    pub struct MCAPTCHA_TRANS_ICON {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for MCAPTCHA_TRANS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for MCAPTCHA_TRANS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +MCAPTCHA_TRANS_ICON in mcaptcha - Rust +
    pub struct MCAPTCHA_TRANS_ICON {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for MCAPTCHA_TRANS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for MCAPTCHA_TRANS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 a09cdc08..3236173b 100644 --- a/mcaptcha/struct.MESSAGE.html +++ b/mcaptcha/struct.MESSAGE.html @@ -1,19 +1,20 @@ -MESSAGE in mcaptcha - Rust

    Struct mcaptcha::MESSAGE

    source ·
    pub struct MESSAGE {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for MESSAGE

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for MESSAGE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +MESSAGE in mcaptcha - Rust +

    Struct mcaptcha::MESSAGE

    source ·
    pub struct MESSAGE {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for MESSAGE

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for MESSAGE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 237d05ed..39c5a6cf 100644 --- a/mcaptcha/struct.MOBILE_CSS.html +++ b/mcaptcha/struct.MOBILE_CSS.html @@ -1,28 +1,29 @@ -MOBILE_CSS in mcaptcha - Rust

    Struct mcaptcha::MOBILE_CSS

    source ·
    pub struct MOBILE_CSS {
    -    pub(crate) __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +MOBILE_CSS in mcaptcha - Rust

    +

    Struct mcaptcha::MOBILE_CSS

    source ·
    pub struct MOBILE_CSS {
    +    pub(crate) __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -33,7 +34,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -41,48 +42,48 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -90,8 +91,8 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -104,20 +105,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -127,181 +128,181 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -314,277 +315,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -592,177 +593,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -773,16 +774,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -793,16 +794,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -813,17 +814,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -834,37 +835,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -872,39 +873,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -914,18 +915,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -933,16 +934,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -952,238 +953,266 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +
    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"));
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for MOBILE_CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for MOBILE_CSS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for MOBILE_CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for MOBILE_CSS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +WithDispatch wrapper. Read more \ No newline at end of file diff --git a/mcaptcha/struct.SETTINGS.html b/mcaptcha/struct.SETTINGS.html index 22b0af1d..cc780201 100644 --- a/mcaptcha/struct.SETTINGS.html +++ b/mcaptcha/struct.SETTINGS.html @@ -1,19 +1,20 @@ -SETTINGS in mcaptcha - Rust

    Struct mcaptcha::SETTINGS

    source ·
    pub struct SETTINGS {
    -    pub(crate) __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = Settings>§

    Trait Implementations§

    source§

    impl Deref for SETTINGS

    §

    type Target = Settings

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Settings

    Dereferences the value.
    source§

    impl LazyStatic for SETTINGS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +SETTINGS in mcaptcha - Rust +

    Struct mcaptcha::SETTINGS

    source ·
    pub struct SETTINGS {
    +    pub(crate) __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = Settings>§

    Trait Implementations§

    source§

    impl Deref for SETTINGS

    §

    type Target = Settings

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Settings

    Dereferences the value.
    source§

    impl LazyStatic for SETTINGS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 1dbb3f30..b8acfaef 100644 --- a/mcaptcha/struct.SETTINGS_ICON.html +++ b/mcaptcha/struct.SETTINGS_ICON.html @@ -1,19 +1,20 @@ -SETTINGS_ICON in mcaptcha - Rust

    Struct mcaptcha::SETTINGS_ICON

    source ·
    pub struct SETTINGS_ICON {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for SETTINGS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for SETTINGS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +SETTINGS_ICON in mcaptcha - Rust +

    Struct mcaptcha::SETTINGS_ICON

    source ·
    pub struct SETTINGS_ICON {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Trait Implementations§

    source§

    impl Deref for SETTINGS_ICON

    §

    type Target = (&'static str, &'static str)

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &(&'static str, &'static str)

    Dereferences the value.
    source§

    impl LazyStatic for SETTINGS_ICON

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 831671ef..0ce66a54 100644 --- a/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html +++ b/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html @@ -1,62 +1,63 @@ -SOURCE_FILES_OF_INSTANCE in mcaptcha - Rust
    pub struct SOURCE_FILES_OF_INSTANCE {
    -    pub(crate) __private_field: (),
    +SOURCE_FILES_OF_INSTANCE in mcaptcha - Rust
    +    
    pub struct SOURCE_FILES_OF_INSTANCE {
    +    pub(crate) __private_field: (),
     }
    Expand description

    points to source files matching build commit

    -

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    +

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    Examples
    -
    let s = String::from("foo");
    +
    let s = String::from("foo");
     
    -assert_eq!("foo", s.as_str());
    -
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    +assert_eq!("foo", s.as_str());
    +
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    Examples
    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples
    -
    let s = String::from("hello");
    +
    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or +

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let a = String::from("foo");
    +
    let a = String::from("foo");
     assert_eq!(a.len(), 3);
     
    -let fancy_f = String::from("ƒoo");
    +let fancy_f = String::from("ƒoo");
     assert_eq!(fancy_f.len(), 4);
     assert_eq!(fancy_f.chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    Examples
    let mut v = String::new();
     assert!(v.is_empty());
     
    -v.push('a');
    +v.push('a');
     assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -67,7 +68,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -75,32 +76,32 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -108,13 +109,13 @@ before the borrow ends and the underlying str is used.

    Examples

    Basic usage:

    -
    let mut s = String::from("Hello");
    +
    let mut s = String::from("Hello");
     let bytes = unsafe { s.as_bytes_mut() };
     
    -assert_eq!(b"Hello", bytes);
    +assert_eq!(b"Hello", bytes);

    Mutability:

    -
    let mut s = String::from("🗻∈🌏");
    +
    let mut s = String::from("🗻∈🌏");
     
     unsafe {
         let bytes = s.as_bytes_mut();
    @@ -125,30 +126,30 @@ before the borrow ends and the underlying str is used.

    bytes[3] = 0x94; } -assert_eq!("🍔∈🌏", s);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +assert_eq!("🍔∈🌏", s);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    +
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -156,33 +157,33 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub fn get_mut<I>( +

    1.20.0 · source

    pub fn get_mut<I>( &mut self, i: I -) -> Option<&mut <I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a mutable subslice of str.

    +) -> Option<&mut <I as SliceIndex<str>>::Output>
    where + I: SliceIndex<str>,

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    -
    let mut v = String::from("hello");
    +
    let mut v = String::from("hello");
     // correct length
     assert!(v.get_mut(0..5).is_some());
     // out of bounds
     assert!(v.get_mut(..42).is_none());
    -assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
    +assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
     
    -assert_eq!("hello", v);
    +assert_eq!("hello", v);
     {
         let s = v.get_mut(0..2);
         let s = s.map(|s| {
             s.make_ascii_uppercase();
             &*s
         });
    -    assert_eq!(Some("HE"), s);
    +    assert_eq!(Some("HE"), s);
     }
    -assert_eq!("HEllo", v);
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +assert_eq!("HEllo", v);
    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -195,17 +196,17 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( &mut self, i: I -) -> &mut <I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    +) -> &mut <I as SliceIndex<str>>::Output
    where + I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -218,20 +219,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let mut v = String::from("🗻∈🌏");
    +
    let mut v = String::from("🗻∈🌏");
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    -    assert_eq!("∈", v.get_unchecked_mut(4..7));
    -    assert_eq!("🌏", v.get_unchecked_mut(7..11));
    +    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    +    assert_eq!("∈", v.get_unchecked_mut(4..7));
    +    assert_eq!("🌏", v.get_unchecked_mut(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -241,29 +242,29 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( +

    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( &mut self, - begin: usize, - end: usize -) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety + begin: usize, + end: usize +) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -272,188 +273,188 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    Examples
    -
    let mut s = "Per Martin-Löf".to_string();
    +
    let mut s = "Per Martin-Löf".to_string();
     {
         let (first, last) = s.split_at_mut(3);
         first.make_ascii_uppercase();
    -    assert_eq!("PER", first);
    -    assert_eq!(" Martin-Löf", last);
    +    assert_eq!("PER", first);
    +    assert_eq!(" Martin-Löf", last);
     }
    -assert_eq!("PER Martin-Löf", s);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("PER Martin-Löf", s);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -466,277 +467,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -744,177 +745,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -925,16 +926,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -945,16 +946,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -965,17 +966,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -986,37 +987,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -1024,39 +1025,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -1066,18 +1067,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -1085,16 +1086,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -1104,260 +1105,288 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    +
    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"));
    +
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use to_ascii_uppercase().

    Examples
    -
    let mut s = String::from("Grüße, Jürgen ❤");
    +
    let mut s = String::from("Grüße, Jürgen ❤");
     
     s.make_ascii_uppercase();
     
    -assert_eq!("GRüßE, JüRGEN ❤", s);
    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    +assert_eq!("GRüßE, JüRGEN ❤", s);
    +
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use to_ascii_lowercase().

    Examples
    -
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
    +
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
     
     s.make_ascii_lowercase();
     
    -assert_eq!("grÜße, jÜrgen ❤", s);
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +assert_eq!("grÜße, jÜrgen ❤", s);
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for SOURCE_FILES_OF_INSTANCE

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for SOURCE_FILES_OF_INSTANCE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for SOURCE_FILES_OF_INSTANCE

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for SOURCE_FILES_OF_INSTANCE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +WithDispatch wrapper. Read more \ No newline at end of file diff --git a/mcaptcha/struct.Settings.html b/mcaptcha/struct.Settings.html index 5ea9c6bd..baf22970 100644 --- a/mcaptcha/struct.Settings.html +++ b/mcaptcha/struct.Settings.html @@ -1,40 +1,41 @@ -Settings in mcaptcha - Rust

    Struct mcaptcha::Settings

    source ·
    pub struct Settings {
    -    pub debug: bool,
    -    pub commercial: bool,
    -    pub source_code: String,
    -    pub allow_registration: bool,
    -    pub allow_demo: bool,
    +Settings in mcaptcha - Rust
    +    

    Struct mcaptcha::Settings

    source ·
    pub struct Settings {
    +    pub debug: bool,
    +    pub commercial: bool,
    +    pub source_code: String,
    +    pub allow_registration: bool,
    +    pub allow_demo: bool,
         pub database: Database,
    -    pub survey: Option<Survey>,
    -    pub redis: Option<Redis>,
    +    pub survey: Option<Survey>,
    +    pub redis: Option<Redis>,
         pub server: Server,
         pub captcha: Captcha,
    -    pub smtp: Option<Smtp>,
    -}

    Fields§

    §debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§survey: Option<Survey>§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

    Implementations§

    source§

    impl Settings

    source

    pub fn new() -> Result<Self, ConfigError>

    source

    fn check_easy_captcha_config(&self)

    source

    fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

    source

    fn set_database_type(&mut self)

    source

    fn check_url(&self)

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Settings

    source§

    fn eq(&self, other: &Settings) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Settings

    source§

    impl StructuralEq for Settings

    source§

    impl StructuralPartialEq for Settings

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + pub smtp: Option<Smtp>, +}

    Fields§

    §debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§survey: Option<Survey>§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

    Implementations§

    source§

    impl Settings

    source

    pub fn new() -> Result<Self, ConfigError>

    source

    fn check_easy_captcha_config(&self)

    source

    fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

    source

    fn set_database_type(&mut self)

    source

    fn check_url(&self)

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Settings

    source§

    fn eq(&self, other: &Settings) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Settings

    source§

    impl StructuralEq for Settings

    source§

    impl StructuralPartialEq for Settings

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html index 47c53da6..2d866143 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html @@ -1,28 +1,29 @@ -VERIFICATIN_WIDGET_CSS in mcaptcha - Rust
    pub struct VERIFICATIN_WIDGET_CSS {
    -    pub(crate) __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +VERIFICATIN_WIDGET_CSS in mcaptcha - Rust

    +
    pub struct VERIFICATIN_WIDGET_CSS {
    +    pub(crate) __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -33,7 +34,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -41,48 +42,48 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -90,8 +91,8 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -104,20 +105,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -127,181 +128,181 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -314,277 +315,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -592,177 +593,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -773,16 +774,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -793,16 +794,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -813,17 +814,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -834,37 +835,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -872,39 +873,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -914,18 +915,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -933,16 +934,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -952,238 +953,266 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +
    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"));
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for VERIFICATIN_WIDGET_CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for VERIFICATIN_WIDGET_CSS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for VERIFICATIN_WIDGET_CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for VERIFICATIN_WIDGET_CSS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 040bb38b..b213ffab 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html @@ -1,28 +1,29 @@ -VERIFICATIN_WIDGET_JS in mcaptcha - Rust
    pub struct VERIFICATIN_WIDGET_JS {
    -    pub(crate) __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +VERIFICATIN_WIDGET_JS in mcaptcha - Rust

    +
    pub struct VERIFICATIN_WIDGET_JS {
    +    pub(crate) __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -33,7 +34,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -41,48 +42,48 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -90,8 +91,8 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -104,20 +105,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -127,181 +128,181 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -314,277 +315,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -592,177 +593,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -773,16 +774,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -793,16 +794,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -813,17 +814,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -834,37 +835,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -872,39 +873,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -914,18 +915,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -933,16 +934,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -952,238 +953,266 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +
    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"));
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for VERIFICATIN_WIDGET_JS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for VERIFICATIN_WIDGET_JS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for VERIFICATIN_WIDGET_JS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for VERIFICATIN_WIDGET_JS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +WithDispatch wrapper. Read more \ No newline at end of file diff --git a/mcaptcha/survey/index.html b/mcaptcha/survey/index.html index 535774e1..63a29a4c 100644 --- a/mcaptcha/survey/index.html +++ b/mcaptcha/survey/index.html @@ -1 +1,2 @@ -mcaptcha::survey - Rust
    \ No newline at end of file +mcaptcha::survey - Rust +
    \ No newline at end of file diff --git a/mcaptcha/survey/struct.SecretsStore.html b/mcaptcha/survey/struct.SecretsStore.html index e5eab292..0f124a16 100644 --- a/mcaptcha/survey/struct.SecretsStore.html +++ b/mcaptcha/survey/struct.SecretsStore.html @@ -1,20 +1,21 @@ -SecretsStore in mcaptcha::survey - Rust
    pub struct SecretsStore {
    -    store: Arc<RwLock<HashMap<String, String>>>,
    -}

    Fields§

    §store: Arc<RwLock<HashMap<String, String>>>

    Implementations§

    source§

    impl SecretsStore

    source

    pub fn get(&self, key: &str) -> Option<String>

    source

    pub fn rm(&self, key: &str)

    source

    pub fn set(&self, key: String, value: String)

    Trait Implementations§

    source§

    impl Clone for SecretsStore

    source§

    fn clone(&self) -> SecretsStore

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SecretsStore

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for SecretsStore

    source§

    fn default() -> SecretsStore

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +SecretsStore in mcaptcha::survey - Rust +
    pub struct SecretsStore {
    +    store: Arc<RwLock<HashMap<String, String>>>,
    +}

    Fields§

    §store: Arc<RwLock<HashMap<String, String>>>

    Implementations§

    source§

    impl SecretsStore

    source

    pub fn get(&self, key: &str) -> Option<String>

    source

    pub fn rm(&self, key: &str)

    source

    pub fn set(&self, key: String, value: String)

    Trait Implementations§

    source§

    impl Clone for SecretsStore

    source§

    fn clone(&self) -> SecretsStore

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SecretsStore

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for SecretsStore

    source§

    fn default() -> SecretsStore

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/survey/struct.Survey.html b/mcaptcha/survey/struct.Survey.html index 147eb3d6..4a148361 100644 --- a/mcaptcha/survey/struct.Survey.html +++ b/mcaptcha/survey/struct.Survey.html @@ -1,37 +1,38 @@ -Survey in mcaptcha::survey - Rust

    Struct mcaptcha::survey::Survey

    source ·
    pub struct Survey {
    +Survey in mcaptcha::survey - Rust
    +    

    Struct mcaptcha::survey::Survey

    source ·
    pub struct Survey {
         client: Client,
         app_ctx: AppData,
    -}

    Fields§

    §client: Client§app_ctx: AppData

    Implementations§

    source§

    impl Survey

    source

    pub fn new(app_ctx: AppData) -> Self

    Trait Implementations§

    source§

    impl Clone for Survey

    source§

    fn clone(&self) -> Survey

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl SurveyClientTrait for Survey

    source§

    fn start_job<'life0, 'async_trait>( +}

    Fields§

    §client: Client§app_ctx: AppData

    Implementations§

    source§

    impl Survey

    source

    pub fn new(app_ctx: AppData) -> Self

    Trait Implementations§

    source§

    impl Clone for Survey

    source§

    fn clone(&self) -> Survey

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl SurveyClientTrait for Survey

    source§

    fn start_job<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(Sender<()>, JoinHandle<()>), ServiceError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(Sender<()>, JoinHandle<()>), ServiceError>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    source§

    fn is_online<'life0, 'async_trait>( + 'life0: 'async_trait,

    source§

    fn is_online<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<bool, ServiceError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<bool, ServiceError>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    source§

    fn schedule_upload_job<'life0, 'async_trait>( + 'life0: 'async_trait,

    source§

    fn schedule_upload_job<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    source§

    fn register<'life0, 'async_trait>( + 'life0: 'async_trait,

    source§

    fn register<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Survey

    §

    impl Send for Survey

    §

    impl Sync for Survey

    §

    impl Unpin for Survey

    §

    impl !UnwindSafe for Survey

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + 'life0: 'async_trait,

    Auto Trait Implementations§

    §

    impl !RefUnwindSafe for Survey

    §

    impl Send for Survey

    §

    impl Sync for Survey

    §

    impl Unpin for Survey

    §

    impl !UnwindSafe for Survey

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/survey/trait.SurveyClientTrait.html b/mcaptcha/survey/trait.SurveyClientTrait.html index 265280b3..dab97a30 100644 --- a/mcaptcha/survey/trait.SurveyClientTrait.html +++ b/mcaptcha/survey/trait.SurveyClientTrait.html @@ -1,39 +1,40 @@ -SurveyClientTrait in mcaptcha::survey - Rust
    pub trait SurveyClientTrait {
    +SurveyClientTrait in mcaptcha::survey - Rust
    +    
    pub trait SurveyClientTrait {
         // Required methods
         fn start_job<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(Sender<()>, JoinHandle<()>), ServiceError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(Sender<()>, JoinHandle<()>), ServiceError>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait;
         fn schedule_upload_job<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait;
         fn is_online<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<bool, ServiceError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<bool, ServiceError>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait;
         fn register<'life0, 'async_trait>(
             &'life0 self
    -    ) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>
    +    ) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>
            where Self: 'async_trait,
                  'life0: 'async_trait;
    -}

    Required Methods§

    source

    fn start_job<'life0, 'async_trait>( +}

    Required Methods§

    source

    fn start_job<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(Sender<()>, JoinHandle<()>), ServiceError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(Sender<()>, JoinHandle<()>), ServiceError>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    source

    fn schedule_upload_job<'life0, 'async_trait>( + 'life0: 'async_trait,

    source

    fn schedule_upload_job<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    source

    fn is_online<'life0, 'async_trait>( + 'life0: 'async_trait,

    source

    fn is_online<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<bool, ServiceError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<bool, ServiceError>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    source

    fn register<'life0, 'async_trait>( + 'life0: 'async_trait,

    source

    fn register<'life0, 'async_trait>( &'life0 self -) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>where +) -> Pin<Box<dyn Future<Output = Result<(), ServiceError>> + Send + 'async_trait>>
    where Self: 'async_trait, - 'life0: 'async_trait,

    Implementors§

    \ No newline at end of file + 'life0: 'async_trait,

    Implementors§

    \ No newline at end of file diff --git a/mcaptcha/type.AppData.html b/mcaptcha/type.AppData.html index 7a0d2013..784f3f90 100644 --- a/mcaptcha/type.AppData.html +++ b/mcaptcha/type.AppData.html @@ -1 +1,2 @@ -AppData in mcaptcha - Rust

    Type Alias mcaptcha::AppData

    source ·
    pub type AppData = Data<ArcData>;

    Aliased Type§

    struct AppData(Arc<Arc<Data>>);

    Fields§

    §0: Arc<Arc<Data>>
    \ No newline at end of file +AppData in mcaptcha - Rust +

    Type Alias mcaptcha::AppData

    source ·
    pub type AppData = Data<ArcData>;

    Aliased Type§

    struct AppData(Arc<Arc<Data>>);

    Fields§

    §0: Arc<Arc<Data>>
    \ No newline at end of file diff --git a/mcaptcha/type.ArcData.html b/mcaptcha/type.ArcData.html index 56d75397..237817e0 100644 --- a/mcaptcha/type.ArcData.html +++ b/mcaptcha/type.ArcData.html @@ -1,5 +1,6 @@ -ArcData in mcaptcha - Rust

    Type Alias mcaptcha::ArcData

    source ·
    pub type ArcData = Arc<Data>;

    Aliased Type§

    struct ArcData {
    -    ptr: NonNull<ArcInner<Data>>,
    -    phantom: PhantomData<ArcInner<Data>>,
    -    alloc: Global,
    -}

    Fields§

    §ptr: NonNull<ArcInner<Data>>§phantom: PhantomData<ArcInner<Data>>§alloc: Global
    \ No newline at end of file +ArcData in mcaptcha - Rust +

    Type Alias mcaptcha::ArcData

    source ·
    pub type ArcData = Arc<Data>;

    Aliased Type§

    struct ArcData {
    +    ptr: NonNull<ArcInner<Data>>,
    +    phantom: PhantomData<ArcInner<Data>>,
    +    alloc: Global,
    +}

    Fields§

    §ptr: NonNull<ArcInner<Data>>§phantom: PhantomData<ArcInner<Data>>§alloc: Global
    \ No newline at end of file diff --git a/mcaptcha/widget/constant.PAGE.html b/mcaptcha/widget/constant.PAGE.html index 1280550d..f3742d18 100644 --- a/mcaptcha/widget/constant.PAGE.html +++ b/mcaptcha/widget/constant.PAGE.html @@ -1 +1,2 @@ -PAGE in mcaptcha::widget - Rust

    Constant mcaptcha::widget::PAGE

    source ·
    const PAGE: &str = "mCaptcha CAPTCHA verification";
    \ No newline at end of file +PAGE in mcaptcha::widget - Rust +

    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 5630cb1b..637ed7fb 100644 --- a/mcaptcha/widget/constant.WIDGET_ROUTES.html +++ b/mcaptcha/widget/constant.WIDGET_ROUTES.html @@ -1 +1,2 @@ -WIDGET_ROUTES in mcaptcha::widget - Rust

    Constant mcaptcha::widget::WIDGET_ROUTES

    source ·
    pub const WIDGET_ROUTES: Widget;
    \ No newline at end of file +WIDGET_ROUTES in mcaptcha::widget - Rust +

    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 e1218daa..ff6b7cbd 100644 --- a/mcaptcha/widget/fn.services.html +++ b/mcaptcha/widget/fn.services.html @@ -1,2 +1,3 @@ -services in mcaptcha::widget - Rust

    Function mcaptcha::widget::services

    source ·
    pub fn services(cfg: &mut ServiceConfig)
    Expand description

    widget services

    +services in mcaptcha::widget - Rust +

    Function mcaptcha::widget::services

    source ·
    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 71fb5b45..9798bd62 100644 --- a/mcaptcha/widget/index.html +++ b/mcaptcha/widget/index.html @@ -1,2 +1,3 @@ -mcaptcha::widget - Rust

    Module mcaptcha::widget

    source ·
    Expand description

    User facing CAPTCHA widget

    -

    Modules

    Structs

    Constants

    Functions

    \ No newline at end of file +mcaptcha::widget - Rust +

    Module mcaptcha::widget

    source ·
    Expand description

    User facing CAPTCHA widget

    +

    Modules

    Structs

    Constants

    Functions

    \ No newline at end of file diff --git a/mcaptcha/widget/routes/index.html b/mcaptcha/widget/routes/index.html index afbe09bd..308f4e7d 100644 --- a/mcaptcha/widget/routes/index.html +++ b/mcaptcha/widget/routes/index.html @@ -1 +1,2 @@ -mcaptcha::widget::routes - Rust
    \ No newline at end of file +mcaptcha::widget::routes - Rust +
    \ No newline at end of file diff --git a/mcaptcha/widget/routes/struct.Widget.html b/mcaptcha/widget/routes/struct.Widget.html index 3d1fa5d8..2d9f83fa 100644 --- a/mcaptcha/widget/routes/struct.Widget.html +++ b/mcaptcha/widget/routes/struct.Widget.html @@ -1,19 +1,20 @@ -Widget in mcaptcha::widget::routes - Rust

    Struct mcaptcha::widget::routes::Widget

    source ·
    pub struct Widget {
    -    pub verification_widget: &'static str,
    -}

    Fields§

    §verification_widget: &'static str

    Implementations§

    source§

    impl Widget

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +Widget in mcaptcha::widget::routes - Rust +

    Struct mcaptcha::widget::routes::Widget

    source ·
    pub struct Widget {
    +    pub verification_widget: &'static str,
    +}

    Fields§

    §verification_widget: &'static str

    Implementations§

    source§

    impl Widget

    source

    pub const fn new() -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 6fd571a9..f30e6a47 100644 --- a/mcaptcha/widget/struct.INDEX_PAGE.html +++ b/mcaptcha/widget/struct.INDEX_PAGE.html @@ -1,61 +1,62 @@ -INDEX_PAGE in mcaptcha::widget - Rust

    Struct mcaptcha::widget::INDEX_PAGE

    source ·
    struct INDEX_PAGE {
    -    __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    +INDEX_PAGE in mcaptcha::widget - Rust +

    Struct mcaptcha::widget::INDEX_PAGE

    source ·
    struct INDEX_PAGE {
    +    __private_field: (),
    +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    Examples
    -
    let s = String::from("foo");
    +
    let s = String::from("foo");
     
    -assert_eq!("foo", s.as_str());
    -
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    +assert_eq!("foo", s.as_str());
    +
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    Examples
    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples
    -
    let s = String::from("hello");
    +
    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or +

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let a = String::from("foo");
    +
    let a = String::from("foo");
     assert_eq!(a.len(), 3);
     
    -let fancy_f = String::from("ƒoo");
    +let fancy_f = String::from("ƒoo");
     assert_eq!(fancy_f.len(), 4);
     assert_eq!(fancy_f.chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    Examples
    let mut v = String::new();
     assert!(v.is_empty());
     
    -v.push('a');
    +v.push('a');
     assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    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
    -
    let len = "foo".len();
    +
    let len = "foo".len();
     assert_eq!(3, len);
     
    -assert_eq!("ƒoo".len(), 4); // fancy f!
    -assert_eq!("ƒoo".chars().count(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    +assert_eq!("ƒoo".len(), 4); // fancy f! +assert_eq!("ƒoo".chars().count(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    Examples
    -
    let s = "";
    +
    let s = "";
     assert!(s.is_empty());
     
    -let s = "not empty";
    +let s = "not empty";
     assert!(!s.is_empty());
    -
    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point +

    1.9.0 · source

    pub fn is_char_boundary(&self, index: usize) -> bool

    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.

    Returns false if index is greater than self.len().

    Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     assert!(s.is_char_boundary(0));
     // start of `老`
     assert!(s.is_char_boundary(6));
    @@ -66,7 +67,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    🔬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 @@ -74,32 +75,32 @@ split. For example, the emoji 🧑‍🔬 (scientist) could be split so that the includes 🧑 (person) instead.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.floor_char_boundary(13);
     assert_eq!(closest, 10);
    -assert_eq!(&s[..closest], "❤️🧡");
    -
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +assert_eq!(&s[..closest], "❤️🧡");
    +
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    🔬This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    If index is greater than the length of the string, this returns the length of the string.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Examples
    #![feature(round_char_boundary)]
    -let s = "❤️🧡💛💚💙💜";
    +let s = "❤️🧡💛💚💙💜";
     assert_eq!(s.len(), 26);
     assert!(!s.is_char_boundary(13));
     
     let closest = s.ceil_char_boundary(13);
     assert_eq!(closest, 14);
    -assert_eq!(&s[..closest], "❤️🧡💛");
    -
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +assert_eq!(&s[..closest], "❤️🧡💛");
    +
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples
    -
    let bytes = "bors".as_bytes();
    -assert_eq!(b"bors", bytes);
    -
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    +
    let bytes = "bors".as_bytes();
    +assert_eq!(b"bors", bytes);
    +
    1.20.0 · source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -107,13 +108,13 @@ before the borrow ends and the underlying str is used.

    Examples

    Basic usage:

    -
    let mut s = String::from("Hello");
    +
    let mut s = String::from("Hello");
     let bytes = unsafe { s.as_bytes_mut() };
     
    -assert_eq!(b"Hello", bytes);
    +assert_eq!(b"Hello", bytes);

    Mutability:

    -
    let mut s = String::from("🗻∈🌏");
    +
    let mut s = String::from("🗻∈🌏");
     
     unsafe {
         let bytes = s.as_bytes_mut();
    @@ -124,30 +125,30 @@ before the borrow ends and the underlying str is used.

    bytes[3] = 0x94; } -assert_eq!("🍔∈🌏", s);
    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    +assert_eq!("🍔∈🌏", s);
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const u8

    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
    -
    let s = "Hello";
    +
    let s = "Hello";
     let ptr = s.as_ptr();
    -
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    +
    1.36.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a subslice of str.

    +
    1.20.0 · source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where + I: SliceIndex<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("🗻∈🌏");
    +
    let v = String::from("🗻∈🌏");
     
    -assert_eq!(Some("🗻"), v.get(0..4));
    +assert_eq!(Some("🗻"), v.get(0..4));
     
     // indices not on UTF-8 sequence boundaries
     assert!(v.get(1..).is_none());
    @@ -155,33 +156,33 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -
    1.20.0 · source

    pub fn get_mut<I>( +

    1.20.0 · source

    pub fn get_mut<I>( &mut self, i: I -) -> Option<&mut <I as SliceIndex<str>>::Output>where - I: SliceIndex<str>,

    Returns a mutable subslice of str.

    +) -> Option<&mut <I as SliceIndex<str>>::Output>
    where + I: SliceIndex<str>,

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    -
    let mut v = String::from("hello");
    +
    let mut v = String::from("hello");
     // correct length
     assert!(v.get_mut(0..5).is_some());
     // out of bounds
     assert!(v.get_mut(..42).is_none());
    -assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
    +assert_eq!(Some("he"), v.get_mut(0..2).map(|v| &*v));
     
    -assert_eq!("hello", v);
    +assert_eq!("hello", v);
     {
         let s = v.get_mut(0..2);
         let s = s.map(|s| {
             s.make_ascii_uppercase();
             &*s
         });
    -    assert_eq!(Some("HE"), s);
    +    assert_eq!(Some("HE"), s);
     }
    -assert_eq!("HEllo", v);
    -
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    +assert_eq!("HEllo", v);
    +
    1.20.0 · source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where + I: SliceIndex<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 @@ -194,17 +195,17 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let v = "🗻∈🌏";
    +
    let v = "🗻∈🌏";
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked(0..4));
    -    assert_eq!("∈", v.get_unchecked(4..7));
    -    assert_eq!("🌏", v.get_unchecked(7..11));
    +    assert_eq!("🗻", v.get_unchecked(0..4));
    +    assert_eq!("∈", v.get_unchecked(4..7));
    +    assert_eq!("🌏", v.get_unchecked(7..11));
     }
    -
    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.20.0 · source

    pub unsafe fn get_unchecked_mut<I>( &mut self, i: I -) -> &mut <I as SliceIndex<str>>::Outputwhere - I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    +) -> &mut <I as SliceIndex<str>>::Output
    where + I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -217,20 +218,20 @@ satisfied:

    Failing that, the returned string slice may reference invalid memory or violate the invariants communicated by the str type.

    Examples
    -
    let mut v = String::from("🗻∈🌏");
    +
    let mut v = String::from("🗻∈🌏");
     unsafe {
    -    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    -    assert_eq!("∈", v.get_unchecked_mut(4..7));
    -    assert_eq!("🌏", v.get_unchecked_mut(7..11));
    +    assert_eq!("🗻", v.get_unchecked_mut(0..4));
    +    assert_eq!("∈", v.get_unchecked_mut(4..7));
    +    assert_eq!("🌏", v.get_unchecked_mut(7..11));
     }
    -
    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎Deprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety +

    1.0.0 · source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    👎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:

    @@ -240,29 +241,29 @@ satisfied:

  • begin and end must lie on UTF-8 sequence boundaries.
  • Examples
    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     unsafe {
    -    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
    +    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
     }
     
    -let s = "Hello, world!";
    +let s = "Hello, world!";
     
     unsafe {
    -    assert_eq!("world", s.slice_unchecked(7, 12));
    +    assert_eq!("world", s.slice_unchecked(7, 12));
     }
    -
    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( +

    1.5.0 · source

    pub unsafe fn slice_mut_unchecked( &mut self, - begin: usize, - end: usize -) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety + begin: usize, + end: usize +) -> &mut str

    👎Deprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -271,188 +272,188 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    +
    1.4.0 · source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    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 past the end of the last code point of the string slice.

    Examples
    -
    let s = "Per Martin-Löf";
    +
    let s = "Per Martin-Löf";
     
     let (first, last) = s.split_at(3);
     
    -assert_eq!("Per", first);
    -assert_eq!(" Martin-Löf", last);
    -
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    +assert_eq!("Per", first); +assert_eq!(" Martin-Löf", last);
    +
    1.4.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    Examples
    -
    let mut s = "Per Martin-Löf".to_string();
    +
    let mut s = "Per Martin-Löf".to_string();
     {
         let (first, last) = s.split_at_mut(3);
         first.make_ascii_uppercase();
    -    assert_eq!("PER", first);
    -    assert_eq!(" Martin-Löf", last);
    +    assert_eq!("PER", first);
    +    assert_eq!(" Martin-Löf", last);
     }
    -assert_eq!("PER Martin-Löf", s);
    -
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    Returns an iterator over the chars of a string slice.

    +assert_eq!("PER Martin-Löf", s);
    +
    1.0.0 · source

    pub fn chars(&self) -> Chars<'_>

    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.

    Examples

    Basic usage:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.chars().count();
     assert_eq!(7, count);
     
     let mut chars = word.chars();
     
    -assert_eq!(Some('g'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('o'), chars.next());
    -assert_eq!(Some('d'), chars.next());
    -assert_eq!(Some('b'), chars.next());
    -assert_eq!(Some('y'), chars.next());
    -assert_eq!(Some('e'), chars.next());
    +assert_eq!(Some('g'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('o'), chars.next());
    +assert_eq!(Some('d'), chars.next());
    +assert_eq!(Some('b'), chars.next());
    +assert_eq!(Some('y'), chars.next());
    +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̆";
    +
    let y = "y̆";
     
     let mut chars = y.chars();
     
    -assert_eq!(Some('y'), chars.next()); // not 'y̆'
    -assert_eq!(Some('\u{0306}'), chars.next());
    +assert_eq!(Some('y'), chars.next()); // not 'y̆'
    +assert_eq!(Some('\u{0306}'), chars.next());
     
     assert_eq!(None, chars.next());
    -
    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    Returns an iterator over the chars of a string slice, and their +

    1.0.0 · source

    pub fn char_indices(&self) -> CharIndices<'_>

    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:

    -
    let word = "goodbye";
    +
    let word = "goodbye";
     
     let count = word.char_indices().count();
     assert_eq!(7, count);
     
     let mut char_indices = word.char_indices();
     
    -assert_eq!(Some((0, 'g')), char_indices.next());
    -assert_eq!(Some((1, 'o')), char_indices.next());
    -assert_eq!(Some((2, 'o')), char_indices.next());
    -assert_eq!(Some((3, 'd')), char_indices.next());
    -assert_eq!(Some((4, 'b')), char_indices.next());
    -assert_eq!(Some((5, 'y')), char_indices.next());
    -assert_eq!(Some((6, 'e')), char_indices.next());
    +assert_eq!(Some((0, 'g')), char_indices.next());
    +assert_eq!(Some((1, 'o')), char_indices.next());
    +assert_eq!(Some((2, 'o')), char_indices.next());
    +assert_eq!(Some((3, 'd')), char_indices.next());
    +assert_eq!(Some((4, 'b')), char_indices.next());
    +assert_eq!(Some((5, 'y')), char_indices.next());
    +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";
    +
    let yes = "y̆es";
     
     let mut char_indices = yes.char_indices();
     
    -assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    -assert_eq!(Some((1, '\u{0306}')), char_indices.next());
    +assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
    +assert_eq!(Some((1, '\u{0306}')), char_indices.next());
     
     // note the 3 here - the previous character took up two bytes
    -assert_eq!(Some((3, 'e')), char_indices.next());
    -assert_eq!(Some((4, 's')), char_indices.next());
    +assert_eq!(Some((3, 'e')), char_indices.next());
    +assert_eq!(Some((4, 's')), char_indices.next());
     
     assert_eq!(None, char_indices.next());
    -
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    An iterator over the bytes of a string slice.

    +
    1.0.0 · source

    pub fn bytes(&self) -> Bytes<'_>

    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
    -
    let mut bytes = "bors".bytes();
    +
    let mut bytes = "bors".bytes();
     
    -assert_eq!(Some(b'b'), bytes.next());
    -assert_eq!(Some(b'o'), bytes.next());
    -assert_eq!(Some(b'r'), bytes.next());
    -assert_eq!(Some(b's'), bytes.next());
    +assert_eq!(Some(b'b'), bytes.next());
    +assert_eq!(Some(b'o'), bytes.next());
    +assert_eq!(Some(b'r'), bytes.next());
    +assert_eq!(Some(b's'), bytes.next());
     
     assert_eq!(None, bytes.next());
    -
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    Splits a string slice by whitespace.

    +
    1.1.0 · source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_whitespace();
    +
    let mut iter = "A few words".split_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of whitespace are considered:

    -
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_whitespace().next(), None);
    -assert_eq!("   ".split_whitespace().next(), None);
    -
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    Splits a string slice by ASCII whitespace.

    +
    assert_eq!("".split_whitespace().next(), None);
    +assert_eq!("   ".split_whitespace().next(), None);
    +
    1.34.0 · source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>

    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:

    -
    let mut iter = "A few words".split_ascii_whitespace();
    +
    let mut iter = "A few words".split_ascii_whitespace();
     
    -assert_eq!(Some("A"), iter.next());
    -assert_eq!(Some("few"), iter.next());
    -assert_eq!(Some("words"), iter.next());
    +assert_eq!(Some("A"), iter.next());
    +assert_eq!(Some("few"), iter.next());
    +assert_eq!(Some("words"), iter.next());
     
     assert_eq!(None, iter.next());

    All kinds of ASCII whitespace are considered:

    -
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    -assert_eq!(Some("Mary"), iter.next());
    -assert_eq!(Some("had"), iter.next());
    -assert_eq!(Some("a"), iter.next());
    -assert_eq!(Some("little"), iter.next());
    -assert_eq!(Some("lamb"), iter.next());
    +
    let mut iter = " Mary   had\ta little  \n\t lamb".split_ascii_whitespace();
    +assert_eq!(Some("Mary"), iter.next());
    +assert_eq!(Some("had"), iter.next());
    +assert_eq!(Some("a"), iter.next());
    +assert_eq!(Some("little"), iter.next());
    +assert_eq!(Some("lamb"), iter.next());
     
     assert_eq!(None, iter.next());

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    -
    assert_eq!("".split_ascii_whitespace().next(), None);
    -assert_eq!("   ".split_ascii_whitespace().next(), None);
    -
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    +
    assert_eq!("".split_ascii_whitespace().next(), None);
    +assert_eq!("   ".split_ascii_whitespace().next(), None);
    +
    1.0.0 · source

    pub fn lines(&self) -> Lines<'_>

    An iterator over the lines of a string, as string slices.

    Lines are split at line endings that are either newlines (\n) or sequences of a carriage return followed by a line feed (\r\n).

    Line terminators are not included in the lines returned by the iterator.

    @@ -465,277 +466,277 @@ without a final line ending.

    Examples

    Basic usage:

    -
    let text = "foo\r\nbar\n\nbaz\r";
    +
    let text = "foo\r\nbar\n\nbaz\r";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
     // Trailing carriage return is included in the last line
    -assert_eq!(Some("baz\r"), lines.next());
    +assert_eq!(Some("baz\r"), lines.next());
     
     assert_eq!(None, lines.next());

    The final line does not require any ending:

    -
    let text = "foo\nbar\n\r\nbaz";
    +
    let text = "foo\nbar\n\r\nbaz";
     let mut lines = text.lines();
     
    -assert_eq!(Some("foo"), lines.next());
    -assert_eq!(Some("bar"), lines.next());
    -assert_eq!(Some(""), lines.next());
    -assert_eq!(Some("baz"), lines.next());
    +assert_eq!(Some("foo"), lines.next());
    +assert_eq!(Some("bar"), lines.next());
    +assert_eq!(Some(""), lines.next());
    +assert_eq!(Some("baz"), lines.next());
     
     assert_eq!(None, lines.next());
    -
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    -
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    +
    1.0.0 · source

    pub fn lines_any(&self) -> LinesAny<'_>

    👎Deprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    +
    1.8.0 · source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_>

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples
    -
    let text = "Zażółć gęślą jaźń";
    +
    let text = "Zażółć gęślą jaźń";
     
     let utf8_len = text.len();
     let utf16_len = text.encode_utf16().count();
     
     assert!(utf16_len <= utf8_len);
    -
    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of +

    1.0.0 · source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.contains("nana"));
    -assert!(!bananas.contains("apples"));
    -
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this +assert!(bananas.contains("nana")); +assert!(!bananas.contains("apples"));

    +
    1.0.0 · source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.starts_with("bana"));
    -assert!(!bananas.starts_with("nana"));
    -
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> boolwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this +assert!(bananas.starts_with("bana")); +assert!(!bananas.starts_with("nana"));

    +
    1.0.0 · source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let bananas = "bananas";
    +
    let bananas = "bananas";
     
    -assert!(bananas.ends_with("anas"));
    -assert!(!bananas.ends_with("nana"));
    -
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that +assert!(bananas.ends_with("anas")); +assert!(!bananas.ends_with("nana"));

    +
    1.0.0 · source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>,

    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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.find('L'), Some(0));
    -assert_eq!(s.find('é'), Some(14));
    -assert_eq!(s.find("pard"), Some(17));
    +assert_eq!(s.find('L'), Some(0)); +assert_eq!(s.find('é'), Some(14)); +assert_eq!(s.find("pard"), Some(17));

    More complex patterns using point-free style and closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.find(char::is_whitespace), Some(5));
     assert_eq!(s.find(char::is_lowercase), Some(1));
     assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
    -assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    +assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.find(x), None);
    -
    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in +

    1.0.0 · source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last 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:

    -
    let s = "Löwe 老虎 Léopard Gepardi";
    +
    let s = "Löwe 老虎 Léopard Gepardi";
     
    -assert_eq!(s.rfind('L'), Some(13));
    -assert_eq!(s.rfind('é'), Some(14));
    -assert_eq!(s.rfind("pard"), Some(24));
    +assert_eq!(s.rfind('L'), Some(13)); +assert_eq!(s.rfind('é'), Some(14)); +assert_eq!(s.rfind("pard"), Some(24));

    More complex patterns with closures:

    -
    let s = "Löwe 老虎 Léopard";
    +
    let s = "Löwe 老虎 Léopard";
     
     assert_eq!(s.rfind(char::is_whitespace), Some(12));
     assert_eq!(s.rfind(char::is_lowercase), Some(20));

    Not finding the pattern:

    -
    let s = "Löwe 老虎 Léopard";
    -let x: &[_] = &['1', '2'];
    +
    let s = "Löwe 老虎 Léopard";
    +let x: &[_] = &['1', '2'];
     
     assert_eq!(s.rfind(x), None);
    -
    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    1.0.0 · source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
    where + P: Pattern<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    -assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".split(' ').collect();
    +assert_eq!(v, ["Mary", "had", "a", "little", "lamb"]);
     
    -let v: Vec<&str> = "".split('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".split('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    -assert_eq!(v, ["lion", "", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".split('X').collect();
    +assert_eq!(v, ["lion", "", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
    +assert_eq!(v, ["lion", "tiger", "leopard"]);
     
    -let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);
     
    -let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
    -assert_eq!(v, ["lion", "tiger", "leopard"]);
    +let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect(); +assert_eq!(v, ["lion", "tiger", "leopard"]);

    If the pattern is a slice of chars, split on each occurrence of any of the characters:

    -
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    -assert_eq!(v, ["2020", "11", "03", "23", "59"]);
    +
    let v: Vec<&str> = "2020-11-03 23:59".split(&['-', ' ', ':', '@'][..]).collect();
    +assert_eq!(v, ["2020", "11", "03", "23", "59"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "def", "ghi"]);
    +
    let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "def", "ghi"]);

    If a string contains multiple contiguous separators, you will end up with empty strings in the output:

    -
    let x = "||||a||b|c".to_string();
    -let d: Vec<_> = x.split('|').collect();
    +
    let x = "||||a||b|c".to_string();
    +let d: Vec<_> = x.split('|').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    Contiguous separators are separated by the empty string.

    -
    let x = "(///)".to_string();
    -let d: Vec<_> = x.split('/').collect();
    +
    let x = "(///)".to_string();
    +let d: Vec<_> = x.split('/').collect();
     
    -assert_eq!(d, &["(", "", "", ")"]);
    +assert_eq!(d, &["(", "", "", ")"]);

    Separators at the start or end of a string are neighbored by empty strings.

    -
    let d: Vec<_> = "010".split("0").collect();
    -assert_eq!(d, &["", "1", ""]);
    +
    let d: Vec<_> = "010".split("0").collect();
    +assert_eq!(d, &["", "1", ""]);

    When the empty string is used as a separator, it separates every character in the string, along with the beginning and end of the string.

    -
    let f: Vec<_> = "rust".split("").collect();
    -assert_eq!(f, &["", "r", "u", "s", "t", ""]);
    +
    let f: Vec<_> = "rust".split("").collect();
    +assert_eq!(f, &["", "r", "u", "s", "t", ""]);

    Contiguous separators can lead to possibly surprising behavior when whitespace is used as the separator. This code is correct:

    -
    let x = "    a  b c".to_string();
    -let d: Vec<_> = x.split(' ').collect();
    +
    let x = "    a  b c".to_string();
    +let d: Vec<_> = x.split(' ').collect();
     
    -assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
    +assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);

    It does not give you:

    -
    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by +

    assert_eq!(d, &["a", "b", "c"]);
    +

    Use split_whitespace for this behavior.

    +
    1.51.0 · source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P>
    where + P: Pattern<'a>,

    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."
    -    .split_inclusive('\n').collect();
    -assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
    +
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    +    .split_inclusive('\n').collect();
    +assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);

    If the last element of the string is matched, that element will be considered the terminator of the preceding substring. 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"]);
    -
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by +

    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"]);
    +
    1.0.0 · source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    -assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplit(' ').collect();
    +assert_eq!(v, ["lamb", "little", "a", "had", "Mary"]);
     
    -let v: Vec<&str> = "".rsplit('X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".rsplit('X').collect();
    +assert_eq!(v, [""]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    -assert_eq!(v, ["leopard", "tiger", "", "lion"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplit('X').collect();
    +assert_eq!(v, ["leopard", "tiger", "", "lion"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect();
    -assert_eq!(v, ["leopard", "tiger", "lion"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplit("::").collect(); +assert_eq!(v, ["leopard", "tiger", "lion"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "def", "abc"]);
    -
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by +

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "def", "abc"]);
    +
    1.0.0 · source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    -assert_eq!(v, ["A", "B"]);
    +
    let v: Vec<&str> = "A.B.".split_terminator('.').collect();
    +assert_eq!(v, ["A", "B"]);
     
    -let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    -assert_eq!(v, ["A", "", "B", ""]);
    +let v: Vec<&str> = "A..B..".split_terminator(".").collect();
    +assert_eq!(v, ["A", "", "B", ""]);
     
    -let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["A", "B", "C", "D"]);
    -
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters +let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["A", "B", "C", "D"]);

    +
    1.0.0 · source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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.

    @@ -743,177 +744,177 @@ 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();
    -assert_eq!(v, ["B", "A"]);
    +
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    +assert_eq!(v, ["B", "A"]);
     
    -let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    -assert_eq!(v, ["", "B", "", "A"]);
    +let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
    +assert_eq!(v, ["", "B", "", "A"]);
     
    -let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect();
    -assert_eq!(v, ["D", "C", "B", "A"]);
    -
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>where - P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a +let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); +assert_eq!(v, ["D", "C", "B", "A"]);

    +
    1.0.0 · source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P>
    where + P: Pattern<'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:

    -
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    -assert_eq!(v, ["Mary", "had", "a little lambda"]);
    +
    let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
    +assert_eq!(v, ["Mary", "had", "a little lambda"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    -assert_eq!(v, ["lion", "", "tigerXleopard"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
    +assert_eq!(v, ["lion", "", "tigerXleopard"]);
     
    -let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    -assert_eq!(v, ["abcXdef"]);
    +let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
    +assert_eq!(v, ["abcXdef"]);
     
    -let v: Vec<&str> = "".splitn(1, 'X').collect();
    -assert_eq!(v, [""]);
    +let v: Vec<&str> = "".splitn(1, 'X').collect(); +assert_eq!(v, [""]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["abc", "defXghi"]);
    -
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a +

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["abc", "defXghi"]);
    +
    1.0.0 · source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'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:

    -
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    -assert_eq!(v, ["lamb", "little", "Mary had a"]);
    +
    let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
    +assert_eq!(v, ["lamb", "little", "Mary had a"]);
     
    -let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    -assert_eq!(v, ["leopard", "tiger", "lionX"]);
    +let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
    +assert_eq!(v, ["leopard", "tiger", "lionX"]);
     
    -let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
    -assert_eq!(v, ["leopard", "lion::tiger"]);
    +let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect(); +assert_eq!(v, ["leopard", "lion::tiger"]);

    A more complex pattern, using a closure:

    -
    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    -assert_eq!(v, ["ghi", "abc1def"]);
    -
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and +

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
    +assert_eq!(v, ["ghi", "abc1def"]);
    +
    1.52.0 · source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>,

    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=".split_once('='), Some(("cfg", "")));
    -assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    -assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and +

    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
    +assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
    +assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    +
    1.52.0 · source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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")));
    -
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string +

    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")));
    +
    1.2.0 · source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
    -assert_eq!(v, ["1", "2", "3"]);
    -
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice, +let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); +assert_eq!(v, ["1", "2", "3"]);

    +
    1.2.0 · source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    -assert_eq!(v, ["abc", "abc", "abc"]);
    +
    let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
    +assert_eq!(v, ["abc", "abc", "abc"]);
     
    -let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect();
    -assert_eq!(v, ["3", "2", "1"]);
    -
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>where - P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string +let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); +assert_eq!(v, ["3", "2", "1"]);

    +
    1.5.0 · source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P>
    where + P: Pattern<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    -assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
    +assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    -assert_eq!(v, [(1, "abc"), (4, "abc")]);
    +let v: Vec<_> = "1abcabc2".match_indices("abc").collect();
    +assert_eq!(v, [(1, "abc"), (4, "abc")]);
     
    -let v: Vec<_> = "ababa".match_indices("aba").collect();
    -assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self, +let v: Vec<_> = "ababa".match_indices("aba").collect(); +assert_eq!(v, [(0, "aba")]); // only the first `aba`

    +
    1.5.0 · source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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
    -
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    -assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
    +
    let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
    +assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
     
    -let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    -assert_eq!(v, [(4, "abc"), (1, "abc")]);
    +let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
    +assert_eq!(v, [(4, "abc"), (1, "abc")]);
     
    -let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
    -assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    +let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); +assert_eq!(v, [(2, "aba")]); // only the last `aba`
    +
    1.0.0 · source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    -
    let s = "\n Hello\tworld\t\n";
    +
    let s = "\n Hello\tworld\t\n";
     
    -assert_eq!("Hello\tworld", s.trim());
    -
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    +assert_eq!("Hello\tworld", s.trim());
    +
    1.30.0 · source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -924,16 +925,16 @@ Arabic or Hebrew, this will be the right side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("Hello\tworld\t\n", s.trim_start());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("Hello\tworld\t\n", s.trim_start());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('E') == s.trim_start().chars().next());
    +
    let s = "  English  ";
    +assert!(Some('E') == s.trim_start().chars().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ע') == s.trim_start().chars().next());
    -
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית "; +assert!(Some('ע') == s.trim_start().chars().next());
    +
    1.30.0 · source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -944,16 +945,16 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Basic usage:

    -
    let s = "\n Hello\tworld\t\n";
    -assert_eq!("\n Hello\tworld", s.trim_end());
    +
    let s = "\n Hello\tworld\t\n";
    +assert_eq!("\n Hello\tworld", s.trim_end());

    Directionality:

    -
    let s = "  English  ";
    -assert!(Some('h') == s.trim_end().chars().rev().next());
    +
    let s = "  English  ";
    +assert!(Some('h') == s.trim_end().chars().rev().next());
     
    -let s = "  עברית  ";
    -assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    +let s = " עברית "; +assert!(Some('ת') == s.trim_end().chars().rev().next());
    +
    1.0.0 · source

    pub fn trim_left(&self) -> &str

    👎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.

    Text directionality
    @@ -964,17 +965,17 @@ the right side, not the left.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!("Hello\tworld\t", s.trim_left());
    +assert_eq!("Hello\tworld\t", s.trim_left());

    Directionality:

    -
    let s = "  English";
    -assert!(Some('E') == s.trim_left().chars().next());
    +
    let s = "  English";
    +assert!(Some('E') == s.trim_left().chars().next());
     
    -let s = "  עברית";
    -assert!(Some('ע') == s.trim_left().chars().next());
    -
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎Deprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    +let s = " עברית"; +assert!(Some('ע') == s.trim_left().chars().next());
    +
    1.0.0 · source

    pub fn trim_right(&self) -> &str

    👎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.

    Text directionality
    @@ -985,37 +986,37 @@ the left side, not the right.

    Examples

    Basic usage:

    -
    let s = " Hello\tworld\t";
    +
    let s = " Hello\tworld\t";
     
    -assert_eq!(" Hello\tworld", s.trim_right());
    +assert_eq!(" Hello\tworld", s.trim_right());

    Directionality:

    -
    let s = "English  ";
    -assert!(Some('h') == s.trim_right().chars().rev().next());
    +
    let s = "English  ";
    +assert!(Some('h') == s.trim_right().chars().rev().next());
     
    -let s = "עברית  ";
    -assert!(Some('ת') == s.trim_right().chars().rev().next());
    -
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a +let s = "עברית "; +assert!(Some('ת') == s.trim_right().chars().rev().next());

    +
    1.0.0 · source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'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:

    -
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    -assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
    +
    assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
    +assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    +
    1.30.0 · source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    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 @@ -1023,39 +1024,39 @@ position of that byte string; for a left-to-right language like English or Russian, this will be left side, and for right-to-left languages like Arabic or Hebrew, this will be the right side.

    Examples
    -
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_start_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_start_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>where - P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    +
    1.45.0 · source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where + P: Pattern<'a>,

    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"));
    -
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>where - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    +
    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"));
    +
    1.45.0 · source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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"));
    -
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern +

    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"));
    +
    1.30.0 · source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    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 @@ -1065,18 +1066,18 @@ Arabic or Hebrew, this will be the left side.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_end_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_end_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_end_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>,

    👎Deprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern +

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>,

    👎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 @@ -1084,16 +1085,16 @@ position of that byte string; for a language like Arabic or Hebrew which are ‘right to left’ rather than ‘left to right’, this will be the right side, not the left.

    Examples
    -
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    -assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
    +
    assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
    +assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a strwhere - P: Pattern<'a>, - <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎Deprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");

    +
    1.0.0 · source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where + P: Pattern<'a>, + <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    👎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 @@ -1103,260 +1104,288 @@ the left side, not the right.

    Examples

    Simple patterns:

    -
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    -assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
    +
    assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
    +assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
     
    -let x: &[_] = &['1', '2'];
    -assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
    +let x: &[_] = &['1', '2']; +assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");

    A more complex pattern, using a closure:

    -
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>where - F: FromStr,

    Parses this string slice into another type.

    +
    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    +
    1.0.0 · source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where + F: FromStr,

    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

    -
    let four: u32 = "4".parse().unwrap();
    +
    let four: u32 = "4".parse().unwrap();
     
     assert_eq!(4, four);

    Using the ‘turbofish’ instead of annotating four:

    -
    let four = "4".parse::<u32>();
    +
    let four = "4".parse::<u32>();
     
     assert_eq!(Ok(4), four);

    Failing to parse:

    -
    let nope = "j".parse::<u32>();
    +
    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    Examples
    -
    let ascii = "hello!\n";
    -let non_ascii = "Grüße, Jürgen ❤";
    +
    let ascii = "hello!\n";
    +let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice -of ASCII characters, otherwise returns None.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this string slice is_ascii, returns it as a slice +of ASCII characters, otherwise returns None.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    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"));
    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    +
    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"));
    +
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use to_ascii_uppercase().

    Examples
    -
    let mut s = String::from("Grüße, Jürgen ❤");
    +
    let mut s = String::from("Grüße, Jürgen ❤");
     
     s.make_ascii_uppercase();
     
    -assert_eq!("GRüßE, JüRGEN ❤", s);
    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    +assert_eq!("GRüßE, JüRGEN ❤", s);
    +
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use to_ascii_lowercase().

    Examples
    -
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
    +
    let mut s = String::from("GRÜßE, JÜRGEN ❤");
     
     s.make_ascii_lowercase();
     
    -assert_eq!("grÜße, jÜrgen ❤", s);
    -
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    Return an iterator that escapes each char in self with char::escape_debug.

    +assert_eq!("grÜße, jÜrgen ❤", s);
    +
    source

    pub fn trim_ascii_start(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(" \t \u{3000}hello world\n".trim_ascii_start(), "\u{3000}hello world\n");
    +assert_eq!("  ".trim_ascii_start(), "");
    +assert_eq!("".trim_ascii_start(), "");
    +
    source

    pub fn trim_ascii_end(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with trailing ASCII whitespace removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\u{3000}\n ".trim_ascii_end(), "\r hello world\u{3000}");
    +assert_eq!("  ".trim_ascii_end(), "");
    +assert_eq!("".trim_ascii_end(), "");
    +
    source

    pub fn trim_ascii(&self) -> &str

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a string slice with leading and trailing ASCII whitespace +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!("\r hello world\n ".trim_ascii(), "hello world");
    +assert_eq!("  ".trim_ascii(), "");
    +assert_eq!("".trim_ascii(), "");
    +
    1.34.0 · source

    pub fn escape_debug(&self) -> EscapeDebug<'_>

    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
    +
    Examples

    As an iterator:

    -
    for c in "❤\n!".escape_debug() {
    -    print!("{c}");
    +
    for c in "❤\n!".escape_debug() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_debug());
    +
    println!("{}", "❤\n!".escape_debug());

    Both are equivalent to:

    -
    println!("❤\\n!");
    +
    println!("❤\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    Return an iterator that escapes each char in self with char::escape_default.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    +
    1.34.0 · source

    pub fn escape_default(&self) -> EscapeDefault<'_>

    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}");
    +
    for c in "❤\n!".escape_default() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_default());
    +
    println!("{}", "❤\n!".escape_default());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\n!");
    +
    println!("\\u{{2764}}\\n!");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    Return an iterator that escapes each char in self with char::escape_unicode.

    -
    Examples
    +
    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    +
    1.34.0 · source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_>

    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}");
    +
    for c in "❤\n!".escape_unicode() {
    +    print!("{c}");
     }
     println!();

    Using println! directly:

    -
    println!("{}", "❤\n!".escape_unicode());
    +
    println!("{}", "❤\n!".escape_unicode());

    Both are equivalent to:

    -
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
    +
    println!("\\u{{2764}}\\u{{a}}\\u{{21}}");

    Using to_string:

    -
    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere - P: Pattern<'a>,

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    +
    1.0.0 · source

    pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String
    where + P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "this is old";
    -
    -assert_eq!("this is new", s.replace("old", "new"));
    -assert_eq!("than an old", s.replace("is", "an"));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere - P: Pattern<'a>,

    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
    -

    Basic usage:

    - -
    let s = "foo foo 123 foo";
    -assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    -assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    -assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    -

    When the pattern doesn’t match, it returns this string slice as String:

    - -
    let s = "this is old";
    -assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 -parameter in-place.

    -
    Examples
    -

    Basic usage:

    - -
    let s = "HELLO";
    -
    -assert_eq!("hello", s.to_lowercase());
    -

    A tricky example, with sigma:

    - -
    let sigma = "Σ";
    -
    -assert_eq!("σ", sigma.to_lowercase());
    -
    -// but at the end of a word, it's ς, not σ:
    -let odysseus = "ὈΔΥΣΣΕΎΣ";
    -
    -assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    -

    Languages without case are not changed:

    - -
    let new_year = "农历新年";
    -
    -assert_eq!(new_year, new_year.to_lowercase());
    -
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 -parameter in-place.

    Examples

    Basic usage:

    -
    let s = "hello";
    +
    let s = "this is old";
     
    -assert_eq!("HELLO", s.to_uppercase());
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replace("cookie monster", "little lamb"));
    +
    1.16.0 · source

    pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String
    where + P: Pattern<'a>,

    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
    +

    Basic usage:

    + +
    let s = "foo foo 123 foo";
    +assert_eq!("new new 123 foo", s.replacen("foo", "new", 2));
    +assert_eq!("faa fao 123 foo", s.replacen('o', "a", 3));
    +assert_eq!("foo foo new23 foo", s.replacen(char::is_numeric, "new", 1));
    +

    When the pattern doesn’t match, it returns this string slice as String:

    + +
    let s = "this is old";
    +assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    +
    1.2.0 · source

    pub fn to_lowercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "HELLO";
    +
    +assert_eq!("hello", s.to_lowercase());
    +

    A tricky example, with sigma:

    + +
    let sigma = "Σ";
    +
    +assert_eq!("σ", sigma.to_lowercase());
    +
    +// but at the end of a word, it's ς, not σ:
    +let odysseus = "ὈΔΥΣΣΕΎΣ";
    +
    +assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
    +

    Languages without case are not changed:

    + +
    let new_year = "农历新年";
    +
    +assert_eq!(new_year, new_year.to_lowercase());
    +
    1.2.0 · source

    pub fn to_uppercase(&self) -> 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 +parameter in-place.

    +
    Examples
    +

    Basic usage:

    + +
    let s = "hello";
    +
    +assert_eq!("HELLO", s.to_uppercase());

    Scripts without case are not changed:

    -
    let new_year = "农历新年";
    +
    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_uppercase());

    One character can become multiple:

    -
    let s = "tschüß";
    +
    let s = "tschüß";
     
    -assert_eq!("TSCHÜSS", s.to_uppercase());
    -
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    +assert_eq!("TSCHÜSS", s.to_uppercase());
    +
    1.16.0 · source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    -
    Examples
    +
    Examples

    Basic usage:

    -
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
    +
    assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));

    A panic upon overflow:

    // this will panic at runtime
    -let huge = "0123456789abcdef".repeat(usize::MAX);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +let huge = "0123456789abcdef".repeat(usize::MAX);

    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its +assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> String

    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 ❤";
    +
    Examples
    +
    let s = "Grüße, Jürgen ❤";
     
    -assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for INDEX_PAGE

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INDEX_PAGE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    +

    Trait Implementations§

    source§

    impl Deref for INDEX_PAGE

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for INDEX_PAGE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +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 c4ac7ff0..c3f19871 100644 --- a/mcaptcha/widget/struct.IndexPage.html +++ b/mcaptcha/widget/struct.IndexPage.html @@ -1,18 +1,19 @@ -IndexPage in mcaptcha::widget - Rust

    Struct mcaptcha::widget::IndexPage

    source ·
    pub struct IndexPage;

    Implementations§

    source§

    impl IndexPage

    source

    fn new() -> Self

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +IndexPage in mcaptcha::widget - Rust +

    Struct mcaptcha::widget::IndexPage

    source ·
    pub struct IndexPage;

    Implementations§

    source§

    impl IndexPage

    source

    fn new() -> Self

    Trait Implementations§

    source§

    impl Clone for IndexPage

    source§

    fn clone(&self) -> IndexPage

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl TemplateOnce for IndexPage

    source§

    fn render_once(self) -> RenderResult

    Render the template and return the rendering result as RenderResult Read more
    source§

    fn render_once_to(self, __sf_buf: &mut Buffer) -> Result<(), RenderError>

    Render the template and append the result to buf. Read more
    source§

    impl Sealed for IndexPage

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    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 130ac13a..0ffe36df 100644 --- a/mcaptcha/widget/struct.show_widget.html +++ b/mcaptcha/widget/struct.show_widget.html @@ -1,18 +1,19 @@ -show_widget in mcaptcha::widget - Rust
    pub struct show_widget;
    Expand description

    render a client side widget for CAPTCHA verification

    -

    Trait Implementations§

    source§

    impl HttpServiceFactory for show_widget

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +show_widget in mcaptcha::widget - Rust +
    pub struct show_widget;
    Expand description

    render a client side widget for CAPTCHA verification

    +

    Trait Implementations§

    source§

    impl HttpServiceFactory for show_widget

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/search-index.js b/search-index.js index aaf2f81b..28064ec2 100644 --- a/search-index.js +++ b/search-index.js @@ -1,8 +1,8 @@ -var searchIndex = JSON.parse('{\ -"db_core":{"doc":"mCaptcha database operations","t":"DDIDDDNCDEIDDDDDDDDNKKKLKKKKKKMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLMMMKKLLLLLLLLLLKKKKMMMLLLLLLLLLLLLLLLAMMMMMMKLLLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLLMMMKMMMMAMKAMKKKKMMLLLLLLLLLLLLLLLMKKAMMMLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKMMMMKMLLLLLLLLLLLLLLLMMXNGNNENGNNNNNNNLLLLLLLLLLLLQIIIIQKKKRRF","n":["AddNotification","Captcha","CloneSPDatabase","CreateCaptcha","CreatePerformanceAnalytics","EasyCaptcha","Email","GetConnection","Level","Login","MCDatabase","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail","Username","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","key","key","key","mark_notification_read","message","message","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","traffic_pattern","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","async_trait","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","borrow","borrow_mut","fmt","fmt","from","into","source","to_string","try_from","try_into","type_id","vzip","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","LEVELS","TRAFFIC_PATTERN","database_works"],"q":[[0,"db_core"],[354,"db_core::dev"],[355,"db_core::errors"],[381,"db_core::ops"],[390,"db_core::tests"],[393,"core::future::future"],[394,"alloc::boxed"],[395,"core::pin"],[396,"core::option"],[397,"core::result"],[398,"serde::de"],[399,"core::fmt"],[400,"core::fmt"],[401,"core::any"],[402,"core::error"],[403,"alloc::string"]],"d":["Data required to add notification","Data representing a captcha","Trait to clone MCDatabase","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Represents Easy captcha configuration","email as login","","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","type encapsulating username and hashed password of a user","Represents notification","Proof-of-Work CAPTCHA performance analytics","Data required to register a new user","datastructure representing a user’s secret","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","data required to update them email of a user","username as login","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","create new captcha","create new notification","","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","","","","","","","","","","","","","","","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","traffic pattern of easy captcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","levels for complex captcha config","easy traffic pattern","test all database functions"],"i":[0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,13,23,23,23,23,23,23,23,23,23,23,7,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,7,23,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,38,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,16,21,16,23,23,8,15,16,17,18,19,7,20,21,22,23,23,23,23,19,20,21,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,0,8,2,15,20,21,11,23,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,0,23,23,23,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,18,23,23,23,23,23,23,23,23,23,23,23,23,11,14,17,18,15,17,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,19,20,21,23,17,18,17,12,0,7,23,0,17,23,23,23,23,11,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,16,23,23,0,8,15,18,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,19,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,23,23,23,23,23,23,23,11,12,14,19,23,2,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,8,15,0,35,0,35,35,0,35,0,35,39,35,39,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,40,0,0,0,0,41,41,40,42,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,1,1,[3,[2]]],[[6,[[5,[4]]]]],[]],[[-1,1,1,7],[[6,[[5,[4]]]]],[]],[[-1,1,8],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,9,9],[[6,[[5,[4]]]]],[]],[[-1,9],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[10,[1]],1],[[6,[[5,[4]]]]],[]],[11,11],[12,12],[13,13],[14,14],[8,8],[2,2],[15,15],[16,16],[17,17],[18,18],[19,19],[7,7],[20,20],[21,21],[22,22],[-1,[[5,[23]]],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],0,0,0,[[-1,1,20],[[6,[[5,[4]]]]],[]],[[-1,18],[[6,[[5,[4]]]]],[]],[[],8],[[],15],[[],16],[[],17],[[],18],[[],19],[[],7],[[],20],[[],21],[[],22],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],0,0,0,[-1,[[25,[11]]],26],[-1,[[25,[12]]],26],[-1,[[25,[13]]],26],[-1,[[25,[14]]],26],[-1,[[25,[8]]],26],[-1,[[25,[2]]],26],[-1,[[25,[15]]],26],[-1,[[25,[16]]],26],[-1,[[25,[17]]],26],[-1,[[25,[18]]],26],[-1,[[25,[19]]],26],[-1,[[25,[7]]],26],[-1,[[25,[20]]],26],[-1,[[25,[21]]],26],[-1,[[25,[22]]],26],0,0,0,0,0,0,0,[[-1,1],[[6,[[5,[4]]]]],[]],[[11,11],27],[[12,12],27],[[13,13],27],[[14,14],27],[[8,8],27],[[2,2],27],[[15,15],27],[[16,16],27],[[17,17],27],[[18,18],27],[[19,19],27],[[7,7],27],[[20,20],27],[[21,21],27],[[22,22],27],0,[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[11,28],29],[[12,28],29],[[13,28],29],[[14,28],29],[[8,28],29],[[2,28],[[25,[24,30]]]],[[15,28],29],[[16,28],29],[[17,28],29],[[18,28],29],[[19,28],29],[[7,28],29],[[20,28],29],[[21,28],29],[[22,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[-1,9,9],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,[10,[1]],1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,31],[[6,[[5,[4]]]]],[]],[[-1,13],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[-1,1,32],[[6,[[5,[4]]]]],[]],0,0,0,0,0,0,[-1,[[6,[[5,[4]]]]],[]],0,0,[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,11],[[6,[[5,[4]]]]],[]],0,0,[[11,-1],25,33],[[12,-1],25,33],[[13,-1],25,33],[[14,-1],25,33],[[8,-1],25,33],[[2,-1],25,33],[[15,-1],25,33],[[16,-1],25,33],[[17,-1],25,33],[[18,-1],25,33],[[19,-1],25,33],[[7,-1],25,33],[[20,-1],25,33],[[21,-1],25,33],[[22,-1],25,33],0,[[-1,31,31],[[6,[[5,[4]]]]],[]],[[-1,31],[[6,[[5,[4]]]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[[-1,1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,20],[[6,[[5,[4]]]]],[]],[[-1,12],[[6,[[5,[4]]]]],[]],[[-1,1,31,31],[[6,[[5,[4]]]]],[]],[[-1,14],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],0,0,0,0,[[-1,1],[[6,[[5,[4]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[35,28],29],[[35,28],29],[-1,-1,[]],[-1,-2,[],[]],[35,[[10,[36]]]],[-1,37,[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,[[6,[[5,[4]]]]],[]],[-1,[[6,[[5,[4]]]]],[]],[-1,[[6,[[5,[4]]]]],[]],0,0,[[-1,11,20,[3,[2]],7,18],24,23]],"c":[],"p":[[15,"str"],[3,"Level",0],[15,"slice"],[8,"Future",393],[3,"Box",394],[3,"Pin",395],[3,"TrafficPattern",0],[3,"CreatePerformanceAnalytics",0],[15,"usize"],[4,"Option",396],[3,"Register",0],[3,"UpdateEmail",0],[4,"Login",0],[3,"NameHash",0],[3,"PerformanceAnalytics",0],[3,"StatsUnixTimestamp",0],[3,"Notification",0],[3,"AddNotification",0],[3,"EasyCaptcha",0],[3,"CreateCaptcha",0],[3,"Captcha",0],[3,"Secret",0],[8,"MCDatabase",0],[15,"tuple"],[4,"Result",397],[8,"Deserializer",398],[15,"bool"],[3,"Formatter",399],[6,"Result",399],[3,"Error",399],[15,"u32"],[15,"i32"],[8,"Serializer",400],[3,"TypeId",401],[4,"DBError",355],[8,"Error",402],[3,"String",403],[8,"CloneSPDatabase",0],[6,"DBResult",355],[8,"GetConnection",381],[8,"Connect",381],[8,"Migrate",381]],"b":[[371,"impl-Debug-for-DBError"],[372,"impl-Display-for-DBError"]]},\ -"db_sqlx_maria":{"doc":"","t":"DEDNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLALLLLLLLLLLLLLLLLLLLLLMMLLLLLLMLMLMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLNDNGDNNINNNNQIDDENIGCNNDNNNEINDEIINDDNNDQNNNDNDNDNDNNDNNNKKKLKKKKKKLXMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMKKKLLLLLLLLLLKKKKMMMLLLLLLLLLLLLLLMMMMMMKLLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLLLLMMMKMMKMMAMKAMKKKKMMLLLLLLLLLLLLLLMLLKKAMMMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKMMMMKMLLLLLLLLLLLLLLLLMMMMMMMNGNNENGNNNNNNNQIIIIQKKKNDGDNNIQIDDENIGDNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKMMKKMMMKKKKKKKMMMAMMMMMMKKKKMKKKKKKKKKKKKKMMMMMMMMMKMMKMMMKMKKKKMMMKKMMMMKKKKKKKMMMMKMMMNDGDNNIQIDDENIGDNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKXMLLMKLKLMMMKKKKKKKMMMLMMMMMMKLKKKLLMKKKKKKKKKKKKKMMMMMMLMMMKMMKMMMKMKKKKMMLMKKMMMLMLLLKKKKKKKMMMMKMLMMRRFFF","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","EasyCaptcha","Email","EmailTaken","Err","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_database_error","key","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","source","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","traffic_pattern","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","traffic_pattern","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","to_owned","traffic_pattern","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","worker_type","worker_type","LEVELS","TRAFFIC_PATTERN","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_maria"],[118,"db_sqlx_maria::dev"],[527,"db_sqlx_maria::dev::Error"],[532,"db_sqlx_maria::dev::errors"],[546,"db_sqlx_maria::dev::ops"],[555,"db_sqlx_maria::dev::prelude"],[692,"db_sqlx_maria::dev::prelude::dev"],[844,"db_sqlx_maria::dev::tests"],[847,"db_sqlx_maria::errors"],[849,"core::future::future"],[850,"alloc::boxed"],[851,"core::pin"],[852,"core::option"],[853,"core::fmt"],[854,"core::fmt"],[855,"core::any"],[856,"sqlx_core::error"],[857,"serde::de"],[858,"core::fmt"],[859,"sqlx_core::migrate::error"],[860,"serde::ser"],[861,"core::error"],[862,"alloc::string"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","Account not found","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","times at which the PoW was solved","","","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","","traffic pattern of easy captcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","traffic pattern of easy captcha","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","traffic pattern of easy captcha","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","levels for complex captcha config","easy traffic pattern","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,1,45,15,46,1,12,45,15,46,1,12,1,1,12,1,1,12,15,1,1,1,1,1,1,0,46,1,12,0,1,1,1,12,45,15,46,1,12,1,1,1,1,1,1,1,1,1,1,1,1,12,12,45,15,46,1,12,1,12,1,12,1,1,46,0,12,1,1,1,1,1,1,1,12,45,15,46,1,12,45,15,46,1,12,45,15,46,1,12,1,1,1,1,1,1,1,46,1,45,15,46,1,12,38,0,29,0,0,38,38,0,29,29,29,29,47,0,0,0,0,38,0,0,0,29,29,0,22,38,48,0,0,29,0,0,0,0,29,0,0,38,48,0,49,29,29,29,0,29,0,38,0,29,0,38,29,0,22,38,29,13,13,13,13,13,13,13,13,13,13,29,0,8,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,8,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,50,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,35,32,49,13,13,9,31,32,33,17,34,8,16,35,36,13,13,13,13,34,16,35,24,27,22,28,9,31,32,33,17,34,8,16,35,36,9,3,31,16,35,24,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,0,13,13,13,38,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,38,24,27,22,28,9,31,32,33,33,17,34,8,16,35,36,29,29,29,29,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,34,16,35,13,33,17,51,33,27,0,8,13,0,33,13,13,13,13,24,36,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,38,29,13,13,0,9,31,17,24,27,22,28,9,31,32,33,17,34,8,16,35,36,38,29,34,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,13,13,13,13,13,13,13,24,27,28,34,13,3,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,9,31,52,53,52,53,54,38,0,38,38,0,38,0,38,48,38,48,38,38,38,47,0,0,0,0,49,49,47,51,38,0,0,0,38,38,0,47,0,0,0,0,38,0,0,0,22,38,48,0,0,0,0,0,0,0,38,48,0,49,0,0,38,0,0,38,0,22,38,13,13,13,13,13,13,13,13,13,13,8,8,13,50,32,35,32,49,13,13,13,13,13,13,34,16,35,0,9,3,31,16,35,24,13,13,13,13,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,34,16,35,13,33,17,51,33,27,8,13,33,13,13,13,13,24,36,32,13,13,9,31,17,34,13,13,13,13,13,13,13,24,27,28,34,13,3,9,31,38,0,0,0,38,38,0,47,0,0,0,0,38,0,0,0,22,38,48,0,0,0,0,0,0,0,38,48,0,49,0,0,38,0,0,38,0,22,38,13,13,13,13,13,13,13,13,13,13,0,8,3,3,8,13,3,50,3,32,35,32,49,13,13,13,13,13,13,34,16,35,3,9,3,31,16,35,24,13,3,13,13,13,3,3,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,3,34,16,35,13,33,17,51,33,27,8,13,33,13,13,13,13,24,36,3,32,13,13,9,31,17,3,34,3,3,3,13,13,13,13,13,13,13,24,27,28,34,13,3,3,9,31,0,0,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[1,10,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,21],[[7,[[6,[5]]]]]],[[1,22],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,2,23],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,24],[[7,[[6,[5]]]]]],[[1,21,21],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,21,21],[[7,[[6,[5]]]]]],[[1,28],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[29,[[11,[30]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[24,24],[27,27],[22,22],[28,28],[9,9],[31,31],[32,32],[33,33],[17,17],[34,34],[8,8],[16,16],[35,35],[36,36],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[],9],[[],31],[[],32],[[],33],[[],17],[[],34],[[],8],[[],16],[[],35],[[],36],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[25,[24]]],37],[-1,[[25,[27]]],37],[-1,[[25,[22]]],37],[-1,[[25,[28]]],37],[-1,[[25,[9]]],37],[-1,[[25,[31]]],37],[-1,[[25,[32]]],37],[-1,[[25,[33]]],37],[-1,[[25,[17]]],37],[-1,[[25,[34]]],37],[-1,[[25,[8]]],37],[-1,[[25,[16]]],37],[-1,[[25,[35]]],37],[-1,[[25,[36]]],37],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[24,24],18],[[27,27],18],[[22,22],18],[[28,28],18],[[9,9],18],[[31,31],18],[[32,32],18],[[33,33],18],[[17,17],18],[[34,34],18],[[8,8],18],[[16,16],18],[[35,35],18],[[36,36],18],0,[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[38,19],[[25,[14,39]]]],[[38,19],[[25,[14,39]]]],[[24,19],[[25,[14,39]]]],[[27,19],[[25,[14,39]]]],[[22,19],[[25,[14,39]]]],[[28,19],[[25,[14,39]]]],[[9,19],[[25,[14,39]]]],[[31,19],[[25,[14,39]]]],[[32,19],[[25,[14,39]]]],[[33,19],[[25,[14,39]]]],[[17,19],[[25,[14,39]]]],[[34,19],[[25,[14,39]]]],[[8,19],[[25,[14,39]]]],[[16,19],[[25,[14,39]]]],[[35,19],[[25,[14,39]]]],[[36,19],[[25,[14,39]]]],[[29,19],[[25,[14,39]]]],[[29,19],[[25,[14,39]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,33],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,29,30],[40,29],[41,29],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[11,[[6,[30]]]]]],0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[24,-1],25,42],[[27,-1],25,42],[[22,-1],25,42],[[28,-1],25,42],[[9,-1],25,42],[[31,-1],25,42],[[32,-1],25,42],[[33,-1],25,42],[[17,-1],25,42],[[34,-1],25,42],[[8,-1],25,42],[[16,-1],25,42],[[35,-1],25,42],[[36,-1],25,42],0,[38,[[11,[43]]]],[29,[[11,[43]]]],[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,44,[]],[-1,44,[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,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,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[6,[13]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[3,3],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[25,[3]]],37],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[3,3],18],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[3,19],[[25,[14,39]]]],[-1,-1,[]],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[3,-1],25,42],0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,[-1,-2,[],[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],0,0,0,0,[[-1,24,16,[4,[3]],8,17],14,13],[29,38],[[29,38],38]],"c":[],"p":[[3,"Database",0],[15,"str"],[3,"Level",692],[15,"slice"],[8,"Future",849],[3,"Box",850],[3,"Pin",851],[3,"TrafficPattern",118],[3,"CreatePerformanceAnalytics",118],[15,"usize"],[4,"Option",852],[3,"InnerNotification",0],[8,"MCDatabase",118],[15,"tuple"],[4,"ConnectionOptions",0],[3,"CreateCaptcha",118],[3,"AddNotification",118],[15,"bool"],[3,"Formatter",853],[6,"Result",853],[15,"u32"],[4,"Login",118],[15,"i32"],[3,"Register",118],[4,"Result",854],[3,"TypeId",855],[3,"UpdateEmail",118],[3,"NameHash",118],[4,"Error",118],[8,"DatabaseError",856],[3,"PerformanceAnalytics",118],[3,"StatsUnixTimestamp",118],[3,"Notification",118],[3,"EasyCaptcha",118],[3,"Captcha",118],[3,"Secret",118],[8,"Deserializer",857],[4,"DBError",118],[3,"Error",853],[3,"Error",858],[4,"MigrateError",859],[8,"Serializer",860],[8,"Error",861],[3,"String",862],[3,"Conn",0],[3,"Fresh",0],[8,"GetConnection",118],[6,"DBResult",692],[8,"Connect",118],[8,"CloneSPDatabase",118],[8,"Migrate",118],[13,"ColumnIndexOutOfBounds",527],[13,"ColumnDecode",527],[13,"TypeNotFound",527]],"b":[[313,"impl-Display-for-DBError"],[314,"impl-Debug-for-DBError"],[329,"impl-Debug-for-Error"],[330,"impl-Display-for-Error"],[348,"impl-From%3CE%3E-for-Error"],[349,"impl-From%3CError%3E-for-Error"],[350,"impl-From%3CMigrateError%3E-for-Error"]]},\ -"db_sqlx_postgres":{"doc":"","t":"DEDNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLALLLLLLLLLLLLLLLLLLLLLMMLLLLLLMLMLMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLNDNGDNNINNNNQIDDENIGCNNDNNNEINDEIINDDNNDQNNNDNDNDNDNNDNNNKKKLKKKKKKLXMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMKKKLLLLLLLLLLKKKKMMMLLLLLLLLLLLLLLMMMMMMKLLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLLLLMMMKMMKMMAMKAMKKKKMMLLLLLLLLLLLLLLMLLKKAMMMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKMMMMKMLLLLLLLLLLLLLLLLMMMMMMMNGNNENGNNNNNNNQIIIIQKKKNDGDNNIQIDDENIGDNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKMMKKMMMKKKKKKKMMMAMMMMMMKKKKMKKKKKKKKKKKKKMMMMMMMMMKMMKMMMKMKKKKMMMKKMMMMKKKKKKKMMMMKMMMNDGDNNIQIDDENIGDNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKXMLLMKLKLMMMKKKKKKKMMMLMMMMMMKLKKKLLMKKKKKKKKKKKKKMMMMMMLMMMKMMKMMMKMKKKKMMLMKKMMMLMLLLKKKKKKKMMMMKMLMMRRFFF","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","EasyCaptcha","Email","EmailTaken","Err","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_database_error","key","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","source","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","traffic_pattern","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","traffic_pattern","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","to_owned","traffic_pattern","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","worker_type","worker_type","LEVELS","TRAFFIC_PATTERN","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_postgres"],[119,"db_sqlx_postgres::dev"],[528,"db_sqlx_postgres::dev::Error"],[533,"db_sqlx_postgres::dev::errors"],[547,"db_sqlx_postgres::dev::ops"],[556,"db_sqlx_postgres::dev::prelude"],[693,"db_sqlx_postgres::dev::prelude::dev"],[845,"db_sqlx_postgres::dev::tests"],[848,"db_sqlx_postgres::errors"],[850,"core::future::future"],[851,"alloc::boxed"],[852,"core::pin"],[853,"core::option"],[854,"core::fmt"],[855,"core::fmt"],[856,"core::any"],[857,"sqlx_core::error"],[858,"serde::de"],[859,"core::fmt"],[860,"std::io::error"],[861,"serde::ser"],[862,"core::error"],[863,"alloc::string"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","Account not found","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","times at which the PoW was solved","","","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","","traffic pattern of easy captcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","traffic pattern of easy captcha","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","traffic pattern of easy captcha","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","levels for complex captcha config","easy traffic pattern","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,1,45,15,46,1,12,45,15,46,1,12,1,1,12,1,1,12,15,1,1,12,1,1,1,1,0,46,1,12,0,1,1,1,12,45,15,46,1,12,1,1,1,1,1,1,1,1,1,1,1,1,12,12,45,15,46,1,12,1,12,1,12,1,1,46,0,12,1,1,1,1,1,1,1,12,45,15,46,1,12,45,15,46,1,12,45,15,46,1,12,1,1,1,1,1,1,1,46,1,45,15,46,1,12,38,0,29,0,0,38,38,0,29,29,29,29,47,0,0,0,0,38,0,0,0,29,29,0,22,38,48,0,0,29,0,0,0,0,29,0,0,38,48,0,49,29,29,29,0,29,0,38,0,29,0,38,29,0,22,38,29,13,13,13,13,13,13,13,13,13,13,29,0,8,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,8,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,50,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,35,32,49,13,13,9,31,32,33,17,34,8,16,35,36,13,13,13,13,34,16,35,24,27,22,28,9,31,32,33,17,34,8,16,35,36,9,3,31,16,35,24,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,0,13,13,13,38,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,38,24,27,22,28,9,31,32,33,33,17,34,8,16,35,36,29,29,29,29,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,34,16,35,13,33,17,51,33,27,0,8,13,0,33,13,13,13,13,24,36,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,38,29,13,13,0,9,31,17,24,27,22,28,9,31,32,33,17,34,8,16,35,36,38,29,34,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,13,13,13,13,13,13,13,24,27,28,34,13,3,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,9,31,52,53,52,53,54,38,0,38,38,0,38,0,38,48,38,48,38,38,38,47,0,0,0,0,49,49,47,51,38,0,0,0,38,38,0,47,0,0,0,0,38,0,0,0,22,38,48,0,0,0,0,0,0,0,38,48,0,49,0,0,38,0,0,38,0,22,38,13,13,13,13,13,13,13,13,13,13,8,8,13,50,32,35,32,49,13,13,13,13,13,13,34,16,35,0,9,3,31,16,35,24,13,13,13,13,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,34,16,35,13,33,17,51,33,27,8,13,33,13,13,13,13,24,36,32,13,13,9,31,17,34,13,13,13,13,13,13,13,24,27,28,34,13,3,9,31,38,0,0,0,38,38,0,47,0,0,0,0,38,0,0,0,22,38,48,0,0,0,0,0,0,0,38,48,0,49,0,0,38,0,0,38,0,22,38,13,13,13,13,13,13,13,13,13,13,0,8,3,3,8,13,3,50,3,32,35,32,49,13,13,13,13,13,13,34,16,35,3,9,3,31,16,35,24,13,3,13,13,13,3,3,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,3,34,16,35,13,33,17,51,33,27,8,13,33,13,13,13,13,24,36,3,32,13,13,9,31,17,3,34,3,3,3,13,13,13,13,13,13,13,24,27,28,34,13,3,3,9,31,0,0,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[],12],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[1,10,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,21],[[7,[[6,[5]]]]]],[[1,22],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,2,23],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,24],[[7,[[6,[5]]]]]],[[1,21,21],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,21,21],[[7,[[6,[5]]]]]],[[1,28],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[29,[[11,[30]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[24,24],[27,27],[22,22],[28,28],[9,9],[31,31],[32,32],[33,33],[17,17],[34,34],[8,8],[16,16],[35,35],[36,36],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[],9],[[],31],[[],32],[[],33],[[],17],[[],34],[[],8],[[],16],[[],35],[[],36],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[25,[24]]],37],[-1,[[25,[27]]],37],[-1,[[25,[22]]],37],[-1,[[25,[28]]],37],[-1,[[25,[9]]],37],[-1,[[25,[31]]],37],[-1,[[25,[32]]],37],[-1,[[25,[33]]],37],[-1,[[25,[17]]],37],[-1,[[25,[34]]],37],[-1,[[25,[8]]],37],[-1,[[25,[16]]],37],[-1,[[25,[35]]],37],[-1,[[25,[36]]],37],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[24,24],18],[[27,27],18],[[22,22],18],[[28,28],18],[[9,9],18],[[31,31],18],[[32,32],18],[[33,33],18],[[17,17],18],[[34,34],18],[[8,8],18],[[16,16],18],[[35,35],18],[[36,36],18],0,[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[38,19],[[25,[14,39]]]],[[38,19],[[25,[14,39]]]],[[24,19],[[25,[14,39]]]],[[27,19],[[25,[14,39]]]],[[22,19],[[25,[14,39]]]],[[28,19],[[25,[14,39]]]],[[9,19],[[25,[14,39]]]],[[31,19],[[25,[14,39]]]],[[32,19],[[25,[14,39]]]],[[33,19],[[25,[14,39]]]],[[17,19],[[25,[14,39]]]],[[34,19],[[25,[14,39]]]],[[8,19],[[25,[14,39]]]],[[16,19],[[25,[14,39]]]],[[35,19],[[25,[14,39]]]],[[36,19],[[25,[14,39]]]],[[29,19],[[25,[14,39]]]],[[29,19],[[25,[14,39]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,33],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,29,30],[40,29],[41,29],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[11,[[6,[30]]]]]],0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[24,-1],25,42],[[27,-1],25,42],[[22,-1],25,42],[[28,-1],25,42],[[9,-1],25,42],[[31,-1],25,42],[[32,-1],25,42],[[33,-1],25,42],[[17,-1],25,42],[[34,-1],25,42],[[8,-1],25,42],[[16,-1],25,42],[[35,-1],25,42],[[36,-1],25,42],0,[38,[[11,[43]]]],[29,[[11,[43]]]],[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,44,[]],[-1,44,[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,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,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[6,[13]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[3,3],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[25,[3]]],37],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[3,3],18],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[3,19],[[25,[14,39]]]],[-1,-1,[]],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[3,-1],25,42],0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,[-1,-2,[],[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],0,0,0,0,[[-1,24,16,[4,[3]],8,17],14,13],[29,38],[[29,38],38]],"c":[],"p":[[3,"Database",0],[15,"str"],[3,"Level",693],[15,"slice"],[8,"Future",850],[3,"Box",851],[3,"Pin",852],[3,"TrafficPattern",119],[3,"CreatePerformanceAnalytics",119],[15,"usize"],[4,"Option",853],[3,"InnerNotification",0],[8,"MCDatabase",119],[15,"tuple"],[4,"ConnectionOptions",0],[3,"CreateCaptcha",119],[3,"AddNotification",119],[15,"bool"],[3,"Formatter",854],[6,"Result",854],[15,"u32"],[4,"Login",119],[15,"i32"],[3,"Register",119],[4,"Result",855],[3,"TypeId",856],[3,"UpdateEmail",119],[3,"NameHash",119],[4,"Error",119],[8,"DatabaseError",857],[3,"PerformanceAnalytics",119],[3,"StatsUnixTimestamp",119],[3,"Notification",119],[3,"EasyCaptcha",119],[3,"Captcha",119],[3,"Secret",119],[8,"Deserializer",858],[4,"DBError",119],[3,"Error",854],[4,"MigrateError",859],[3,"Error",860],[8,"Serializer",861],[8,"Error",862],[3,"String",863],[3,"Conn",0],[3,"Fresh",0],[8,"GetConnection",119],[6,"DBResult",693],[8,"Connect",119],[8,"CloneSPDatabase",119],[8,"Migrate",119],[13,"ColumnIndexOutOfBounds",528],[13,"ColumnDecode",528],[13,"TypeNotFound",528]],"b":[[314,"impl-Debug-for-DBError"],[315,"impl-Display-for-DBError"],[330,"impl-Display-for-Error"],[331,"impl-Debug-for-Error"],[349,"impl-From%3CE%3E-for-Error"],[350,"impl-From%3CMigrateError%3E-for-Error"],[351,"impl-From%3CError%3E-for-Error"]]},\ -"mcaptcha":{"doc":"","t":"GGDRRDDRDDDDRDDDDDDDRRRRDDDDRDDRRMMMMMMMMMMMMMMMMMMMMMALLLLLLLLLLLLLLLLMMMMAMAAMMALLLLLLLLAAAALLLLLLLLFFLLLLLLLLMFAMMMAMAMMMAAMAMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAACDAALLLLFLAAAAMAFAALLLLDDCLLLLLLLLALLAMLLLLLLCAAALLFLLLLLLLLAMLLLLDLLLAFLLLLFDLLLLLLLLLMDLLLLLLLLLLFDLLLLLLLLLLLLLDDLLLLLLLLMMLLLLLLLLLMMMLLFLLLLLLLLLLFDLLLDLLMMLMLLLLLMMMMMLLLLLLLDLLLLFLLLLLLDLLDLLLLLLLLLLLLLLLLLLALFDLLLLLLLLLLMDLLLFLLLLLLLLLLLLDDLLLAAFDLLLLLLLLLLLLDLLLLLMMLMLLLLDDDLLLLLLLLLLLLMLLLMLLLLLLLLLMFMMMFLLLLLLLLLLLLLLLMLLLAAAAFAFAADDLLLLLLLLDMLLMLLLLLLLMMMMLALLLLLLLLLLLLLLLFDLLLLLLDLLLLLLMMLLLLLLLLLLLDDMLLLLLLLLMFFLLLLDLMLLLLLLLLLLLLMMMMLLALLFLLLLLLLLLLLLLLDFLLLLDLLMLLLLLLMLDDLLLLLLLLLLLLMLLLLLDLLLMLLLLLLLLLLLLLLMLLLDLLMMMLMLLMLLLMMLDLLLLLLLLLLDLLMLALLLLLLLLLLDLLLMLLLLLLDLLLLLLMLMLLLLLLMMMLLALLLLLLLLLLDDLLLFDDEDDENNNNLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLMMLLALLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLDLLMLMLLLLLLAAAAFDDLLLLLLLLLLLLMLLMLLMLLLLLLLLLDLLLLLLLLLLLLLDMMLLMMMLLLLLLLLLLLDLLLLLLLMLLDLLLLLLLLLLDMLLLMLMLLLLLCAAFAADDLLLLLLLLLLLLMLLLLLDFLLLMMLMLLMLLLLLLLLLLLLLLDLLLLMLLOMLLLLMLMLDDLLLLLLLLLLLLLLLLLLLLMMLMLLMMLLMLLLLLLLLLDLLLMDDLLLLLLLLLLLLLLLLLLLLMLMLLLLMLLLLLLLLLMDLLLRDMMLLMLLLMLMMMMLLLLDDEDDEDDENNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLMMFDLALLLFLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLDLLLLLLLLLLLLLLMLLLLLLDDMLLLLLLLLLLLLDLLLLLLLLLLLLLLMLLADMLLFLLLLLLLLLLLLLLLLLDLLMLLLLMLLLLDNGNELLLLLMMMOOLLLLLMLLMLLLLLLMMMLLLLLLLLLLLRDRRRLLLLLLLLLLLMLLLLLGAAFFRRDLLLLLLLLLLLMLLDRRLLLLLLLLDLLLLLLFDLLLLLLLLLAFDLLLLLLLLLLLLLLLLDMLLLMLLMLLLLDLLLLLLLLLLMLLLADRLLLLLLLLLLLLLFMLNNNNNNDNNNDNNNNNNEGNNNNENGDNNNNNNNLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRAAFAAFAAAAFADDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDLLLLLLMMLLLLLRDLLLLMLLLLLLLLLMLRDDRDMMLLLLLLLLLLLLDLLLLLLLLMLLLLAFMLLLLLLLLLLLLLLLLLDLLLMLLLLLMLDRLLLLLLLLLLLADLLLAFAAMLLLLLLLALLDDRLLLLLLLLLLMMLLLMMMLDLMLLLLLLLLLLLLLLLDLLLLMLLMMMLLLMLDRLLLLLLLLLLDMLLLLLLLLLLLLLAMFDLLLLLLLLLLLLLDMLLLLDLLMLLMLLLLLMLAAAAAFADDDDRMMDMLLLLLLLLLLLLMLLLLLLLLDMMMMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLDDRDLLLLLLLLLLLLMDMLLLLLLLLMMMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLDRLLLLLLLLLLDLLLLMLLLLLLLLLDMMLLMMMLLLLLLLMLLLLMLDRLLLLLLMLLLLMMMLMLLLMLLLLLLLDLLRDLLLLLLLLMLLLDLLLMDLLLLAFMLLLLLLLLLLLLLDLLLLLLMLLLLRDMMLLMMLLLMLLMMMMMLLLLDDMLLLLLLLLLLMLLLLLLLLLDLLLLLLLLLLMLLLFDERDDRNNDDDDDMMMMLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLMLLLLLLLLLMLMMMMMMMMMMMMMMMLMLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLCAFADLLMLLLLLLLLDDALLLLLLLLDLLLLLLLLFFLLLLLLLLLLDLLLLLLLLLLLLLLLLDDDDDDGDDDDMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDIDDILLLLLLLLLLLLKLLMMLLLLLLLKLLLLLLLLLLLKLLKLLKLLLMLLLLLLLLLLLLLLLDDIMLLLLMLLLLLLLLLLLKLLKLLKLLKLMLLLLLLLLLLDDRRMLLLLLLLLLLLLLLLLLLLAFDLLLLLLLLLLLLLDLLLLLLLLML","n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","alloc","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","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","easy","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","phantom","ptr","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","survey","survey","survey_secrets","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","stats","survey","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","publish_benchmarks","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","calculate_with_percentile","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","publish_benchmarks","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","update_runner","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","publish_benchmarks","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","ApiPoWConfig","GetConfigPayload","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_config","init_mcaptcha","into","into","into","key","max_recorded_nonce","register","salt","serialize","serialize","string","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","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","ApiWork","ValidationToken","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","nonce","register","result","serialize","serialize","string","time","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify_pow","vzip","vzip","vzip","worker_type","CaptchaValidateResp","VerifyCaptchaResultPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","register","secret","serialize","serialize","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","valid","validate_captcha_token","vzip","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","stats","survey","try_from","try_into","type_id","vzip","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","PercentileReq","PercentileReqBuilder","PercentileReqBuilderError","PercentileResp","PercentileRespBuilder","PercentileRespBuilderError","UninitializedField","UninitializedField","UninitializedField","ValidationError","ValidationError","ValidationError","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","build","build","build","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","create_empty","default","default","default","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","into","into","into","into","into","into","into","into","into","into","percentile","percentile","percentile","percentile_bench_runner","percentile_benches","register","routes","serialize","serialize","serialize","services","time","time","time","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","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","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Stats","borrow","borrow_mut","clone","clone_into","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","into","new","percentile_benches","serialize","to_owned","try_from","try_into","type_id","vzip","Page","SurveySecretUpload","auth_token","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","deserialize","download","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from","into","into","into","into","page","register","register","routes","secret","secret","serialize","serialize","services","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","Survey","borrow","borrow_mut","download","from","get_download_route","into","new","secret","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","inner","into","into","mailer","new","new","new_system","register_survey","remove","rename","settings","stats","survey_secrets","try_from","try_from","try_into","try_into","type_id","type_id","upload_survey_job","validate_verification_tokens","verify_pow","vzip","vzip","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","BoxDB","maria","pg","get_data","get_data","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","into","register_demo_user","run","spawn","try_from","try_into","tx","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","UpdateEasyCaptcha","abort","borrow","borrow_mut","can_run","from","into","run","spawn","try_from","try_into","tx","type_id","update_captcha_configurations","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","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","Err","Err","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","Ok","Ok","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","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","utils","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","utils","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","publish_benchmarks","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","publish_benchmarks","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","PAGE","PercentilePage","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","difficulty_factor","from","from","from","get_percentile","into","into","into","percentile","post_percentile","register","register","render_once","render_once_to","routes","services","time","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Utils","borrow","borrow_mut","from","get_sitemap","into","new","percentile","try_from","try_into","type_id","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","DBType","DEPRECATED_ENV_VARS","Database","DefaultDifficultyStrategy","ENV_VAR_CONFIG","Maria","Postgres","Redis","Server","Settings","Smtp","Survey","allow_demo","allow_registration","avg_traffic_difficulty","avg_traffic_time","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","broke_my_site_traffic_difficulty","broke_my_site_traffic_time","captcha","check_easy_captcha_config","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","database_type","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","env_override","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_url","gc","get_ip","instance_root_url","into","into","into","into","into","into","into","into","into","ip","new","nodes","password","peak_sustainable_traffic_difficulty","peak_sustainable_traffic_time","pool","pool","port","port","proxy_has_tls","queue_length","rate_limit","redis","reply","runners","salt","serialize","server","set_database_type","smtp","source_code","survey","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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","url","url","url","url_prefix","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","clone_stats","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","SecretsStore","Survey","SurveyClientTrait","app_ctx","borrow","borrow","borrow_mut","borrow_mut","client","clone","clone","clone_into","clone_into","default","fmt","from","from","get","into","into","is_online","is_online","new","register","register","rm","schedule_upload_job","schedule_upload_job","set","start_job","start_job","store","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":[[0,"mcaptcha"],[163,"mcaptcha::api"],[164,"mcaptcha::api::v1"],[187,"mcaptcha::api::v1::account"],[228,"mcaptcha::api::v1::account::delete"],[240,"mcaptcha::api::v1::account::delete::runners"],[241,"mcaptcha::api::v1::account::email"],[278,"mcaptcha::api::v1::account::password"],[320,"mcaptcha::api::v1::account::routes"],[338,"mcaptcha::api::v1::account::secret"],[359,"mcaptcha::api::v1::account::username"],[397,"mcaptcha::api::v1::account::username::runners"],[398,"mcaptcha::api::v1::auth"],[431,"mcaptcha::api::v1::auth::routes"],[445,"mcaptcha::api::v1::auth::runners"],[499,"mcaptcha::api::v1::mcaptcha"],[508,"mcaptcha::api::v1::mcaptcha::create"],[551,"mcaptcha::api::v1::mcaptcha::create::runner"],[552,"mcaptcha::api::v1::mcaptcha::delete"],[579,"mcaptcha::api::v1::mcaptcha::easy"],[642,"mcaptcha::api::v1::mcaptcha::easy::routes"],[654,"mcaptcha::api::v1::mcaptcha::get"],[697,"mcaptcha::api::v1::mcaptcha::routes"],[714,"mcaptcha::api::v1::mcaptcha::stats"],[741,"mcaptcha::api::v1::mcaptcha::stats::routes"],[752,"mcaptcha::api::v1::mcaptcha::update"],[789,"mcaptcha::api::v1::mcaptcha::update::runner"],[790,"mcaptcha::api::v1::meta"],[917,"mcaptcha::api::v1::meta::routes"],[929,"mcaptcha::api::v1::notifications"],[934,"mcaptcha::api::v1::notifications::add"],[964,"mcaptcha::api::v1::notifications::get"],[997,"mcaptcha::api::v1::notifications::mark_read"],[1019,"mcaptcha::api::v1::notifications::routes"],[1032,"mcaptcha::api::v1::pow"],[1038,"mcaptcha::api::v1::pow::get_config"],[1084,"mcaptcha::api::v1::pow::routes"],[1102,"mcaptcha::api::v1::pow::verify_pow"],[1149,"mcaptcha::api::v1::pow::verify_token"],[1193,"mcaptcha::api::v1::routes"],[1213,"mcaptcha::api::v1::stats"],[1379,"mcaptcha::api::v1::stats::routes"],[1401,"mcaptcha::api::v1::survey"],[1457,"mcaptcha::api::v1::survey::routes"],[1470,"mcaptcha::data"],[1514,"mcaptcha::date"],[1536,"mcaptcha::db"],[1539,"mcaptcha::db::maria"],[1540,"mcaptcha::db::pg"],[1541,"mcaptcha::demo"],[1558,"mcaptcha::docs"],[1606,"mcaptcha::docs::routes"],[1619,"mcaptcha::easy"],[1634,"mcaptcha::email"],[1635,"mcaptcha::email::verification"],[1653,"mcaptcha::errors"],[1764,"mcaptcha::pages"],[1772,"mcaptcha::pages::auth"],[1777,"mcaptcha::pages::auth::login"],[1814,"mcaptcha::pages::auth::register"],[1851,"mcaptcha::pages::auth::routes"],[1865,"mcaptcha::pages::auth::sudo"],[1883,"mcaptcha::pages::errors"],[1936,"mcaptcha::pages::errors::routes"],[1948,"mcaptcha::pages::panel"],[1981,"mcaptcha::pages::panel::notifications"],[2021,"mcaptcha::pages::panel::routes"],[2037,"mcaptcha::pages::panel::settings"],[2087,"mcaptcha::pages::panel::settings::routes"],[2101,"mcaptcha::pages::panel::sitekey"],[2108,"mcaptcha::pages::panel::sitekey::add"],[2190,"mcaptcha::pages::panel::sitekey::delete"],[2200,"mcaptcha::pages::panel::sitekey::edit"],[2259,"mcaptcha::pages::panel::sitekey::list"],[2286,"mcaptcha::pages::panel::sitekey::routes"],[2308,"mcaptcha::pages::panel::sitekey::view"],[2340,"mcaptcha::pages::panel::utils"],[2380,"mcaptcha::pages::panel::utils::routes"],[2392,"mcaptcha::pages::routes"],[2415,"mcaptcha::pages::sitemap"],[2453,"mcaptcha::routes"],[2454,"mcaptcha::settings"],[2683,"mcaptcha::static_assets"],[2687,"mcaptcha::static_assets::filemap"],[2699,"mcaptcha::static_assets::static_files"],[2748,"mcaptcha::static_assets::static_files::assets"],[2859,"mcaptcha::stats"],[2926,"mcaptcha::survey"],[2968,"mcaptcha::widget"],[3008,"mcaptcha::widget::routes"],[3019,"alloc::string"],[3020,"actix_identity::cookie"],[3021,"actix_identity::middleware"],[3022,"actix_web::types::json"],[3023,"std::io::error"],[3024,"core::result"],[3025,"core::any"],[3026,"serde::de"],[3027,"actix_auth_middleware"],[3028,"actix_web::config"],[3029,"core::fmt"],[3030,"core::fmt"],[3031,"actix_web::config"],[3032,"db_core"],[3033,"libmcaptcha::defense"],[3034,"alloc::vec"],[3035,"derive_builder::error"],[3036,"db_core"],[3037,"argon2_creds::config"],[3038,"lettre::executor"],[3039,"lettre::transport::smtp::async_transport"],[3040,"libmcaptcha::pow"],[3041,"libmcaptcha::errors"],[3042,"alloc::sync"],[3043,"actix::address"],[3044,"libmcaptcha::system"],[3045,"libmcaptcha::master"],[3046,"libmcaptcha::cache"],[3047,"libmcaptcha::master::messages"],[3048,"libmcaptcha::pow"],[3049,"db_core"],[3050,"tokio::sync::oneshot"],[3051,"tokio::runtime::task::join"],[3052,"rust_embed_utils"],[3053,"actix_web::response::response"],[3054,"core::iter::traits::iterator"],[3055,"rust_embed"],[3056,"sailfish::runtime::render"],[3057,"sailfish::runtime::buffer"],[3058,"sailfish::runtime::render"],[3059,"tokio::sync::oneshot::error"],[3060,"argon2_creds::errors"],[3061,"validator::types"],[3062,"lettre::transport::smtp::error"],[3063,"db_core::errors"],[3064,"core::error"],[3065,"http::status"],[3066,"core::fmt"],[3067,"db_core"],[3068,"config::builder"],[3069,"config::error"],[3070,"core::future::future"],[3071,"core::pin"]],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","","database ops defined by db crates","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","","","app settings","","","","","stats recorder","","","survey secret store","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","traffic that bought the user’s website down; optional","","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","publish benchmarks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","emits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","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).","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.","Returns the argument unchanged.","Calls U::from(self).","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.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","route handler that validates a PoW solution token","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for PercentileReq.","Error type for PercentileReqBuilder","Health check return datatype","Builder for PercentileResp.","Error type for PercentileRespBuilder","Uninitialized field","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new PercentileReq.","Builds a new PercentileResp.","","","","","","","","","","","","","Create an empty builder, with all fields set to None or …","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.","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).","","","","","Get difficulty factor with max time limit for percentile …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","emits build details of the bninary","","","","","","","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).","","","","","mCaptcha/survey upload secret route","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","","app settings","stats recorder","survey secret store","","","","","","","","","","","","","","","","","","","","","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).","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","update configurations","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","Contains the error value","Contains the error value","","","","","","Contains the success value","Contains the success value","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","Returns the argument unchanged.","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.","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.","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","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).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,247,248,249,250,251,252,253,254,255,1,3,5,7,8,9,10,11,266,2,2,0,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,40,2,2,40,0,2,0,0,40,2,0,1,3,5,7,8,9,10,11,0,0,0,0,1,3,5,7,8,9,10,11,0,0,1,3,5,7,8,9,10,11,40,0,0,266,266,2,0,2,0,40,2,2,0,0,40,0,2,40,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,0,0,0,0,0,0,20,20,20,20,0,20,0,0,0,0,20,0,0,0,0,20,20,20,20,0,0,0,25,26,25,26,25,26,25,26,0,25,26,0,26,25,26,25,26,25,26,0,0,0,0,25,26,0,25,26,25,26,25,26,25,26,0,25,25,26,30,30,0,30,30,30,0,0,30,30,30,30,0,0,34,35,36,34,35,36,34,34,34,34,0,34,34,35,36,34,35,36,35,36,34,0,0,34,34,35,36,34,35,36,34,35,36,34,35,36,0,0,38,37,39,38,37,39,37,37,38,37,37,37,38,38,37,39,38,37,39,38,37,37,39,37,0,37,38,37,39,38,37,39,38,37,39,0,0,38,37,39,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,43,42,43,42,43,0,42,43,42,43,0,42,43,42,43,42,43,0,42,43,0,45,44,46,45,44,46,44,44,44,44,45,44,46,45,44,46,45,46,0,44,0,0,44,45,44,46,45,44,46,45,44,46,44,0,45,44,46,0,47,48,49,47,48,49,47,48,49,47,48,49,0,0,47,48,49,0,0,0,0,47,48,49,47,48,49,47,48,49,47,48,49,0,50,50,50,50,50,50,50,50,50,50,50,50,50,0,0,0,52,53,54,52,53,54,52,53,54,52,53,54,52,52,53,54,52,52,53,54,52,53,54,52,53,54,53,0,52,53,54,0,52,53,54,52,53,54,52,53,54,52,53,54,52,53,54,52,52,53,54,0,0,0,0,0,0,0,0,0,0,0,57,56,58,57,56,58,56,56,0,57,57,56,57,56,57,56,58,57,56,58,56,57,56,57,58,0,57,56,56,57,56,58,57,56,58,57,56,58,57,56,58,0,0,59,60,59,60,59,59,0,59,59,59,60,59,60,59,59,60,59,59,59,60,59,60,59,60,59,60,0,0,65,65,67,66,68,65,67,66,68,65,0,0,65,66,65,66,0,65,65,65,66,65,66,65,67,66,68,65,67,66,68,66,66,65,65,67,68,0,65,66,0,65,66,65,67,66,68,65,67,66,68,65,67,66,68,0,0,65,67,66,68,0,69,69,69,69,69,69,69,69,69,69,69,0,0,72,70,71,72,70,71,70,71,70,71,70,71,71,70,71,72,70,71,0,72,70,71,70,72,70,71,70,71,72,70,71,72,70,71,72,70,71,71,72,70,71,0,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,0,74,75,74,75,74,74,74,74,74,75,0,74,75,74,75,0,74,74,74,75,74,75,74,75,74,75,0,76,76,76,76,76,76,76,76,76,76,0,78,77,79,78,77,79,77,77,77,78,77,79,78,77,79,77,77,77,78,79,0,77,78,77,79,78,77,79,78,77,79,0,0,78,77,79,0,0,0,0,0,0,0,82,85,82,85,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,80,83,0,81,80,84,83,81,80,84,83,80,83,83,84,83,80,83,81,84,81,82,82,84,85,85,81,80,82,82,82,88,84,83,85,85,85,89,80,81,80,0,81,80,82,88,84,83,85,89,84,83,84,83,88,89,0,81,84,0,81,80,84,83,82,85,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,80,81,80,81,80,82,88,84,83,85,89,0,90,90,90,90,90,90,90,90,90,90,90,0,0,0,0,0,0,0,91,92,91,92,91,91,91,91,91,91,91,92,91,91,92,91,92,91,91,91,91,92,91,92,91,92,91,92,0,93,95,93,95,93,93,93,93,93,93,93,95,93,0,93,93,93,95,93,93,93,95,93,93,93,95,93,95,93,95,93,95,0,96,97,96,97,96,96,97,96,96,97,0,97,96,96,97,96,97,96,97,96,97,0,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,99,100,101,99,100,101,99,100,99,100,99,100,100,99,100,99,100,101,0,0,99,100,101,99,100,101,100,99,100,100,99,100,99,100,101,99,100,101,99,100,101,99,100,101,0,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,102,0,0,103,104,105,103,104,105,103,104,103,104,103,104,103,104,103,104,105,103,104,105,104,104,105,104,103,104,104,104,103,104,103,103,104,105,103,104,105,103,104,105,0,103,104,105,104,0,0,106,107,108,106,107,108,106,107,106,107,106,107,106,107,106,107,108,106,107,108,107,108,107,106,107,106,107,107,106,107,108,106,107,108,106,107,108,106,0,106,107,108,0,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,111,114,117,111,114,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,109,112,115,110,109,113,112,116,115,110,109,113,112,116,115,109,112,115,109,112,115,110,113,116,115,116,115,110,111,111,113,114,114,116,117,117,110,109,111,111,111,120,113,112,114,114,114,116,115,117,117,117,109,110,109,110,109,111,120,113,112,114,116,115,117,112,113,112,0,0,120,0,110,113,116,0,112,113,112,110,109,113,112,116,115,111,114,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,109,110,109,110,109,111,120,113,112,114,116,115,117,0,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,0,0,123,122,124,123,125,122,124,123,125,122,122,122,123,0,122,122,122,122,122,122,122,124,123,125,122,124,123,125,122,124,125,0,0,123,122,123,0,122,122,124,123,125,122,124,123,125,122,124,123,125,122,124,123,125,0,126,126,126,126,126,126,126,126,126,126,126,126,0,127,0,127,0,127,127,40,127,40,40,40,40,0,0,127,40,40,40,127,267,127,40,40,127,40,127,40,127,127,40,40,40,127,40,127,40,127,40,40,127,127,127,40,0,0,0,0,0,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,0,0,0,0,0,0,0,0,149,149,149,149,149,149,149,149,149,149,149,149,149,149,0,0,0,268,156,157,158,268,156,157,158,0,268,156,157,158,268,268,0,0,268,156,157,158,268,268,156,157,158,0,0,0,268,156,157,158,268,156,157,158,268,156,157,158,268,156,157,158,0,159,159,159,159,159,159,159,159,159,159,159,159,0,160,160,160,160,160,160,160,160,160,160,160,160,160,160,0,0,0,161,161,161,161,161,161,161,161,161,161,161,161,161,0,161,161,33,33,33,33,33,33,0,33,269,270,0,33,168,33,33,269,270,0,0,33,33,33,33,0,168,0,0,33,33,33,33,33,33,33,166,167,33,165,168,166,167,33,165,168,165,166,167,33,168,165,33,168,166,166,167,167,33,33,168,168,166,167,33,33,33,33,33,33,33,33,33,165,168,168,168,166,167,33,165,168,165,166,167,33,168,33,168,166,167,33,168,166,167,33,165,168,166,167,33,165,168,166,167,33,165,168,166,167,33,165,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,180,181,182,180,181,182,180,180,180,181,180,181,182,180,181,182,0,182,180,180,180,180,181,182,180,181,182,180,181,182,180,181,182,0,0,0,184,183,184,185,183,184,185,183,183,183,184,183,184,185,183,184,185,0,185,183,183,183,183,184,185,183,184,185,183,184,185,183,184,185,0,186,186,186,186,186,186,186,186,186,186,186,186,186,0,0,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,0,0,0,0,0,193,194,192,193,194,195,192,193,194,195,192,192,193,194,0,192,193,194,195,192,193,194,195,192,192,195,192,192,0,0,192,192,192,193,194,195,192,193,194,195,192,193,194,195,192,193,194,195,0,196,196,196,196,196,196,196,196,196,196,196,0,0,197,199,197,199,197,197,197,199,197,199,197,0,0,199,197,197,0,0,0,0,197,197,197,199,197,199,197,199,0,197,199,0,0,0,200,201,202,200,201,202,200,200,201,202,200,200,200,201,202,200,201,200,201,0,200,200,202,201,201,200,201,202,200,201,202,200,201,202,200,201,202,0,203,203,203,203,203,203,203,203,203,203,203,203,203,203,203,0,0,204,205,206,207,204,205,206,207,204,204,0,204,204,205,206,207,204,205,206,207,205,206,207,204,204,0,204,0,0,204,204,205,206,207,204,205,206,207,204,205,206,207,0,204,204,205,206,207,0,208,208,208,208,208,208,208,208,208,208,208,208,208,0,0,0,0,0,0,0,0,0,0,0,0,211,212,0,210,211,212,209,213,210,214,211,212,209,213,210,214,210,209,210,209,210,209,210,211,212,0,209,210,209,209,210,211,212,209,213,210,214,211,212,209,213,210,214,209,210,213,214,209,210,209,210,209,210,211,212,209,213,210,214,211,212,209,213,210,214,211,212,209,213,210,214,211,212,209,213,210,214,215,215,0,215,215,215,215,215,215,215,0,0,0,0,216,218,217,219,216,218,217,219,216,217,216,217,216,0,217,216,218,217,219,216,218,217,219,216,217,216,216,216,217,217,216,218,219,216,217,216,217,216,217,216,218,217,219,216,218,217,219,216,218,217,219,216,218,217,219,0,0,220,221,220,221,220,220,220,221,220,221,0,220,221,220,220,220,220,220,221,220,221,220,221,220,221,0,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,0,0,223,225,223,225,223,223,223,223,225,223,225,223,223,223,223,223,225,223,223,223,223,223,225,223,225,223,225,0,223,225,0,0,226,227,228,226,227,228,226,226,226,226,227,228,0,226,227,228,226,0,227,228,226,226,0,0,226,226,226,227,228,226,227,228,226,227,228,226,227,228,0,229,229,229,229,229,229,229,229,229,229,229,0,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,231,230,231,232,230,231,232,230,230,230,231,230,230,231,232,230,231,232,232,230,230,0,230,230,231,232,230,231,232,230,231,232,230,230,231,232,0,0,0,0,0,0,0,236,236,0,0,0,0,0,2,2,62,62,233,234,62,235,236,237,238,239,2,233,234,62,235,236,237,238,239,2,62,62,2,2,2,233,234,62,235,236,237,238,239,2,233,234,62,235,236,237,238,239,2,2,233,2,237,2,234,233,234,62,235,236,237,238,239,2,233,62,234,2,233,234,62,235,236,237,238,239,2,233,233,233,233,234,234,234,234,62,62,62,62,235,235,235,235,236,236,236,236,237,237,237,237,238,238,238,238,239,239,239,239,2,2,2,2,233,234,62,235,236,236,237,238,239,2,233,234,62,235,236,237,238,239,2,235,236,234,233,239,233,234,62,235,236,237,238,239,2,233,2,239,235,62,62,237,238,233,235,233,234,239,2,235,234,234,236,2,2,2,2,2,233,234,62,235,236,237,238,239,2,236,233,234,62,235,236,237,238,239,2,233,234,62,235,236,237,238,239,2,233,234,62,235,236,237,238,239,2,235,237,238,233,235,233,234,62,235,236,237,238,239,2,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,0,0,0,271,244,272,245,271,244,272,245,0,271,244,272,245,271,271,272,272,0,0,271,244,272,245,271,271,272,272,244,245,0,271,244,272,245,271,244,272,245,271,244,272,245,271,244,272,245,0,0,0,0,0,0,0,0,0,0,0,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,0,0,0,0,0,224,256,257,224,256,257,224,256,257,224,256,257,273,256,257,224,224,224,256,257,224,224,256,257,258,256,257,224,256,257,224,256,257,224,256,257,258,256,257,258,256,257,258,256,257,224,224,224,256,257,224,256,257,224,256,257,224,256,257,224,256,257,0,0,0,261,134,261,134,261,261,134,261,134,261,134,134,134,261,134,134,261,274,261,261,274,261,134,274,261,134,274,261,134,134,261,134,261,134,261,134,261,134,261,0,0,0,0,263,262,263,264,262,263,264,262,262,263,262,263,264,262,263,264,262,264,262,262,0,0,0,262,262,263,264,262,263,264,262,263,264,262,263,264,0,265,265,265,265,265,265,265,265,265,265],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[5,6],[7,6],[8,6],[9,6],[10,6],[11,12],0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[2,[[14,[13]]]],[[],15],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[17,[16]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[20]]],21],[-1,-1,[]],[[],[[23,[22]]]],[-1,-2,[],[]],0,0,0,0,0,0,[24,16],0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[25,25],[26,26],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[-1,[[18,[25]]],21],[-1,[[18,[26]]],21],0,0,[[25,27],28],[[26,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[25,-1],18,29],[[26,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[30,31],16],0,[24,16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],[[6,32],[[18,[16,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[34,34],[[-1,-2],16,[],[]],[-1,[[18,[34]]],21],0,0,[[34,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[35,31],16],[[36,31],16],[[34,-1],18,29],[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[37,37],[[-1,-2],16,[],[]],0,0,[-1,[[18,[37]]],21],[[37,27],28],[-1,-1,[]],[37,38],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[39,31],16],[[37,-1],18,29],[24,16],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[6,38,40],[[18,[16,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],0,[-1,-2,[],[]],[[],41],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[42,31],16],[[43,31],16],[24,16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[44,44],[[-1,-2],16,[],[]],[-1,[[18,[44]]],21],[[44,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[45,31],16],[[46,31],16],0,[[44,-1],18,29],[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[25,32],[[18,[26,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[47,31],16],[[48,31],16],[[49,31],16],0,0,[24,16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[50,[51,[6]]],12],[-1,-2,[],[]],0,0,[[],50],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[52,52],[53,53],[54,54],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[-1,[[18,[52]]],21],[-1,[[18,[53]]],21],[-1,[[18,[54]]],21],0,[[52,27],28],[[53,27],28],[[54,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[53,32],[[18,[12,33]]]],0,0,0,[[52,32],[[18,[16,33]]]],[[52,-1],18,29],[[53,-1],18,29],[[54,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[55,12],0,[24,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[56,56],[[-1,-2],16,[],[]],0,0,[-1,[[18,[57]]],21],[-1,[[18,[56]]],21],0,[[56,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[58,31],16],0,[[57,-1],18,29],[[56,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[57,32,6],[[18,[56,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[59,59],[[-1,-2],16,[],[]],0,[-1,[[18,[59]]],21],[[59,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[60,31],16],[[59,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[61,62],[[18,[[64,[63]],33]]]],[[32,61],[[18,[[51,[[64,[63]]]],33]]]],[65,65],[66,66],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[[],65],0,[-1,[[18,[65]]],21],[-1,[[18,[66]]],21],[[65,27],28],[[66,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[67,31],16],[[68,31],16],0,[[65,-1],18,29],[[66,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[[32,66,12],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[],69],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[70,70],[71,71],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[70]]],21],[-1,[[18,[71]]],21],0,[[70,27],28],[[71,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[72,31],16],[[70,-1],18,29],[[71,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-1,[]],0,[-1,-2,[],[]],[[],73],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,0,[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[74,74],[[-1,-2],16,[],[]],[-1,[[18,[74]]],21],[[74,27],28],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[75,31],16],0,[[74,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],76],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[77]]],21],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[78,31],16],[[79,31],16],0,[[77,-1],18,29],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[77,32,6],[[18,[16,33]]]],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[80,[[18,[81,82]]]],[83,[[18,[84,85]]]],0,[81,81],[80,80],[84,84],[83,83],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],80],[[],83],[[83,86],83],0,0,[[],80],[[],83],[-1,[[18,[81]]],21],[-1,[[18,[84]]],21],[[81,27],28],[[82,27],28],[[82,27],28],[[84,27],28],[[85,27],28],[[85,27],28],[-1,-1,[]],[-1,-1,[]],[12,82],[87,82],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,85],[87,85],[-1,-1,[]],[-1,-1,[]],[[80,6],80],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[51,[86]]],86],[[83,[51,[86]]],83],0,0,[[88,31],16],[[89,31],16],0,[[81,-1],18,29],[[84,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[80,6],80],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],0,[-1,-2,[],[]],[[],90],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[24,16],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[91,91],[[-1,-2],16,[],[]],[[],91],[-1,[[18,[91]]],21],[[91,91],86],[[91,27],28],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[92,31],16],[[91,-1],18,29],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[93,93],[[-1,-2],16,[],[]],[[],93],[-1,[[18,[93]]],21],[[93,93],86],[94,93],[-1,-1,[]],[-1,-1,[]],[[[64,[94]]],[[64,[93]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[95,31],16],[[93,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[96]]],21],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[97,31],16],[[96,-1],18,29],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],0,[[],98],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[24,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[99,99],[100,100],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[99]]],21],[-1,[[18,[100]]],21],0,[[99,27],28],[[100,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[32,6],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[101,31],16],0,[[99,-1],18,29],[[100,-1],18,29],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[102,6],0,[-1,-2,[],[]],[[],102],0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[102,6],0,[102,6],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[103,103],[104,104],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[103]]],21],[-1,[[18,[104]]],21],[[103,27],28],[[104,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[105,31],16],0,[[103,-1],18,29],[[104,-1],18,29],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[106,106],[107,107],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[106]]],21],[-1,[[18,[107]]],21],[[106,27],28],[[107,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[108,31],16],0,[[106,-1],18,29],[[107,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[22,[51,[6]]],12],[-1,-2,[],[]],0,[[],22],0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[109,[[18,[110,111]]]],[112,[[18,[113,114]]]],[115,[[18,[116,117]]]],[110,110],[109,109],[113,113],[112,112],[116,116],[115,115],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],109],[[],112],[[],115],[[],109],[[],112],[[],115],[-1,[[18,[110]]],21],[-1,[[18,[113]]],21],[-1,[[18,[116]]],21],[[115,[51,[118]]],115],0,0,[[110,27],28],[[111,27],28],[[111,27],28],[[113,27],28],[[114,27],28],[[114,27],28],[[116,27],28],[[117,27],28],[[117,27],28],[-1,-1,[]],[-1,-1,[]],[12,111],[87,111],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[87,114],[12,114],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,117],[87,117],[[109,6],109],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[112,119],112],0,0,[[32,113],[[18,[116,33]]]],0,[[120,31],16],0,[[110,-1],18,29],[[113,-1],18,29],[[116,-1],18,29],[24,16],[[112,118],112],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[109,6],109],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[121,121],[[-1,-2],16,[],[]],[-1,[[18,[121]]],21],[[121,121],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[121,27],28],[-1,-1,[]],[-1,-2,[],[]],[[],121],0,[[121,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[122,122],[[-1,-2],16,[],[]],[-1,[[18,[122]]],21],[-1,[[18,[123]]],21],0,[[122,122],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[122,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[124,31],16],[[125,31],16],0,0,0,[[122,-1],18,29],[[123,-1],18,29],[24,16],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[126,6,55],12],[-1,-2,[],[]],[[],126],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,0,[[127,128],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[[],129],[2,[[51,[[131,[130]]]]]],[[127,12],[[133,[[51,[132]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[2,127],[[2,134],[[135,[40]]]],[[2,[136,[-1]],[136,[-2]]],[[137,[-2,-1]]],138,139],[40,[[18,[16,33]]]],[[127,140],[[18,[16,33]]]],[[127,141],[[18,[16,33]]]],0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[40,[[18,[16,33]]]],[[127,142],[[133,[86]]]],[[127,143,12],[[133,[[16,[12,118]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[144,144],[[-1,-2],16,[],[]],[144,12],[[144,27],28],[145,12],[-1,-1,[]],[-1,-2,[],[]],[146,144],[144,12],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[[[51,[2]]],[[148,[147]]]],[[[51,[2]]],[[148,[147]]]],0,0,0,[149,16],[-1,-2,[],[]],[-1,-2,[],[]],[32,[[18,[16,33]]]],[-1,-1,[]],[-1,-2,[],[]],[32,[[18,[16,33]]]],[[32,118,[150,[16]]],[[18,[[151,[16]],33]]]],[[32,118],[[18,[[16,[149,[151,[16]]]],33]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],0,[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,153],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[0,[154]]]],[[],155],[[156,31],16],[[157,31],16],[[158,31],16],0,[24,16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],159],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,[160,16],[-1,-2,[],[]],[-1,-2,[],[]],[[[150,[16]]],86],[-1,-1,[]],[-1,-2,[],[]],[[32,118,[150,[16]]],[[18,[[151,[16]],33]]]],[[32,118],[[18,[[16,[160,[151,[16]]]],33]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],0,[-1,19,[]],[[32,[150,[16]]],[[18,[16,33]]]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[161,161],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-2,[],[]],[6,161],[161,162],[[161,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[[40,6,6],[[18,[16,33]]]],0,[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,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,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[165]]],21],[[166,166],86],[[167,167],86],[[33,33],86],[[168,168],86],0,[33,153],[168,153],[[166,27],28],[[166,27],28],[[167,27],28],[[167,27],28],[[33,27],28],[[33,27],28],[[168,27],28],[[168,27],28],[-1,-1,[]],[-1,-1,[]],[169,33],[170,33],[-1,-1,[]],[171,33],[172,33],[173,33],[174,33],[175,33],[176,33],[-1,-1,[]],[176,168],[-1,-1,[]],[33,168],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[165,-1],18,29],[166,[[51,[177]]]],[167,[[51,[177]]]],[33,[[51,[177]]]],[168,[[51,[177]]]],[33,178],[168,178],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[],[[23,[179]]]],0,0,[24,16],0,0,0,0,[24,16],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[180,180],[[-1,-2],16,[],[]],[[],180],[181,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[182,31],16],[180,162],[[180,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[183,183],[[-1,-2],16,[],[]],[[],183],[184,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[185,31],16],[183,162],[[183,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[186,[51,[6]]],12],[[],[[187,[6]]]],[-1,-2,[],[]],0,0,[[],186],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[[188,[-1,-2]]],[[188,[-1,-2]]],[189,190,191],[189,190,191]],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[6,[51,[[64,[[16,[-1,-2]]]]]]],[[188,[-1,-2]]],[189,190],[189,190]],[[[188,[-1,-2]]],162,[189,190],[189,190]],[[[188,[-1,-2]],163],[[18,[16,164]]],[189,190],[189,190]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[192,192],[[-1,-2],16,[],[]],[193,12],[194,12],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[6,6],192],[[195,31],16],[192,162],[[192,163],[[18,[16,164]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],196],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[197,197],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[64,[198]]],197],0,0,[[199,31],16],[197,162],[[197,163],[[18,[16,164]]]],0,[24,16],0,0,0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[94,200],[-1,-1,[]],[-1,-1,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[[64,[200]]],201],0,[200,12],0,[[202,31],16],[201,162],[[201,163],[[18,[16,164]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],[[187,[6]]]],0,[-1,-2,[],[]],[[],203],0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[204,204],[[-1,-2],16,[],[]],0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[205,31],16],[[206,31],16],[[207,31],16],[204,162],[[204,163],[[18,[16,164]]]],0,0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[],[[187,[6]]]],0,[-1,-2,[],[]],[[],208],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,0,0,0,[24,16],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[209,209],[210,210],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],209],[[],210],[211,12],[212,12],0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[213,31],16],[[214,31],16],[209,162],[210,162],[[209,163],[[18,[16,164]]]],[[210,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[215,31],16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[216,216],[217,217],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[198,[64,[63]],12,86],216],[[12,65],217],0,0,[[218,31],16],[[219,31],16],[216,162],[217,162],[[216,163],[[18,[16,164]]]],[[217,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[220,220],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[64,[198]]],220],[[221,31],16],[220,162],[[220,163],[[18,[16,164]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-1,[]],[[222,6],12],[[222,6],12],[[222,6],12],[[],[[187,[6]]]],[[222,6],12],[-1,-2,[],[]],0,[[],222],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[223,223],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[224,198,[64,[63]],12,86],223],0,[[225,31],16],[223,162],[[223,163],[[18,[16,164]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[226,226],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[227,31],16],[[228,31],16],[226,162],[[226,163],[[18,[16,164]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],[[187,[6]]]],[-1,-2,[],[]],[[],229],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],[[179,[51,[6]]],12],[[],[[187,[6]]]],0,[-1,-2,[],[]],[[],179],0,0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[230,230],[[-1,-2],16,[],[]],[[],230],[231,12],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[232,31],16],[230,162],[[230,163],[[18,[16,164]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[24,16],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[2,16],[2,16],[233,233],[234,234],[62,62],[235,235],[236,236],[237,237],[238,238],[239,239],[2,2],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,0,0,0,0,0,[-1,[[18,[233]]],21],[-1,[[18,[234]]],21],[-1,[[18,[62]]],21],[-1,[[18,[235]]],21],[-1,[[18,[236]]],21],[-1,[[18,[237]]],21],[-1,[[18,[238]]],21],[-1,[[18,[239]]],21],[-1,[[18,[2]]],21],0,0,0,[[[241,[240]]],[[241,[240]]]],[[233,233],86],[[234,234],86],[[62,62],86],[[235,235],86],[[236,236],86],[[237,237],86],[[238,238],86],[[239,239],86],[[2,2],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[233,27],28],[[234,27],28],[[62,27],28],[[235,27],28],[[236,27],28],[[236,27],28],[[237,27],28],[[238,27],28],[[239,27],28],[[2,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[242,[[18,[236,243]]]],0,[233,12],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[18,[2,243]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[236,-1],18,29],0,[2,16],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[24,16],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[4,6],[[51,[6]]]],[-1,-2,[],[]],[[],4],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,153],[6,153],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[0,[154]]]],[[],155],[[],155],[[],[[0,[154]]]],[[244,31],16],[[245,31],16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[246,[[16,[6,6]]]],[247,[[16,[6,6]]]],[248,[[16,[6,6]]]],[249,[[16,[6,6]]]],[250,[[16,[6,6]]]],[251,[[16,[6,6]]]],[252,[[16,[6,6]]]],[253,[[16,[6,6]]]],[254,[[16,[6,6]]]],[255,[[16,[6,6]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[224,224],[256,256],[257,257],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[148,[258]]],[]],[-1,[[148,[258]]],[]],[-1,[[148,[258]]],[]],0,0,[[],224],[[],256],[[],257],[-1,[[18,[224]]],21],[[224,224],86],[[256,256],86],[[257,257],86],[[-1,40,6,6],[[260,[[148,[259]]]]],[]],[[256,40,6,6],[[260,[[148,[259]]]]]],[[257,40,6,6],[[260,[[148,[259]]]]]],[[224,27],28],[[256,27],28],[[257,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,40,6],[[260,[[148,[259]]]]],[]],[[256,40,6],[[260,[[148,[259]]]]]],[[257,40,6],[[260,[[148,[259]]]]]],[[-1,40,6],[[260,[[148,[259]]]]],[]],[[256,40,6],[[260,[[148,[259]]]]]],[[257,40,6],[[260,[[148,[259]]]]]],[[-1,40,6],[[260,[[148,[259]]]]],[]],[[256,40,6],[[260,[[148,[259]]]]]],[[257,40,6],[[260,[[148,[259]]]]]],[[224,-1],18,29],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[134,134],[261,261],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],134],[[134,27],28],[-1,-1,[]],[-1,-1,[]],[[134,6],[[51,[12]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[260,[[148,[259]]]]],[]],[261,[[260,[[148,[259]]]]]],[32,261],[-1,[[260,[[148,[259]]]]],[]],[261,[[260,[[148,[259]]]]]],[[134,6],16],[-1,[[260,[[148,[259]]]]],[]],[261,[[260,[[148,[259]]]]]],[[134,12,12],16],[-1,[[260,[[148,[259]]]]],[]],[261,[[260,[[148,[259]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[262,262],[[-1,-2],16,[],[]],[263,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],262],[[264,31],16],[262,162],[[262,163],[[18,[16,164]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[[],265],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]]],"c":[],"p":[[3,"SETTINGS",0],[3,"Settings",2454],[3,"FILES",0],[3,"FileMap",2687],[3,"JS",0],[15,"str"],[3,"CSS",0],[3,"MOBILE_CSS",0],[3,"VERIFICATIN_WIDGET_JS",0],[3,"VERIFICATIN_WIDGET_CSS",0],[3,"SOURCE_FILES_OF_INSTANCE",0],[3,"String",3019],[3,"CookieIdentityPolicy",3020],[3,"IdentityService",3021],[3,"JsonConfig",3022],[15,"tuple"],[6,"Result",3023],[4,"Result",3024],[3,"TypeId",3025],[3,"RedirectQuery",164],[8,"Deserializer",3026],[3,"Routes",1193],[3,"Authentication",3027],[3,"ServiceConfig",3028],[3,"AccountCheckPayload",187],[3,"AccountCheckResp",187],[3,"Formatter",3029],[6,"Result",3029],[8,"Serializer",3030],[3,"delete_account",228],[3,"AppService",3028],[6,"AppData",0],[4,"ServiceError",1653],[3,"Email",241],[3,"email_exists",241],[3,"set_email",241],[3,"ChangePasswordReqest",278],[3,"UpdatePassword",278],[3,"update_user_password",278],[3,"Data",1470],[3,"Account",320],[3,"get_secret",338],[3,"update_user_secret",338],[3,"Username",359],[3,"username_exists",359],[3,"set_username",359],[3,"register",398],[3,"login",398],[3,"signout",398],[3,"Auth",431],[4,"Option",3031],[3,"Register",445],[3,"Login",445],[3,"Password",445],[15,"usize"],[3,"MCaptchaDetails",508],[3,"CreateCaptcha",508],[3,"create",508],[3,"DeleteCaptcha",552],[3,"delete",552],[3,"TrafficPattern",3032],[3,"DefaultDifficultyStrategy",2454],[3,"Level",3033],[3,"Vec",3034],[3,"TrafficPatternRequest",579],[3,"UpdateTrafficPattern",579],[3,"create",579],[3,"update",579],[3,"Easy",642],[3,"Levels",654],[3,"I32Levels",654],[3,"get_captcha",654],[3,"Captcha",697],[3,"StatsPayload",714],[3,"get",714],[3,"Stats",741],[3,"UpdateCaptcha",752],[3,"update_key",752],[3,"update_captcha",752],[3,"BuildDetailsBuilder",790],[3,"BuildDetails",790],[4,"BuildDetailsBuilderError",790],[3,"HealthBuilder",790],[3,"Health",790],[4,"HealthBuilderError",790],[15,"bool"],[3,"UninitializedFieldError",3035],[3,"build_details",790],[3,"health",790],[3,"Meta",917],[3,"AddNotificationRequest",934],[3,"add_notification",934],[3,"NotificationResp",964],[3,"Notification",3032],[3,"get_notification",964],[3,"MarkReadReq",997],[3,"mark_read",997],[3,"Notifications",1019],[3,"GetConfigPayload",1038],[3,"ApiPoWConfig",1038],[3,"get_config",1038],[3,"PoW",1084],[3,"ValidationToken",1102],[3,"ApiWork",1102],[3,"verify_pow",1102],[3,"CaptchaValidateResp",1149],[3,"VerifyCaptchaResultPayload",1149],[3,"validate_captcha_token",1149],[3,"BuildDetailsBuilder",1213],[3,"BuildDetails",1213],[4,"BuildDetailsBuilderError",1213],[3,"PercentileReqBuilder",1213],[3,"PercentileReq",1213],[4,"PercentileReqBuilderError",1213],[3,"PercentileRespBuilder",1213],[3,"PercentileResp",1213],[4,"PercentileRespBuilderError",1213],[15,"u32"],[15,"f64"],[3,"percentile_benches",1213],[3,"Stats",1379],[3,"Page",1401],[3,"SurveySecretUpload",1401],[3,"download",1401],[3,"secret",1401],[3,"Survey",1457],[4,"SystemGroup",1470],[3,"AddSite",3036],[3,"Config",3037],[3,"Tokio1Executor",3038],[3,"AsyncSmtpTransport",3039],[3,"PoWConfig",3040],[6,"CaptchaResult",3041],[3,"SecretsStore",2926],[3,"Arc",3042],[3,"Addr",3043],[3,"System",3044],[8,"Master",3045],[8,"Save",3046],[3,"RemoveCaptcha",3036],[3,"Rename",3036],[3,"VerifyCaptchaResult",3047],[3,"Work",3040],[3,"Date",1514],[3,"OffsetDateTime",3048],[15,"i64"],[8,"MCDatabase",3032],[3,"Box",3049],[3,"DemoUser",1541],[3,"Receiver",3050],[3,"JoinHandle",3051],[3,"EmbeddedFile",3052],[3,"HttpResponse",3053],[8,"Iterator",3054],[4,"Filenames",3055],[3,"dist",1558],[3,"spec",1558],[3,"index",1558],[3,"Docs",1606],[3,"UpdateEasyCaptcha",1619],[3,"IndexPage",1635],[6,"RenderResult",3056],[3,"Buffer",3057],[4,"RenderError",3056],[3,"ErrorToResponse",1653],[3,"SmtpErrorWrapper",1653],[3,"DBErrorWrapper",1653],[4,"PageError",1653],[4,"CaptchaError",3041],[4,"MailboxError",3043],[4,"ParseError",3058],[3,"RecvError",3059],[4,"CredsError",3060],[3,"ValidationErrors",3061],[3,"Error",3062],[4,"DBError",3063],[8,"Error",3064],[3,"StatusCode",3065],[3,"Routes",2392],[3,"IndexPage",1777],[3,"INDEX",1777],[3,"login",1777],[3,"IndexPage",1814],[3,"INDEX",1814],[3,"join",1814],[3,"Auth",1851],[15,"array"],[3,"SudoPage",1865],[8,"Display",3029],[8,"Render",3056],[8,"Clone",3066],[3,"ErrorPage",1883],[3,"INTERNAL_SERVER_ERROR_BODY",1883],[3,"UNKNOWN_ERROR_BODY",1883],[3,"error",1883],[3,"Errors",1936],[3,"IndexPage",1948],[3,"Captcha",3032],[3,"panel",1948],[3,"Notification",1981],[3,"IndexPage",1981],[3,"notifications",1981],[3,"Panel",2021],[3,"IndexPage",2037],[3,"settings",2037],[3,"delete_account",2037],[3,"update_secret",2037],[3,"Settings",2087],[3,"AdvanceIndexPage",2108],[3,"EasyIndexPage",2108],[3,"ADVANCE_INDEX",2108],[3,"EASY_INDEX",2108],[3,"advance",2108],[3,"easy",2108],[3,"delete_sitekey",2190],[3,"AdvanceEditPage",2200],[3,"EasyEditPage",2200],[3,"advance",2200],[3,"easy",2200],[3,"IndexPage",2259],[3,"list_sitekeys",2259],[3,"Sitekey",2286],[3,"IndexPage",2308],[3,"CaptchaStats",2859],[3,"view_sitekey",2308],[3,"PercentilePage",2340],[3,"get_percentile",2340],[3,"post_percentile",2340],[3,"Utils",2380],[3,"IndexPage",2415],[3,"INDEX",2415],[3,"sitemap",2415],[3,"Server",2454],[3,"Captcha",2454],[3,"Smtp",2454],[4,"DBType",2454],[3,"Database",2454],[3,"Redis",2454],[3,"Survey",2454],[3,"DefaultState",3067],[3,"ConfigBuilder",3067],[3,"Url",3068],[4,"ConfigError",3069],[3,"static_files",2699],[3,"favicons",2699],[3,"KEY",2748],[3,"GITHUB",2748],[3,"HOME",2748],[3,"SETTINGS_ICON",2748],[3,"CREDIT_CARD",2748],[3,"HELP_CIRCLE",2748],[3,"MESSAGE",2748],[3,"DOCS_ICON",2748],[3,"MCAPTCHA_TRANS_ICON",2748],[3,"BAR_CHART",2748],[3,"Real",2859],[3,"Dummy",2859],[8,"Stats",2859],[8,"Future",3070],[3,"Pin",3071],[3,"Survey",2926],[3,"IndexPage",2968],[3,"INDEX_PAGE",2968],[3,"show_widget",2968],[3,"Widget",3008],[6,"ArcData",0],[6,"Mailer",1470],[3,"Asset",1558],[6,"ServiceResult",1653],[6,"PageResult",1653],[3,"Asset",2699],[3,"Favicons",2699],[8,"CloneStats",2859],[8,"SurveyClientTrait",2926]],"b":[[837,"impl-Debug-for-BuildDetailsBuilderError"],[838,"impl-Display-for-BuildDetailsBuilderError"],[840,"impl-Debug-for-HealthBuilderError"],[841,"impl-Display-for-HealthBuilderError"],[844,"impl-From%3CString%3E-for-BuildDetailsBuilderError"],[845,"impl-From%3CUninitializedFieldError%3E-for-BuildDetailsBuilderError"],[850,"impl-From%3CString%3E-for-HealthBuilderError"],[851,"impl-From%3CUninitializedFieldError%3E-for-HealthBuilderError"],[1276,"impl-Display-for-BuildDetailsBuilderError"],[1277,"impl-Debug-for-BuildDetailsBuilderError"],[1279,"impl-Debug-for-PercentileReqBuilderError"],[1280,"impl-Display-for-PercentileReqBuilderError"],[1282,"impl-Display-for-PercentileRespBuilderError"],[1283,"impl-Debug-for-PercentileRespBuilderError"],[1286,"impl-From%3CString%3E-for-BuildDetailsBuilderError"],[1287,"impl-From%3CUninitializedFieldError%3E-for-BuildDetailsBuilderError"],[1292,"impl-From%3CUninitializedFieldError%3E-for-PercentileReqBuilderError"],[1293,"impl-From%3CString%3E-for-PercentileReqBuilderError"],[1298,"impl-From%3CString%3E-for-PercentileRespBuilderError"],[1299,"impl-From%3CUninitializedFieldError%3E-for-PercentileRespBuilderError"],[1574,"impl-RustEmbed-for-Asset"],[1575,"impl-Asset"],[1582,"impl-Asset"],[1583,"impl-RustEmbed-for-Asset"],[1705,"impl-Display-for-SmtpErrorWrapper"],[1706,"impl-Debug-for-SmtpErrorWrapper"],[1707,"impl-Display-for-DBErrorWrapper"],[1708,"impl-Debug-for-DBErrorWrapper"],[1709,"impl-Display-for-ServiceError"],[1710,"impl-Debug-for-ServiceError"],[1711,"impl-Display-for-PageError"],[1712,"impl-Debug-for-PageError"],[1715,"impl-From%3CCaptchaError%3E-for-ServiceError"],[1716,"impl-From%3CMailboxError%3E-for-ServiceError"],[1718,"impl-From%3CParseError%3E-for-ServiceError"],[1719,"impl-From%3CRecvError%3E-for-ServiceError"],[1720,"impl-From%3CCredsError%3E-for-ServiceError"],[1721,"impl-From%3CValidationErrors%3E-for-ServiceError"],[1722,"impl-From%3CError%3E-for-ServiceError"],[1723,"impl-From%3CDBError%3E-for-ServiceError"],[1725,"impl-From%3CDBError%3E-for-PageError"],[1727,"impl-From%3CServiceError%3E-for-PageError"],[2580,"impl-Display-for-DBType"],[2581,"impl-Debug-for-DBType"],[2715,"impl-Asset"],[2716,"impl-RustEmbed-for-Asset"],[2717,"impl-RustEmbed-for-Favicons"],[2718,"impl-Favicons"],[2725,"impl-Asset"],[2726,"impl-RustEmbed-for-Asset"],[2727,"impl-RustEmbed-for-Favicons"],[2728,"impl-Favicons"]]}\ -}'); -if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; -if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; +var searchIndex = new Map(JSON.parse('[\ +["db_core",{"doc":"mCaptcha database operations","t":"FFKFFFPEFGKFFFFFFFFPMMMNMMMMMMONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNOOOMMNNNNNNNNNNMMMMOOONNNNNNNNNNNNNNNCOOOOOOMNNNNNNNNNNNNNNNCMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMMMMMMMMMMMMOOOOOONNNNNNNNNNNNNNNOOOMOOOOCOMCOMMMMOONNNNNNNNNNNNNNNOMMCOOONNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMMMMOOOOMONNNNNNNNNNNNNNNOOXPIPPGPIPPPPPPPNNNNNNNNNNNNRKKKKRMMMSSH","n":["AddNotification","Captcha","CloneSPDatabase","CreateCaptcha","CreatePerformanceAnalytics","EasyCaptcha","Email","GetConnection","Level","Login","MCDatabase","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail","Username","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","key","key","key","mark_notification_read","message","message","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","traffic_pattern","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","async_trait","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","borrow","borrow_mut","fmt","fmt","from","into","source","to_string","try_from","try_into","type_id","vzip","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","LEVELS","TRAFFIC_PATTERN","database_works"],"q":[[0,"db_core"],[354,"db_core::dev"],[355,"db_core::errors"],[381,"db_core::ops"],[390,"db_core::tests"],[393,"core::future::future"],[394,"alloc::boxed"],[395,"core::pin"],[396,"core::option"],[397,"core::result"],[398,"serde::de"],[399,"core::fmt"],[400,"core::fmt"],[401,"core::any"],[402,"core::error"],[403,"alloc::string"]],"d":["Data required to add notification","Data representing a captcha","Trait to clone MCDatabase","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Represents Easy captcha configuration","email as login","","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","type encapsulating username and hashed password of a user","Represents notification","Proof-of-Work CAPTCHA performance analytics","Data required to register a new user","datastructure representing a user’s secret","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","data required to update them email of a user","username as login","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","create new captcha","create new notification","","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","","","","","","","","","","","","","","","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","traffic pattern of easy captcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","levels for complex captcha config","easy traffic pattern","test all database functions"],"i":[0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,14,1,1,1,1,1,1,1,1,1,1,8,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,8,1,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,24,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,17,22,17,1,1,9,16,17,18,19,20,8,21,22,23,1,1,1,1,20,21,22,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,0,9,3,16,21,22,12,1,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,0,1,1,1,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,19,1,1,1,1,1,1,1,1,1,1,1,1,12,15,18,19,16,18,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,20,21,22,1,18,19,18,13,0,8,1,0,18,1,1,1,1,12,23,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,17,1,1,0,9,16,19,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,20,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,1,1,1,1,1,1,1,12,13,15,20,1,3,12,13,14,15,9,3,16,17,18,19,20,8,21,22,23,9,16,0,36,0,36,36,0,36,0,36,44,36,44,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,42,0,0,0,0,40,40,42,43,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[12,12],[13,13],[14,14],[15,15],[9,9],[3,3],[16,16],[17,17],[18,18],[19,19],[20,20],[8,8],[21,21],[22,22],[23,23],[24,[[6,[1]]]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],[[-1,-2],25,[],[]],0,0,0,[[1,2,21],[[7,[[6,[5]]]]]],[[1,19],[[7,[[6,[5]]]]]],[[],9],[[],16],[[],17],[[],18],[[],19],[[],20],[[],8],[[],21],[[],22],[[],23],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,0,[-1,[[26,[12]]],27],[-1,[[26,[13]]],27],[-1,[[26,[14]]],27],[-1,[[26,[15]]],27],[-1,[[26,[9]]],27],[-1,[[26,[3]]],27],[-1,[[26,[16]]],27],[-1,[[26,[17]]],27],[-1,[[26,[18]]],27],[-1,[[26,[19]]],27],[-1,[[26,[20]]],27],[-1,[[26,[8]]],27],[-1,[[26,[21]]],27],[-1,[[26,[22]]],27],[-1,[[26,[23]]],27],0,0,0,0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],28],[[13,13],28],[[14,14],28],[[15,15],28],[[9,9],28],[[3,3],28],[[16,16],28],[[17,17],28],[[18,18],28],[[19,19],28],[[20,20],28],[[8,8],28],[[21,21],28],[[22,22],28],[[23,23],28],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,29],30],[[13,29],30],[[14,29],30],[[15,29],30],[[9,29],30],[[3,29],[[26,[25,31]]]],[[16,29],30],[[17,29],30],[[18,29],30],[[19,29],30],[[20,29],30],[[8,29],30],[[21,29],30],[[22,29],30],[[23,29],30],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[1,10,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,32],[[7,[[6,[5]]]]]],[[1,14],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[1,2,33],[[7,[[6,[5]]]]]],0,0,0,0,0,0,[1,[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,12],[[7,[[6,[5]]]]]],0,0,[[12,-1],26,34],[[13,-1],26,34],[[14,-1],26,34],[[15,-1],26,34],[[9,-1],26,34],[[3,-1],26,34],[[16,-1],26,34],[[17,-1],26,34],[[18,-1],26,34],[[19,-1],26,34],[[20,-1],26,34],[[8,-1],26,34],[[21,-1],26,34],[[22,-1],26,34],[[23,-1],26,34],0,[[1,32,32],[[7,[[6,[5]]]]]],[[1,32],[[7,[[6,[5]]]]]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,21],[[7,[[6,[5]]]]]],[[1,13],[[7,[[6,[5]]]]]],[[1,2,32,32],[[7,[[6,[5]]]]]],[[1,15],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[36,29],30],[[36,29],30],[-1,-1,[]],[-1,-2,[],[]],[36,[[11,[37]]]],[-1,38,[]],[-1,[[26,[-2]]],[],[]],[-1,[[26,[-2]]],[],[]],[-1,35,[]],[-1,-2,[],[]],0,0,0,0,0,0,[[[40,[],[[39,[-1]]]]],[[7,[[6,[5]]]]],1],[[[42,[],[[41,[-1]]]]],[[7,[[6,[5]]]]],[]],[43,[[7,[[6,[5]]]]]],0,0,[[-1,12,21,[4,[3]],8,19],25,1]],"c":[],"p":[[10,"MCDatabase",0],[1,"str"],[5,"Level",0],[1,"slice"],[10,"Future",393],[5,"Box",394],[5,"Pin",395],[5,"TrafficPattern",0],[5,"CreatePerformanceAnalytics",0],[1,"usize"],[6,"Option",396],[5,"Register",0],[5,"UpdateEmail",0],[6,"Login",0],[5,"NameHash",0],[5,"PerformanceAnalytics",0],[5,"StatsUnixTimestamp",0],[5,"Notification",0],[5,"AddNotification",0],[5,"EasyCaptcha",0],[5,"CreateCaptcha",0],[5,"Captcha",0],[5,"Secret",0],[10,"CloneSPDatabase",0],[1,"tuple"],[6,"Result",397],[10,"Deserializer",398],[1,"bool"],[5,"Formatter",399],[8,"Result",399],[5,"Error",399],[1,"u32"],[1,"i32"],[10,"Serializer",400],[5,"TypeId",401],[6,"DBError",355],[10,"Error",402],[5,"String",403],[17,"Pool"],[10,"Connect",381],[17,"Conn"],[10,"GetConnection",381],[10,"Migrate",381],[8,"DBResult",355]],"b":[[371,"impl-Display-for-DBError"],[372,"impl-Debug-for-DBError"]]}],\ +["db_sqlx_maria",{"doc":"","t":"FGFPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCONNCNNNNNNNNNNNNNNNNNNNNNOONNNNNNONONOOCONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNPFPIFPPKPPPPRKFFGPKIEPPFPPPGKPFGKKPFFPPFRPPPFPFPFPFPPFPPPMMMNMMMMMMNXONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNNNNNNNNNNNNNMNNNNNNNNNNNNNNOOOMMMNNNNNNNNNNMMMMOOONNNNNNNNNNNNNNOOOOOOMNNNNNNNNNNNNNNCMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMMMMMMMMMMMMMOOOOOONNNNNNNNNNNNNNNNNOOOMOOMOOCOMCOMMMMOONNNNNNNNNNNNNNONNMMCOOONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMMMMOOOOMONNNNNNNNNNNNNNNNOOOOOOOPIPPGPIPPPPPPPRKKKKRMMMPFIFPPKRKFFGPKIFPPPKFGKKFFPPFRFFPFFPFPPMMMNMMMMMMOOMMOOOMMMMMMMOOOCOOOOOOMMMMOMMMMMMMMMMMMMOOOOOOOOOMOOMOOOMOMMMMOOOMMOOOOMMMMMMMOOOOMOOOPFIFPPKRKFFGPKIFPPPKFGKKFFPPFRFFPFFPFPPMMMNMMMMMMXONNOMNMNOOOMMMMMMMOOONOOOOOOMNMMMNNOMMMMMMMMMMMMMOOOOOONOOOMOOMOOOMOMMMMOONOMMOOONONNNMMMMMMMOOOOMONOOSSHHH","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","EasyCaptcha","Email","EmailTaken","Err","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_database_error","key","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","source","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","traffic_pattern","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","traffic_pattern","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","to_owned","traffic_pattern","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","worker_type","worker_type","LEVELS","TRAFFIC_PATTERN","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_maria"],[118,"db_sqlx_maria::dev"],[527,"db_sqlx_maria::dev::Error"],[532,"db_sqlx_maria::dev::errors"],[546,"db_sqlx_maria::dev::ops"],[555,"db_sqlx_maria::dev::prelude"],[692,"db_sqlx_maria::dev::prelude::dev"],[844,"db_sqlx_maria::dev::tests"],[847,"db_sqlx_maria::errors"],[849,"core::future::future"],[850,"alloc::boxed"],[851,"core::pin"],[852,"core::option"],[853,"core::fmt"],[854,"core::fmt"],[855,"core::any"],[856,"sqlx_core::error"],[857,"serde::de"],[858,"core::fmt"],[859,"std::io::error"],[860,"serde::ser"],[861,"core::error"],[862,"alloc::string"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","Account not found","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","times at which the PoW was solved","","","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","","traffic pattern of easy captcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","traffic pattern of easy captcha","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","traffic pattern of easy captcha","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","levels for complex captcha config","easy traffic pattern","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,1,51,15,52,1,12,51,15,52,1,12,1,1,12,1,1,12,15,1,1,1,1,1,1,0,52,1,12,0,1,1,1,12,51,15,52,1,12,1,1,1,1,1,1,1,1,1,1,1,1,12,12,51,15,52,1,12,1,12,1,12,1,1,52,0,12,1,1,1,1,1,1,1,12,51,15,52,1,12,51,15,52,1,12,51,15,52,1,12,1,1,1,1,1,1,1,52,1,51,15,52,1,12,41,0,29,0,0,41,41,0,29,29,29,29,46,0,0,0,0,41,0,0,0,29,29,0,22,41,53,0,0,29,0,0,0,0,29,0,0,41,53,0,39,29,29,29,0,29,0,41,0,29,0,41,29,0,22,41,29,13,13,13,13,13,13,13,13,13,13,29,0,8,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,8,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,37,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,35,32,39,13,13,9,31,32,33,17,34,8,16,35,36,13,13,13,13,34,16,35,24,27,22,28,9,31,32,33,17,34,8,16,35,36,9,3,31,16,35,24,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,0,13,13,13,41,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,41,24,27,22,28,9,31,32,33,33,17,34,8,16,35,36,29,29,29,29,17,13,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,34,16,35,13,33,17,47,33,27,0,8,13,0,33,13,13,13,13,24,36,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,41,29,13,13,0,9,31,17,24,27,22,28,9,31,32,33,17,34,8,16,35,36,41,29,34,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,13,13,13,13,13,13,13,24,27,28,34,13,3,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,9,31,54,55,54,55,56,41,0,41,41,0,41,0,41,53,41,53,41,41,41,46,0,0,0,0,39,39,46,47,41,0,0,0,41,41,0,46,0,0,0,0,41,0,0,0,22,41,53,0,0,0,0,0,0,0,41,53,0,39,0,0,41,0,0,41,0,22,41,13,13,13,13,13,13,13,13,13,13,8,8,13,37,32,35,32,39,13,13,13,13,13,13,34,16,35,0,9,3,31,16,35,24,13,13,13,13,17,13,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,34,16,35,13,33,17,47,33,27,8,13,33,13,13,13,13,24,36,32,13,13,9,31,17,34,13,13,13,13,13,13,13,24,27,28,34,13,3,9,31,41,0,0,0,41,41,0,46,0,0,0,0,41,0,0,0,22,41,53,0,0,0,0,0,0,0,41,53,0,39,0,0,41,0,0,41,0,22,41,13,13,13,13,13,13,13,13,13,13,0,8,3,3,8,13,3,37,3,32,35,32,39,13,13,13,13,13,13,34,16,35,3,9,3,31,16,35,24,13,3,13,13,13,3,3,17,13,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,3,34,16,35,13,33,17,47,33,27,8,13,33,13,13,13,13,24,36,3,32,13,13,9,31,17,3,34,3,3,3,13,13,13,13,13,13,13,24,27,28,34,13,3,3,9,31,0,0,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[1,10,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,21],[[7,[[6,[5]]]]]],[[1,22],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,2,23],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,24],[[7,[[6,[5]]]]]],[[1,21,21],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,21,21],[[7,[[6,[5]]]]]],[[1,28],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[13,2,2,8],[[7,[[6,[5]]]]]],[[13,2,9],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,10,10],[[7,[[6,[5]]]]]],[[13,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[29,[[11,[30]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[24,24],[27,27],[22,22],[28,28],[9,9],[31,31],[32,32],[33,33],[17,17],[34,34],[8,8],[16,16],[35,35],[36,36],[37,[[6,[13]]]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,[[[39,[],[[38,[-1]]]]],[[7,[[6,[5]]]]],13],[[13,2,16],[[7,[[6,[5]]]]]],[[13,17],[[7,[[6,[5]]]]]],[[],9],[[],31],[[],32],[[],33],[[],17],[[],34],[[],8],[[],16],[[],35],[[],36],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,0,[-1,[[25,[24]]],40],[-1,[[25,[27]]],40],[-1,[[25,[22]]],40],[-1,[[25,[28]]],40],[-1,[[25,[9]]],40],[-1,[[25,[31]]],40],[-1,[[25,[32]]],40],[-1,[[25,[33]]],40],[-1,[[25,[17]]],40],[-1,[[25,[34]]],40],[-1,[[25,[8]]],40],[-1,[[25,[16]]],40],[-1,[[25,[35]]],40],[-1,[[25,[36]]],40],0,0,0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],[[24,24],18],[[27,27],18],[[22,22],18],[[28,28],18],[[9,9],18],[[31,31],18],[[32,32],18],[[33,33],18],[[17,17],18],[[34,34],18],[[8,8],18],[[16,16],18],[[35,35],18],[[36,36],18],0,[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[41,19],[[25,[14,42]]]],[[41,19],[[25,[14,42]]]],[[24,19],[[25,[14,42]]]],[[27,19],[[25,[14,42]]]],[[22,19],[[25,[14,42]]]],[[28,19],[[25,[14,42]]]],[[9,19],[[25,[14,42]]]],[[31,19],[[25,[14,42]]]],[[32,19],[[25,[14,42]]]],[[33,19],[[25,[14,42]]]],[[17,19],[[25,[14,42]]]],[[34,19],[[25,[14,42]]]],[[8,19],[[25,[14,42]]]],[[16,19],[[25,[14,42]]]],[[35,19],[[25,[14,42]]]],[[36,19],[[25,[14,42]]]],[[29,19],[[25,[14,42]]]],[[29,19],[[25,[14,42]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,33],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,29,30],[43,29],[44,29],0,[[13,10,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[[[46,[],[[45,[-1]]]]],[[7,[[6,[5]]]]],[]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,21],[[7,[[6,[5]]]]]],[[13,22],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[11,[[6,[30]]]]]],0,0,0,[[13,2,23],[[7,[[6,[5]]]]]],0,0,[47,[[7,[[6,[5]]]]]],0,0,0,0,[13,[[7,[[6,[5]]]]]],0,0,[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,24],[[7,[[6,[5]]]]]],0,0,[[24,-1],25,48],[[27,-1],25,48],[[22,-1],25,48],[[28,-1],25,48],[[9,-1],25,48],[[31,-1],25,48],[[32,-1],25,48],[[33,-1],25,48],[[17,-1],25,48],[[34,-1],25,48],[[8,-1],25,48],[[16,-1],25,48],[[35,-1],25,48],[[36,-1],25,48],0,[41,[[11,[49]]]],[29,[[11,[49]]]],[[13,21,21],[[7,[[6,[5]]]]]],[[13,21],[[7,[[6,[5]]]]]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,50,[]],[-1,50,[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[13,2,2,2],[[7,[[6,[5]]]]]],[[13,2,16],[[7,[[6,[5]]]]]],[[13,27],[[7,[[6,[5]]]]]],[[13,2,21,21],[[7,[[6,[5]]]]]],[[13,28],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[39,[],[[38,[-1]]]]],[[7,[[6,[5]]]]],13],[[[46,[],[[45,[-1]]]]],[[7,[[6,[5]]]]],[]],[47,[[7,[[6,[5]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[13,2,2,8],[[7,[[6,[5]]]]]],[[13,2,9],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,10,10],[[7,[[6,[5]]]]]],[[13,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[37,[[6,[13]]]],0,0,0,[[[39,[],[[38,[-1]]]]],[[7,[[6,[5]]]]],13],[[13,2,16],[[7,[[6,[5]]]]]],[[13,17],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,[[13,10,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[[[46,[],[[45,[-1]]]]],[[7,[[6,[5]]]]],[]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,21],[[7,[[6,[5]]]]]],[[13,22],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,0,0,0,[[13,2,23],[[7,[[6,[5]]]]]],0,0,[47,[[7,[[6,[5]]]]]],0,0,0,[13,[[7,[[6,[5]]]]]],0,[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,24],[[7,[[6,[5]]]]]],0,0,0,[[13,21,21],[[7,[[6,[5]]]]]],[[13,21],[[7,[[6,[5]]]]]],0,0,0,0,[[13,2,2,2],[[7,[[6,[5]]]]]],[[13,2,16],[[7,[[6,[5]]]]]],[[13,27],[[7,[[6,[5]]]]]],[[13,2,21,21],[[7,[[6,[5]]]]]],[[13,28],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[13,2,2,8],[[7,[[6,[5]]]]]],[[13,2,9],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,10,10],[[7,[[6,[5]]]]]],[[13,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[3,3],[37,[[6,[13]]]],[[-1,-2],14,[],[]],0,0,0,[[[39,[],[[38,[-1]]]]],[[7,[[6,[5]]]]],13],[[13,2,16],[[7,[[6,[5]]]]]],[[13,17],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,0,[-1,[[25,[3]]],40],0,0,0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],[[3,3],18],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[3,19],[[25,[14,42]]]],[-1,-1,[]],0,[[13,10,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[[[46,[],[[45,[-1]]]]],[[7,[[6,[5]]]]],[]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,21],[[7,[[6,[5]]]]]],[[13,22],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,[-1,-2,[],[]],0,0,0,[[13,2,23],[[7,[[6,[5]]]]]],0,0,[47,[[7,[[6,[5]]]]]],0,0,0,[13,[[7,[[6,[5]]]]]],0,[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,24],[[7,[[6,[5]]]]]],0,0,[[3,-1],25,48],0,[[13,21,21],[[7,[[6,[5]]]]]],[[13,21],[[7,[[6,[5]]]]]],0,0,0,[-1,-2,[],[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[[13,2,2,2],[[7,[[6,[5]]]]]],[[13,2,16],[[7,[[6,[5]]]]]],[[13,27],[[7,[[6,[5]]]]]],[[13,2,21,21],[[7,[[6,[5]]]]]],[[13,28],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],0,[-1,-2,[],[]],0,0,0,0,[[-1,24,16,[4,[3]],8,17],14,13],[29,41],[[29,41],41]],"c":[],"p":[[5,"Database",0],[1,"str"],[5,"Level",692],[1,"slice"],[10,"Future",849],[5,"Box",850],[5,"Pin",851],[5,"TrafficPattern",118],[5,"CreatePerformanceAnalytics",118],[1,"usize"],[6,"Option",852],[5,"InnerNotification",0],[10,"MCDatabase",118],[1,"tuple"],[6,"ConnectionOptions",0],[5,"CreateCaptcha",118],[5,"AddNotification",118],[1,"bool"],[5,"Formatter",853],[8,"Result",853],[1,"u32"],[6,"Login",118],[1,"i32"],[5,"Register",118],[6,"Result",854],[5,"TypeId",855],[5,"UpdateEmail",118],[5,"NameHash",118],[6,"Error",118],[10,"DatabaseError",856],[5,"PerformanceAnalytics",118],[5,"StatsUnixTimestamp",118],[5,"Notification",118],[5,"EasyCaptcha",118],[5,"Captcha",118],[5,"Secret",118],[10,"CloneSPDatabase",118],[17,"Pool"],[10,"Connect",118],[10,"Deserializer",857],[6,"DBError",118],[5,"Error",853],[6,"MigrateError",858],[5,"Error",859],[17,"Conn"],[10,"GetConnection",118],[10,"Migrate",118],[10,"Serializer",860],[10,"Error",861],[5,"String",862],[5,"Conn",0],[5,"Fresh",0],[8,"DBResult",692],[15,"ColumnIndexOutOfBounds",527],[15,"ColumnDecode",527],[15,"TypeNotFound",527]],"b":[[313,"impl-Display-for-DBError"],[314,"impl-Debug-for-DBError"],[329,"impl-Debug-for-Error"],[330,"impl-Display-for-Error"],[348,"impl-From%3CE%3E-for-Error"],[349,"impl-From%3CMigrateError%3E-for-Error"],[350,"impl-From%3CError%3E-for-Error"]]}],\ +["db_sqlx_postgres",{"doc":"","t":"FGFPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCONNCNNNNNNNNNNNNNNNNNNNNNOONNNNNNONONOOCONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNPFPIFPPKPPPPRKFFGPKIEPPFPPPGKPFGKKPFFPPFRPPPFPFPFPFPPFPPPMMMNMMMMMMNXONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNNNNNNNNNNNNNMNNNNNNNNNNNNNNOOOMMMNNNNNNNNNNMMMMOOONNNNNNNNNNNNNNOOOOOOMNNNNNNNNNNNNNNCMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMMMMMMMMMMMMMOOOOOONNNNNNNNNNNNNNNNNOOOMOOMOOCOMCOMMMMOONNNNNNNNNNNNNNONNMMCOOONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMMMMOOOOMONNNNNNNNNNNNNNNNOOOOOOOPIPPGPIPPPPPPPRKKKKRMMMPFIFPPKRKFFGPKIFPPPKFGKKFFPPFRFFPFFPFPPMMMNMMMMMMOOMMOOOMMMMMMMOOOCOOOOOOMMMMOMMMMMMMMMMMMMOOOOOOOOOMOOMOOOMOMMMMOOOMMOOOOMMMMMMMOOOOMOOOPFIFPPKRKFFGPKIFPPPKFGKKFFPPFRFFPFFPFPPMMMNMMMMMMXONNOMNMNOOOMMMMMMMOOONOOOOOOMNMMMNNOMMMMMMMMMMMMMOOOOOONOOOMOOMOOOMOMMMMOONOMMOOONONNNMMMMMMMOOOOMONOOSSHHH","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","EasyCaptcha","Email","EmailTaken","Err","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_database_error","key","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","source","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","traffic_pattern","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","traffic_pattern","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","to_owned","traffic_pattern","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","worker_type","worker_type","LEVELS","TRAFFIC_PATTERN","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_postgres"],[119,"db_sqlx_postgres::dev"],[528,"db_sqlx_postgres::dev::Error"],[533,"db_sqlx_postgres::dev::errors"],[547,"db_sqlx_postgres::dev::ops"],[556,"db_sqlx_postgres::dev::prelude"],[693,"db_sqlx_postgres::dev::prelude::dev"],[845,"db_sqlx_postgres::dev::tests"],[848,"db_sqlx_postgres::errors"],[850,"core::future::future"],[851,"alloc::boxed"],[852,"core::pin"],[853,"core::option"],[854,"core::fmt"],[855,"core::fmt"],[856,"core::any"],[857,"sqlx_core::error"],[858,"serde::de"],[859,"core::fmt"],[860,"std::io::error"],[861,"serde::ser"],[862,"core::error"],[863,"alloc::string"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","Account not found","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","times at which the PoW was solved","","","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","","traffic pattern of easy captcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","traffic pattern of easy captcha","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","traffic pattern of easy captcha","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","levels for complex captcha config","easy traffic pattern","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,1,51,15,52,1,12,51,15,52,1,12,1,1,12,1,1,12,15,1,1,12,1,1,1,1,0,52,1,12,0,1,1,1,12,51,15,52,1,12,1,1,1,1,1,1,1,1,1,1,1,1,12,12,51,15,52,1,12,1,12,1,12,1,1,52,0,12,1,1,1,1,1,1,1,12,51,15,52,1,12,51,15,52,1,12,51,15,52,1,12,1,1,1,1,1,1,1,52,1,51,15,52,1,12,41,0,29,0,0,41,41,0,29,29,29,29,46,0,0,0,0,41,0,0,0,29,29,0,22,41,53,0,0,29,0,0,0,0,29,0,0,41,53,0,39,29,29,29,0,29,0,41,0,29,0,41,29,0,22,41,29,13,13,13,13,13,13,13,13,13,13,29,0,8,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,8,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,37,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,35,32,39,13,13,9,31,32,33,17,34,8,16,35,36,13,13,13,13,34,16,35,24,27,22,28,9,31,32,33,17,34,8,16,35,36,9,3,31,16,35,24,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,0,13,13,13,41,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,41,24,27,22,28,9,31,32,33,33,17,34,8,16,35,36,29,29,29,29,17,13,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,34,16,35,13,33,17,47,33,27,0,8,13,0,33,13,13,13,13,24,36,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,41,29,13,13,0,9,31,17,24,27,22,28,9,31,32,33,17,34,8,16,35,36,41,29,34,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,13,13,13,13,13,13,13,24,27,28,34,13,3,41,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,9,31,54,55,54,55,56,41,0,41,41,0,41,0,41,53,41,53,41,41,41,46,0,0,0,0,39,39,46,47,41,0,0,0,41,41,0,46,0,0,0,0,41,0,0,0,22,41,53,0,0,0,0,0,0,0,41,53,0,39,0,0,41,0,0,41,0,22,41,13,13,13,13,13,13,13,13,13,13,8,8,13,37,32,35,32,39,13,13,13,13,13,13,34,16,35,0,9,3,31,16,35,24,13,13,13,13,17,13,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,34,16,35,13,33,17,47,33,27,8,13,33,13,13,13,13,24,36,32,13,13,9,31,17,34,13,13,13,13,13,13,13,24,27,28,34,13,3,9,31,41,0,0,0,41,41,0,46,0,0,0,0,41,0,0,0,22,41,53,0,0,0,0,0,0,0,41,53,0,39,0,0,41,0,0,41,0,22,41,13,13,13,13,13,13,13,13,13,13,0,8,3,3,8,13,3,37,3,32,35,32,39,13,13,13,13,13,13,34,16,35,3,9,3,31,16,35,24,13,3,13,13,13,3,3,17,13,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,3,34,16,35,13,33,17,47,33,27,8,13,33,13,13,13,13,24,36,3,32,13,13,9,31,17,3,34,3,3,3,13,13,13,13,13,13,13,24,27,28,34,13,3,3,9,31,0,0,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[],12],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[1,10,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,21],[[7,[[6,[5]]]]]],[[1,22],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,2,23],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,24],[[7,[[6,[5]]]]]],[[1,21,21],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,21,21],[[7,[[6,[5]]]]]],[[1,28],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[13,2,2,8],[[7,[[6,[5]]]]]],[[13,2,9],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,10,10],[[7,[[6,[5]]]]]],[[13,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[29,[[11,[30]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[24,24],[27,27],[22,22],[28,28],[9,9],[31,31],[32,32],[33,33],[17,17],[34,34],[8,8],[16,16],[35,35],[36,36],[37,[[6,[13]]]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,[[[39,[],[[38,[-1]]]]],[[7,[[6,[5]]]]],13],[[13,2,16],[[7,[[6,[5]]]]]],[[13,17],[[7,[[6,[5]]]]]],[[],9],[[],31],[[],32],[[],33],[[],17],[[],34],[[],8],[[],16],[[],35],[[],36],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,0,[-1,[[25,[24]]],40],[-1,[[25,[27]]],40],[-1,[[25,[22]]],40],[-1,[[25,[28]]],40],[-1,[[25,[9]]],40],[-1,[[25,[31]]],40],[-1,[[25,[32]]],40],[-1,[[25,[33]]],40],[-1,[[25,[17]]],40],[-1,[[25,[34]]],40],[-1,[[25,[8]]],40],[-1,[[25,[16]]],40],[-1,[[25,[35]]],40],[-1,[[25,[36]]],40],0,0,0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],[[24,24],18],[[27,27],18],[[22,22],18],[[28,28],18],[[9,9],18],[[31,31],18],[[32,32],18],[[33,33],18],[[17,17],18],[[34,34],18],[[8,8],18],[[16,16],18],[[35,35],18],[[36,36],18],0,[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[41,19],[[25,[14,42]]]],[[41,19],[[25,[14,42]]]],[[24,19],[[25,[14,42]]]],[[27,19],[[25,[14,42]]]],[[22,19],[[25,[14,42]]]],[[28,19],[[25,[14,42]]]],[[9,19],[[25,[14,42]]]],[[31,19],[[25,[14,42]]]],[[32,19],[[25,[14,42]]]],[[33,19],[[25,[14,42]]]],[[17,19],[[25,[14,42]]]],[[34,19],[[25,[14,42]]]],[[8,19],[[25,[14,42]]]],[[16,19],[[25,[14,42]]]],[[35,19],[[25,[14,42]]]],[[36,19],[[25,[14,42]]]],[[29,19],[[25,[14,42]]]],[[29,19],[[25,[14,42]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,33],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[43,29],[-1,29,30],[44,29],0,[[13,10,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[[[46,[],[[45,[-1]]]]],[[7,[[6,[5]]]]],[]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,21],[[7,[[6,[5]]]]]],[[13,22],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[11,[[6,[30]]]]]],0,0,0,[[13,2,23],[[7,[[6,[5]]]]]],0,0,[47,[[7,[[6,[5]]]]]],0,0,0,0,[13,[[7,[[6,[5]]]]]],0,0,[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,24],[[7,[[6,[5]]]]]],0,0,[[24,-1],25,48],[[27,-1],25,48],[[22,-1],25,48],[[28,-1],25,48],[[9,-1],25,48],[[31,-1],25,48],[[32,-1],25,48],[[33,-1],25,48],[[17,-1],25,48],[[34,-1],25,48],[[8,-1],25,48],[[16,-1],25,48],[[35,-1],25,48],[[36,-1],25,48],0,[41,[[11,[49]]]],[29,[[11,[49]]]],[[13,21,21],[[7,[[6,[5]]]]]],[[13,21],[[7,[[6,[5]]]]]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,50,[]],[-1,50,[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[13,2,2,2],[[7,[[6,[5]]]]]],[[13,2,16],[[7,[[6,[5]]]]]],[[13,27],[[7,[[6,[5]]]]]],[[13,2,21,21],[[7,[[6,[5]]]]]],[[13,28],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[39,[],[[38,[-1]]]]],[[7,[[6,[5]]]]],13],[[[46,[],[[45,[-1]]]]],[[7,[[6,[5]]]]],[]],[47,[[7,[[6,[5]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[13,2,2,8],[[7,[[6,[5]]]]]],[[13,2,9],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,10,10],[[7,[[6,[5]]]]]],[[13,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[37,[[6,[13]]]],0,0,0,[[[39,[],[[38,[-1]]]]],[[7,[[6,[5]]]]],13],[[13,2,16],[[7,[[6,[5]]]]]],[[13,17],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,[[13,10,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[[[46,[],[[45,[-1]]]]],[[7,[[6,[5]]]]],[]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,21],[[7,[[6,[5]]]]]],[[13,22],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,0,0,0,[[13,2,23],[[7,[[6,[5]]]]]],0,0,[47,[[7,[[6,[5]]]]]],0,0,0,[13,[[7,[[6,[5]]]]]],0,[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,24],[[7,[[6,[5]]]]]],0,0,0,[[13,21,21],[[7,[[6,[5]]]]]],[[13,21],[[7,[[6,[5]]]]]],0,0,0,0,[[13,2,2,2],[[7,[[6,[5]]]]]],[[13,2,16],[[7,[[6,[5]]]]]],[[13,27],[[7,[[6,[5]]]]]],[[13,2,21,21],[[7,[[6,[5]]]]]],[[13,28],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[13,2,2,8],[[7,[[6,[5]]]]]],[[13,2,9],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,10,10],[[7,[[6,[5]]]]]],[[13,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[3,3],[37,[[6,[13]]]],[[-1,-2],14,[],[]],0,0,0,[[[39,[],[[38,[-1]]]]],[[7,[[6,[5]]]]],13],[[13,2,16],[[7,[[6,[5]]]]]],[[13,17],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],0,0,0,[-1,[[25,[3]]],40],0,0,0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],[[3,3],18],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[3,19],[[25,[14,42]]]],[-1,-1,[]],0,[[13,10,10],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,[11,[2]],2],[[7,[[6,[5]]]]]],[[[46,[],[[45,[-1]]]]],[[7,[[6,[5]]]]],[]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,21],[[7,[[6,[5]]]]]],[[13,22],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,0,0,[-1,-2,[],[]],0,0,0,[[13,2,23],[[7,[[6,[5]]]]]],0,0,[47,[[7,[[6,[5]]]]]],0,0,0,[13,[[7,[[6,[5]]]]]],0,[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,2],[[7,[[6,[5]]]]]],[[13,24],[[7,[[6,[5]]]]]],0,0,[[3,-1],25,48],0,[[13,21,21],[[7,[[6,[5]]]]]],[[13,21],[[7,[[6,[5]]]]]],0,0,0,[-1,-2,[],[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[[13,2,2,2],[[7,[[6,[5]]]]]],[[13,2,16],[[7,[[6,[5]]]]]],[[13,27],[[7,[[6,[5]]]]]],[[13,2,21,21],[[7,[[6,[5]]]]]],[[13,28],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],[[13,2,2],[[7,[[6,[5]]]]]],0,0,0,0,[[13,2],[[7,[[6,[5]]]]]],0,[-1,-2,[],[]],0,0,0,0,[[-1,24,16,[4,[3]],8,17],14,13],[29,41],[[29,41],41]],"c":[],"p":[[5,"Database",0],[1,"str"],[5,"Level",693],[1,"slice"],[10,"Future",850],[5,"Box",851],[5,"Pin",852],[5,"TrafficPattern",119],[5,"CreatePerformanceAnalytics",119],[1,"usize"],[6,"Option",853],[5,"InnerNotification",0],[10,"MCDatabase",119],[1,"tuple"],[6,"ConnectionOptions",0],[5,"CreateCaptcha",119],[5,"AddNotification",119],[1,"bool"],[5,"Formatter",854],[8,"Result",854],[1,"u32"],[6,"Login",119],[1,"i32"],[5,"Register",119],[6,"Result",855],[5,"TypeId",856],[5,"UpdateEmail",119],[5,"NameHash",119],[6,"Error",119],[10,"DatabaseError",857],[5,"PerformanceAnalytics",119],[5,"StatsUnixTimestamp",119],[5,"Notification",119],[5,"EasyCaptcha",119],[5,"Captcha",119],[5,"Secret",119],[10,"CloneSPDatabase",119],[17,"Pool"],[10,"Connect",119],[10,"Deserializer",858],[6,"DBError",119],[5,"Error",854],[6,"MigrateError",859],[5,"Error",860],[17,"Conn"],[10,"GetConnection",119],[10,"Migrate",119],[10,"Serializer",861],[10,"Error",862],[5,"String",863],[5,"Conn",0],[5,"Fresh",0],[8,"DBResult",693],[15,"ColumnIndexOutOfBounds",528],[15,"ColumnDecode",528],[15,"TypeNotFound",528]],"b":[[314,"impl-Debug-for-DBError"],[315,"impl-Display-for-DBError"],[330,"impl-Debug-for-Error"],[331,"impl-Display-for-Error"],[349,"impl-From%3CMigrateError%3E-for-Error"],[350,"impl-From%3CE%3E-for-Error"],[351,"impl-From%3CError%3E-for-Error"]]}],\ +["mcaptcha",{"doc":"","t":"IIFSSFFSFFFFSFFFFFFFSSSSFFFFSFFSSOOOOOOOOOOOOOOOOOOOOOCNNNNNNNNNNNNNNNNOOOOCOCCOOCNNNNNNNNCCCCNNNNNNNNHHNNNNNNNNOHCOOOCOCOOOCCOCOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCEFCCNNNNHNCCCCOCHCCNNNNFFENNNNNNNNCNNCONNNNNNECCCNNHNNNNNNNNCONNNNFNNNCHNNNNHFNNNNNNNNNOFNNNNNNNNNNHFNNNNNNNNNNNNNFFNNNNNNNNOONNNNNNNNNOOONNHNNNNNNNNNNHFNNNFNNOONONNNNNOOOOONNNNNNNFNNNNHNNNNNNFNNFNNNNNNNNNNNNNNNNNNCNHFNNNNNNNNNNOFNNNHNNNNNNNNNNNNFFNNNCCHFNNNNNNNNNNNNFNNNNNOONONNNNFFFNNNNNNNNNNNNONNNONNNNNNNNNOHOOOHNNNNNNNNNNNNNNNONNNCCCCHCHCCFFNNNNNNNNFONNONNNNNNNOOOONCNNNNNNNNNNNNNNNHFNNNNNNFNNNNNNOONNNNNNNNNNNFFONNNNNNNNOHHNNNNFNONNNNNNNNNNNNOOOONNCNNHNNNNNNNNNNNNNNFHNNNNFNNONNNNNNONFFNNNNNNNNNNNNONNNNNFNNNONNNNNNNNNNNNNNONNNFNNOOONONNONNNOONFNNNNNNNNNNFNNONCNNNNNNNNNNFNNNONNNNNNFNNNNNNONONNNNNNOOONNCNNNNNNNNNNFFNNNHFFGFFGPPPPNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNOOFNNNNNNNNNNOONNCNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNFNNONONNNNNNCCCCHFFNNNNNNNNNNNNONNONNONNNNNNNNNFNNNNNNNNNNNNNFOONNOOONNNNNNNNNNNFNNNNNNNONNFNNNNNNNNNNFONNNONONNNNNECCHCCFFNNNNNNNNNNNNONNNNNFHNNNOONONNONNNNNNNNNNNNNNFNNNNONNQONNNNONONFFNNNNNNNNNNNNNNNNNNNNOONONNOONNONNNNNNNNNFNNNOFFNNNNNNNNNNNNNNNNNNNNONONNNNONNNNNNNNNOFNNNSFOONNONNNONOOOONNNNFFGFFGFFGPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNOOHFNCNNNHNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNFNNNNNNNNNNNNNNONNNNNNFFONNNNNNNNNNNNFNNNNNNNNNNNNNNONNCFONNHNNNNNNNNNNNNNNNNNFNNONNNNONNNNFPIPGNNNNNOOOQQNNNNNONNONNNNNNOOONNNNNNNNNNNSFSSSNNNNNNNNNNNONNNNNICCHHSSFNNNNNNNNNNNONNFSSNNNNNNNNFNNNNNNHFNNNNNNNNNCHFNNNNNNNNNNNNNNNNFONNNONNONNNNFNNNNNNNNNNONNNCFSNNNNNNNNNNNNNHONPPPPPPFPPPFPPPPPPGIPPPPGPIFPPPPPPPNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSCCHCCHCCCCHCFFSONNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNFFSONNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNFNNNNNNOONNNNNSFNNNNONNNNNNNNNONSFFSFOONNNNNNNNNNNNFNNNNNNNNONNNNCHONNNNNNNNNNNNNNNNNFNNNONNNNNONFSNNNNNNNNNNNCFNNNCHCCONNNNNNNCNNFFSNNNNNNNNNNOONNNOOONFNONNNNNNNNNNNNNNNFNNNNONNOOONNNONFSNNNNNNNNNNFONNNNNNNNNNNNNCOHFNNNNNNNNNNNNNFONNNNFNNONNONNNNNONCCCCCHCFFFFSOOFONNNNNNNNNNNNONNNNNNNNFOOOOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNFFSFNNNNNNNNNNNNOFONNNNNNNNOOOONNOONNNNNNNNNNNNNNNNNNNNNNNNFSNNNNNNNNNNFNNNNONNNNNNNNNFOONNOOONNNNNNNONNNNONFSNNNNNNONNNNOOONONNNONNNNNNNFNNSFNNNNNNNNONNNFNNNOFNNNNCHONNNNNNNNNNNNNFNNNNNNONNNNSFOONNOONNNONNOOOOONNNNFFONNNNNNNNNNONNNNNNNNNFNNNNNNNNNNONNNHFGSFFSPPFFFFFOOOONNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONONNNNNNNNNONOOOOOOOOOOOOOOONONOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNECHCFNNONNNNNNNNFFCNNNNNNNNFNNNNNNNNHHNNNNNNNNNNFNNNNNNNNNNNNNNNNFFFFFFIFFFFOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKFFKNNNNNNNNNNNNMNNOONNNNNNNMNNNNNNNNNNNMNNMNNMNNNONNNNNNNNNNNNNNNFFKONNNNONNNNNNNNNNNMNNMNNMNNMNONNNNNNNNNNFFSSONNNNNNNNNNNNNNNNNNNCHFNNNNNNNNNNNNNFNNNNNNNNON","n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","alloc","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","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","easy","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","phantom","ptr","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","survey","survey","survey_secrets","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","stats","survey","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","publish_benchmarks","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","calculate_with_percentile","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","publish_benchmarks","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","update_runner","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","publish_benchmarks","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","ApiPoWConfig","GetConfigPayload","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_config","init_mcaptcha","into","into","into","key","max_recorded_nonce","register","salt","serialize","serialize","string","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","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","ApiWork","ValidationToken","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","nonce","register","result","serialize","serialize","string","time","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify_pow","vzip","vzip","vzip","worker_type","CaptchaValidateResp","VerifyCaptchaResultPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","register","secret","serialize","serialize","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","valid","validate_captcha_token","vzip","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","stats","survey","try_from","try_into","type_id","vzip","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","PercentileReq","PercentileReqBuilder","PercentileReqBuilderError","PercentileResp","PercentileRespBuilder","PercentileRespBuilderError","UninitializedField","UninitializedField","UninitializedField","ValidationError","ValidationError","ValidationError","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","build","build","build","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","create_empty","default","default","default","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","into","into","into","into","into","into","into","into","into","into","percentile","percentile","percentile","percentile_bench_runner","percentile_benches","register","routes","serialize","serialize","serialize","services","time","time","time","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","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","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Stats","borrow","borrow_mut","clone","clone_into","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","into","new","percentile_benches","serialize","to_owned","try_from","try_into","type_id","vzip","Page","SurveySecretUpload","auth_token","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","deserialize","download","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from","into","into","into","into","page","register","register","routes","secret","secret","serialize","serialize","services","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","Survey","borrow","borrow_mut","download","from","get_download_route","into","new","secret","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","inner","into","into","mailer","new","new","new_system","register_survey","remove","rename","settings","stats","survey_secrets","try_from","try_from","try_into","try_into","type_id","type_id","upload_survey_job","validate_verification_tokens","verify_pow","vzip","vzip","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","BoxDB","maria","pg","get_data","get_data","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","into","register_demo_user","run","spawn","try_from","try_into","tx","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","UpdateEasyCaptcha","abort","borrow","borrow_mut","can_run","from","into","run","spawn","try_from","try_into","tx","type_id","update_captcha_configurations","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","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","Err","Err","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","Ok","Ok","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","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","utils","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","utils","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","publish_benchmarks","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","publish_benchmarks","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","PAGE","PercentilePage","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","difficulty_factor","from","from","from","get_percentile","into","into","into","percentile","post_percentile","register","register","render_once","render_once_to","routes","services","time","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Utils","borrow","borrow_mut","from","get_sitemap","into","new","percentile","try_from","try_into","type_id","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","DBType","DEPRECATED_ENV_VARS","Database","DefaultDifficultyStrategy","ENV_VAR_CONFIG","Maria","Postgres","Redis","Server","Settings","Smtp","Survey","allow_demo","allow_registration","avg_traffic_difficulty","avg_traffic_time","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","broke_my_site_traffic_difficulty","broke_my_site_traffic_time","captcha","check_easy_captcha_config","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","database_type","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","env_override","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_url","gc","get_ip","instance_root_url","into","into","into","into","into","into","into","into","into","ip","new","nodes","password","peak_sustainable_traffic_difficulty","peak_sustainable_traffic_time","pool","pool","port","port","proxy_has_tls","queue_length","rate_limit","redis","reply","runners","salt","serialize","server","set_database_type","smtp","source_code","survey","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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","url","url","url","url_prefix","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","clone_stats","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","SecretsStore","Survey","SurveyClientTrait","app_ctx","borrow","borrow","borrow_mut","borrow_mut","client","clone","clone","clone_into","clone_into","default","fmt","from","from","get","into","into","is_online","is_online","new","register","register","rm","schedule_upload_job","schedule_upload_job","set","start_job","start_job","store","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":[[0,"mcaptcha"],[163,"mcaptcha::api"],[164,"mcaptcha::api::v1"],[187,"mcaptcha::api::v1::account"],[228,"mcaptcha::api::v1::account::delete"],[240,"mcaptcha::api::v1::account::delete::runners"],[241,"mcaptcha::api::v1::account::email"],[278,"mcaptcha::api::v1::account::password"],[320,"mcaptcha::api::v1::account::routes"],[338,"mcaptcha::api::v1::account::secret"],[359,"mcaptcha::api::v1::account::username"],[397,"mcaptcha::api::v1::account::username::runners"],[398,"mcaptcha::api::v1::auth"],[431,"mcaptcha::api::v1::auth::routes"],[445,"mcaptcha::api::v1::auth::runners"],[499,"mcaptcha::api::v1::mcaptcha"],[508,"mcaptcha::api::v1::mcaptcha::create"],[551,"mcaptcha::api::v1::mcaptcha::create::runner"],[552,"mcaptcha::api::v1::mcaptcha::delete"],[579,"mcaptcha::api::v1::mcaptcha::easy"],[642,"mcaptcha::api::v1::mcaptcha::easy::routes"],[654,"mcaptcha::api::v1::mcaptcha::get"],[697,"mcaptcha::api::v1::mcaptcha::routes"],[714,"mcaptcha::api::v1::mcaptcha::stats"],[741,"mcaptcha::api::v1::mcaptcha::stats::routes"],[752,"mcaptcha::api::v1::mcaptcha::update"],[789,"mcaptcha::api::v1::mcaptcha::update::runner"],[790,"mcaptcha::api::v1::meta"],[917,"mcaptcha::api::v1::meta::routes"],[929,"mcaptcha::api::v1::notifications"],[934,"mcaptcha::api::v1::notifications::add"],[964,"mcaptcha::api::v1::notifications::get"],[997,"mcaptcha::api::v1::notifications::mark_read"],[1019,"mcaptcha::api::v1::notifications::routes"],[1032,"mcaptcha::api::v1::pow"],[1038,"mcaptcha::api::v1::pow::get_config"],[1084,"mcaptcha::api::v1::pow::routes"],[1102,"mcaptcha::api::v1::pow::verify_pow"],[1149,"mcaptcha::api::v1::pow::verify_token"],[1193,"mcaptcha::api::v1::routes"],[1213,"mcaptcha::api::v1::stats"],[1379,"mcaptcha::api::v1::stats::routes"],[1401,"mcaptcha::api::v1::survey"],[1457,"mcaptcha::api::v1::survey::routes"],[1470,"mcaptcha::data"],[1514,"mcaptcha::date"],[1536,"mcaptcha::db"],[1539,"mcaptcha::db::maria"],[1540,"mcaptcha::db::pg"],[1541,"mcaptcha::demo"],[1558,"mcaptcha::docs"],[1606,"mcaptcha::docs::routes"],[1619,"mcaptcha::easy"],[1634,"mcaptcha::email"],[1635,"mcaptcha::email::verification"],[1653,"mcaptcha::errors"],[1764,"mcaptcha::pages"],[1772,"mcaptcha::pages::auth"],[1777,"mcaptcha::pages::auth::login"],[1814,"mcaptcha::pages::auth::register"],[1851,"mcaptcha::pages::auth::routes"],[1865,"mcaptcha::pages::auth::sudo"],[1883,"mcaptcha::pages::errors"],[1936,"mcaptcha::pages::errors::routes"],[1948,"mcaptcha::pages::panel"],[1981,"mcaptcha::pages::panel::notifications"],[2021,"mcaptcha::pages::panel::routes"],[2037,"mcaptcha::pages::panel::settings"],[2087,"mcaptcha::pages::panel::settings::routes"],[2101,"mcaptcha::pages::panel::sitekey"],[2108,"mcaptcha::pages::panel::sitekey::add"],[2190,"mcaptcha::pages::panel::sitekey::delete"],[2200,"mcaptcha::pages::panel::sitekey::edit"],[2259,"mcaptcha::pages::panel::sitekey::list"],[2286,"mcaptcha::pages::panel::sitekey::routes"],[2308,"mcaptcha::pages::panel::sitekey::view"],[2340,"mcaptcha::pages::panel::utils"],[2380,"mcaptcha::pages::panel::utils::routes"],[2392,"mcaptcha::pages::routes"],[2415,"mcaptcha::pages::sitemap"],[2453,"mcaptcha::routes"],[2454,"mcaptcha::settings"],[2683,"mcaptcha::static_assets"],[2687,"mcaptcha::static_assets::filemap"],[2699,"mcaptcha::static_assets::static_files"],[2748,"mcaptcha::static_assets::static_files::assets"],[2859,"mcaptcha::stats"],[2926,"mcaptcha::survey"],[2968,"mcaptcha::widget"],[3008,"mcaptcha::widget::routes"],[3019,"alloc::string"],[3020,"actix_identity::cookie"],[3021,"actix_identity::middleware"],[3022,"actix_web::types::json"],[3023,"std::io::error"],[3024,"core::result"],[3025,"core::any"],[3026,"serde::de"],[3027,"actix_auth_middleware"],[3028,"actix_web::config"],[3029,"core::fmt"],[3030,"core::fmt"],[3031,"actix_web::config"],[3032,"db_core"],[3033,"libmcaptcha::defense"],[3034,"alloc::vec"],[3035,"derive_builder::error"],[3036,"db_core"],[3037,"argon2_creds::config"],[3038,"lettre::executor"],[3039,"lettre::transport::smtp::async_transport"],[3040,"libmcaptcha::pow"],[3041,"libmcaptcha::errors"],[3042,"alloc::sync"],[3043,"actix::address"],[3044,"libmcaptcha::system"],[3045,"libmcaptcha::master"],[3046,"libmcaptcha::cache"],[3047,"libmcaptcha::master::messages"],[3048,"libmcaptcha::pow"],[3049,"db_core"],[3050,"tokio::sync::oneshot"],[3051,"tokio::runtime::task::join"],[3052,"rust_embed_utils"],[3053,"actix_web::response::response"],[3054,"rust_embed"],[3055,"alloc::borrow"],[3056,"core::iter::traits::iterator"],[3057,"sailfish::runtime::render"],[3058,"sailfish::runtime::buffer"],[3059,"sailfish::runtime::render"],[3060,"actix::address"],[3061,"url::parser"],[3062,"lettre::transport::smtp::error"],[3063,"libmcaptcha::errors"],[3064,"validator::types"],[3065,"core::error"],[3066,"http::status"],[3067,"core::fmt"],[3068,"db_core"],[3069,"config::builder"],[3070,"config::error"],[3071,"core::future::future"],[3072,"core::pin"]],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","","database ops defined by db crates","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","","","app settings","","","","","stats recorder","","","survey secret store","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","traffic that bought the user’s website down; optional","","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","publish benchmarks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","emits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","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).","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.","Returns the argument unchanged.","Calls U::from(self).","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.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","route handler that validates a PoW solution token","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for PercentileReq.","Error type for PercentileReqBuilder","Health check return datatype","Builder for PercentileResp.","Error type for PercentileRespBuilder","Uninitialized field","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new PercentileReq.","Builds a new PercentileResp.","","","","","","","","","","","","","Create an empty builder, with all fields set to None or …","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.","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).","","","","","Get difficulty factor with max time limit for percentile …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","emits build details of the bninary","","","","","","","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).","","","","","mCaptcha/survey upload secret route","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","","app settings","stats recorder","survey secret store","","","","","","","","","","","","","","","","","","","","","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).","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","update configurations","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","Contains the error value","Contains the error value","","","","","","Contains the success value","Contains the success value","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","Returns the argument unchanged.","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.","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.","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","Get an embedded file and its metadata.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Iterates over the file paths in the folder.","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","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).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,249,250,251,252,253,254,255,256,257,1,3,5,7,8,9,10,11,270,2,2,0,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,40,2,2,40,0,2,0,0,40,2,0,1,3,5,7,8,9,10,11,0,0,0,0,1,3,5,7,8,9,10,11,0,0,1,3,5,7,8,9,10,11,40,0,0,270,270,2,0,2,0,40,2,2,0,0,40,0,2,40,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,0,0,0,0,0,0,20,20,20,20,0,20,0,0,0,0,20,0,0,0,0,20,20,20,20,0,0,0,25,26,25,26,25,26,25,26,0,25,26,0,26,25,26,25,26,25,26,0,0,0,0,25,26,0,25,26,25,26,25,26,25,26,0,25,25,26,30,30,0,30,30,30,0,0,30,30,30,30,0,0,34,35,36,34,35,36,34,34,34,34,0,34,34,35,36,34,35,36,35,36,34,0,0,34,34,35,36,34,35,36,34,35,36,34,35,36,0,0,38,37,39,38,37,39,37,37,38,37,37,37,38,38,37,39,38,37,39,38,37,37,39,37,0,37,38,37,39,38,37,39,38,37,39,0,0,38,37,39,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,43,42,43,42,43,0,42,43,42,43,0,42,43,42,43,42,43,0,42,43,0,45,44,46,45,44,46,44,44,44,44,45,44,46,45,44,46,45,46,0,44,0,0,44,45,44,46,45,44,46,45,44,46,44,0,45,44,46,0,47,48,49,47,48,49,47,48,49,47,48,49,0,0,47,48,49,0,0,0,0,47,48,49,47,48,49,47,48,49,47,48,49,0,50,50,50,50,50,50,50,50,50,50,50,50,50,0,0,0,52,53,54,52,53,54,52,53,54,52,53,54,52,52,53,54,52,52,53,54,52,53,54,52,53,54,53,0,52,53,54,0,52,53,54,52,53,54,52,53,54,52,53,54,52,53,54,52,52,53,54,0,0,0,0,0,0,0,0,0,0,0,57,56,58,57,56,58,56,56,0,57,57,56,57,56,57,56,58,57,56,58,56,57,56,57,58,0,57,56,56,57,56,58,57,56,58,57,56,58,57,56,58,0,0,59,60,59,60,59,59,0,59,59,59,60,59,60,59,59,60,59,59,59,60,59,60,59,60,59,60,0,0,65,65,67,66,68,65,67,66,68,65,0,0,65,66,65,66,0,65,65,65,66,65,66,65,67,66,68,65,67,66,68,66,66,65,65,67,68,0,65,66,0,65,66,65,67,66,68,65,67,66,68,65,67,66,68,0,0,65,67,66,68,0,69,69,69,69,69,69,69,69,69,69,69,0,0,72,70,71,72,70,71,70,71,70,71,70,71,71,70,71,72,70,71,0,72,70,71,70,72,70,71,70,71,72,70,71,72,70,71,72,70,71,71,72,70,71,0,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,0,74,75,74,75,74,74,74,74,74,75,0,74,75,74,75,0,74,74,74,75,74,75,74,75,74,75,0,76,76,76,76,76,76,76,76,76,76,0,78,77,79,78,77,79,77,77,77,78,77,79,78,77,79,77,77,77,78,79,0,77,78,77,79,78,77,79,78,77,79,0,0,78,77,79,0,0,0,0,0,0,0,82,85,82,85,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,80,83,0,81,80,84,83,81,80,84,83,80,83,83,84,83,80,83,81,84,81,82,82,84,85,85,81,80,82,82,82,88,84,83,85,85,85,89,80,81,80,0,81,80,82,88,84,83,85,89,84,83,84,83,88,89,0,81,84,0,81,80,84,83,82,85,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,80,81,80,81,80,82,88,84,83,85,89,0,90,90,90,90,90,90,90,90,90,90,90,0,0,0,0,0,0,0,91,92,91,92,91,91,91,91,91,91,91,92,91,91,92,91,92,91,91,91,91,92,91,92,91,92,91,92,0,93,95,93,95,93,93,93,93,93,93,93,95,93,0,93,93,93,95,93,93,93,95,93,93,93,95,93,95,93,95,93,95,0,96,97,96,97,96,96,97,96,96,97,0,97,96,96,97,96,97,96,97,96,97,0,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,99,100,101,99,100,101,99,100,99,100,99,100,100,99,100,99,100,101,0,0,99,100,101,99,100,101,100,99,100,100,99,100,99,100,101,99,100,101,99,100,101,99,100,101,0,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,102,0,0,103,104,105,103,104,105,103,104,103,104,103,104,103,104,103,104,105,103,104,105,104,104,105,104,103,104,104,104,103,104,103,103,104,105,103,104,105,103,104,105,0,103,104,105,104,0,0,106,107,108,106,107,108,106,107,106,107,106,107,106,107,106,107,108,106,107,108,107,108,107,106,107,106,107,107,106,107,108,106,107,108,106,107,108,106,0,106,107,108,0,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,111,114,117,111,114,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,109,112,115,110,109,113,112,116,115,110,109,113,112,116,115,109,112,115,109,112,115,110,113,116,115,116,115,110,111,111,113,114,114,116,117,117,110,109,111,111,111,120,113,112,114,114,114,116,115,117,117,117,109,110,109,110,109,111,120,113,112,114,116,115,117,112,113,112,0,0,120,0,110,113,116,0,112,113,112,110,109,113,112,116,115,111,114,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,109,110,109,110,109,111,120,113,112,114,116,115,117,0,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,0,0,123,122,124,123,125,122,124,123,125,122,122,122,123,0,122,122,122,122,122,122,122,124,123,125,122,124,123,125,122,124,125,0,0,123,122,123,0,122,122,124,123,125,122,124,123,125,122,124,123,125,122,124,123,125,0,126,126,126,126,126,126,126,126,126,126,126,126,0,127,0,127,0,127,127,40,127,40,40,40,40,0,0,127,40,40,40,127,271,127,40,40,127,40,127,40,127,127,40,40,40,127,40,127,40,127,40,40,127,127,127,40,0,0,0,0,0,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,0,0,0,0,0,0,0,0,149,149,149,149,149,149,149,149,149,149,149,149,149,149,0,0,0,272,158,159,160,272,158,159,160,0,272,158,159,160,272,272,0,0,272,158,159,160,272,272,158,159,160,0,0,0,272,158,159,160,272,158,159,160,272,158,159,160,272,158,159,160,0,161,161,161,161,161,161,161,161,161,161,161,161,0,162,162,162,162,162,162,162,162,162,162,162,162,162,162,0,0,0,163,163,163,163,163,163,163,163,163,163,163,163,163,0,163,163,33,33,33,33,33,33,0,33,273,274,0,33,170,33,33,273,274,0,0,33,33,33,33,0,170,0,0,33,33,33,33,33,33,33,168,169,33,167,170,168,169,33,167,170,167,168,169,33,170,167,33,170,168,168,169,169,33,33,170,170,168,169,33,33,33,33,33,33,33,33,33,167,170,170,170,168,169,33,167,170,167,168,169,33,170,33,170,168,169,33,170,168,169,33,167,170,168,169,33,167,170,168,169,33,167,170,168,169,33,167,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,182,183,184,182,183,184,182,182,182,183,182,183,184,182,183,184,0,184,182,182,182,182,183,184,182,183,184,182,183,184,182,183,184,0,0,0,186,185,186,187,185,186,187,185,185,185,186,185,186,187,185,186,187,0,187,185,185,185,185,186,187,185,186,187,185,186,187,185,186,187,0,188,188,188,188,188,188,188,188,188,188,188,188,188,0,0,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,0,0,0,0,0,195,196,194,195,196,197,194,195,196,197,194,194,195,196,0,194,195,196,197,194,195,196,197,194,194,197,194,194,0,0,194,194,194,195,196,197,194,195,196,197,194,195,196,197,194,195,196,197,0,198,198,198,198,198,198,198,198,198,198,198,0,0,199,201,199,201,199,199,199,201,199,201,199,0,0,201,199,199,0,0,0,0,199,199,199,201,199,201,199,201,0,199,201,0,0,0,202,203,204,202,203,204,202,202,203,204,202,202,202,203,204,202,203,202,203,0,202,202,204,203,203,202,203,204,202,203,204,202,203,204,202,203,204,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,0,206,207,208,209,206,207,208,209,206,206,0,206,206,207,208,209,206,207,208,209,207,208,209,206,206,0,206,0,0,206,206,207,208,209,206,207,208,209,206,207,208,209,0,206,206,207,208,209,0,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,213,214,0,212,213,214,211,215,212,216,213,214,211,215,212,216,212,211,212,211,212,211,212,213,214,0,211,212,211,211,212,213,214,211,215,212,216,213,214,211,215,212,216,211,212,215,216,211,212,211,212,211,212,213,214,211,215,212,216,213,214,211,215,212,216,213,214,211,215,212,216,213,214,211,215,212,216,217,217,0,217,217,217,217,217,217,217,0,0,0,0,218,220,219,221,218,220,219,221,218,219,218,219,218,0,219,218,220,219,221,218,220,219,221,218,219,218,218,218,219,219,218,220,221,218,219,218,219,218,219,218,220,219,221,218,220,219,221,218,220,219,221,218,220,219,221,0,0,222,223,222,223,222,222,222,223,222,223,0,222,223,222,222,222,222,222,223,222,223,222,223,222,223,0,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,0,0,225,227,225,227,225,225,225,225,227,225,227,225,225,225,225,225,227,225,225,225,225,225,227,225,227,225,227,0,225,227,0,0,228,229,230,228,229,230,228,228,228,228,229,230,0,228,229,230,228,0,229,230,228,228,0,0,228,228,228,229,230,228,229,230,228,229,230,228,229,230,0,231,231,231,231,231,231,231,231,231,231,231,0,0,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,0,0,233,232,233,234,232,233,234,232,232,232,233,232,232,233,234,232,233,234,234,232,232,0,232,232,233,234,232,233,234,232,233,234,232,232,233,234,0,0,0,0,0,0,0,238,238,0,0,0,0,0,2,2,62,62,235,236,62,237,238,239,240,241,2,235,236,62,237,238,239,240,241,2,62,62,2,2,2,235,236,62,237,238,239,240,241,2,235,236,62,237,238,239,240,241,2,2,235,2,239,2,236,235,236,62,237,238,239,240,241,2,235,62,236,2,235,236,62,237,238,239,240,241,2,235,235,235,235,236,236,236,236,62,62,62,62,237,237,237,237,238,238,238,238,239,239,239,239,240,240,240,240,241,241,241,241,2,2,2,2,235,236,62,237,238,238,239,240,241,2,235,236,62,237,238,239,240,241,2,237,238,236,235,241,235,236,62,237,238,239,240,241,2,235,2,241,237,62,62,239,240,235,237,235,236,241,2,237,236,236,238,2,2,2,2,2,235,236,62,237,238,239,240,241,2,238,235,236,62,237,238,239,240,241,2,235,236,62,237,238,239,240,241,2,235,236,62,237,238,239,240,241,2,237,239,240,235,237,235,236,62,237,238,239,240,241,2,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,0,0,0,275,246,276,247,275,246,276,247,0,275,246,276,247,275,275,276,276,0,0,275,246,276,247,275,275,276,276,246,247,0,275,246,276,247,275,246,276,247,275,246,276,247,275,246,276,247,0,0,0,0,0,0,0,0,0,0,0,248,249,250,251,252,253,254,255,256,257,248,249,250,251,252,253,254,255,256,257,248,249,250,251,252,253,254,255,256,257,248,249,250,251,252,253,254,255,256,257,248,249,250,251,252,253,254,255,256,257,248,249,250,251,252,253,254,255,256,257,248,249,250,251,252,253,254,255,256,257,248,249,250,251,252,253,254,255,256,257,248,249,250,251,252,253,254,255,256,257,248,249,250,251,252,253,254,255,256,257,0,0,0,0,0,226,258,259,226,258,259,226,258,259,226,258,259,260,258,259,226,226,226,258,259,226,226,258,259,261,258,259,226,258,259,226,258,259,226,258,259,261,258,259,261,258,259,261,258,259,226,226,226,258,259,226,258,259,226,258,259,226,258,259,226,258,259,0,0,0,264,134,264,134,264,264,134,264,134,264,134,134,134,264,134,134,264,265,264,264,265,264,134,265,264,134,265,264,134,134,264,134,264,134,264,134,264,134,264,0,0,0,0,267,266,267,268,266,267,268,266,266,267,266,267,268,266,267,268,266,268,266,266,0,0,0,266,266,267,268,266,267,268,266,267,268,266,267,268,0,269,269,269,269,269,269,269,269,269,269],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[5,6],[7,6],[8,6],[9,6],[10,6],[11,12],0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[2,[[14,[13]]]],[[],15],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[17,[16]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[20]]],21],[-1,-1,[]],[[],[[23,[22]]]],[-1,-2,[],[]],0,0,0,0,0,0,[24,16],0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[25,25],[26,26],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[-1,[[18,[25]]],21],[-1,[[18,[26]]],21],0,0,[[25,27],28],[[26,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[25,-1],18,29],[[26,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[30,31],16],0,[24,16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],[[6,32],[[18,[16,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[34,34],[[-1,-2],16,[],[]],[-1,[[18,[34]]],21],0,0,[[34,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[35,31],16],[[36,31],16],[[34,-1],18,29],[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[37,37],[[-1,-2],16,[],[]],0,0,[-1,[[18,[37]]],21],[[37,27],28],[37,38],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[39,31],16],[[37,-1],18,29],[24,16],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[6,38,40],[[18,[16,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],0,[-1,-2,[],[]],[[],41],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[42,31],16],[[43,31],16],[24,16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[44,44],[[-1,-2],16,[],[]],[-1,[[18,[44]]],21],[[44,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[45,31],16],[[46,31],16],0,[[44,-1],18,29],[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[25,32],[[18,[26,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[47,31],16],[[48,31],16],[[49,31],16],0,0,[24,16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[50,[51,[6]]],12],[-1,-2,[],[]],0,0,[[],50],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[52,52],[53,53],[54,54],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[-1,[[18,[52]]],21],[-1,[[18,[53]]],21],[-1,[[18,[54]]],21],0,[[52,27],28],[[53,27],28],[[54,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[53,32],[[18,[12,33]]]],0,0,0,[[52,32],[[18,[16,33]]]],[[52,-1],18,29],[[53,-1],18,29],[[54,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[55,12],0,[24,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[56,56],[[-1,-2],16,[],[]],0,0,[-1,[[18,[57]]],21],[-1,[[18,[56]]],21],0,[[56,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[58,31],16],0,[[57,-1],18,29],[[56,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[57,32,6],[[18,[56,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[59,59],[[-1,-2],16,[],[]],0,[-1,[[18,[59]]],21],[[59,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[60,31],16],[[59,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[61,62],[[18,[[64,[63]],33]]]],[[32,61],[[18,[[51,[[64,[63]]]],33]]]],[65,65],[66,66],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[[],65],0,[-1,[[18,[65]]],21],[-1,[[18,[66]]],21],[[65,27],28],[[66,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[67,31],16],[[68,31],16],0,[[65,-1],18,29],[[66,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[[32,66,12],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[],69],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[70,70],[71,71],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[70]]],21],[-1,[[18,[71]]],21],0,[[70,27],28],[[71,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[72,31],16],[[70,-1],18,29],[[71,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-1,[]],0,[-1,-2,[],[]],[[],73],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,0,[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[74,74],[[-1,-2],16,[],[]],[-1,[[18,[74]]],21],[[74,27],28],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[75,31],16],0,[[74,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],76],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[77]]],21],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[78,31],16],[[79,31],16],0,[[77,-1],18,29],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[77,32,6],[[18,[16,33]]]],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[80,[[18,[81,82]]]],[83,[[18,[84,85]]]],0,[81,81],[80,80],[84,84],[83,83],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],80],[[],83],[[83,86],83],0,0,[[],80],[[],83],[-1,[[18,[81]]],21],[-1,[[18,[84]]],21],[[81,27],28],[[82,27],28],[[82,27],28],[[84,27],28],[[85,27],28],[[85,27],28],[-1,-1,[]],[-1,-1,[]],[87,82],[-1,-1,[]],[12,82],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[87,85],[-1,-1,[]],[12,85],[-1,-1,[]],[[80,6],80],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[51,[86]]],86],[[83,[51,[86]]],83],0,0,[[88,31],16],[[89,31],16],0,[[81,-1],18,29],[[84,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[80,6],80],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],0,[-1,-2,[],[]],[[],90],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[24,16],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[91,91],[[-1,-2],16,[],[]],[[],91],[-1,[[18,[91]]],21],[[91,91],86],[[91,27],28],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[92,31],16],[[91,-1],18,29],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[93,93],[[-1,-2],16,[],[]],[[],93],[-1,[[18,[93]]],21],[[93,93],86],[94,93],[-1,-1,[]],[-1,-1,[]],[[[64,[94]]],[[64,[93]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[95,31],16],[[93,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[96]]],21],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[97,31],16],[[96,-1],18,29],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],0,[[],98],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[24,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[99,99],[100,100],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[99]]],21],[-1,[[18,[100]]],21],0,[[99,27],28],[[100,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[32,6],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[101,31],16],0,[[99,-1],18,29],[[100,-1],18,29],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[102,6],0,[-1,-2,[],[]],[[],102],0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[102,6],0,[102,6],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[103,103],[104,104],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[103]]],21],[-1,[[18,[104]]],21],[[103,27],28],[[104,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[105,31],16],0,[[103,-1],18,29],[[104,-1],18,29],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[106,106],[107,107],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[106]]],21],[-1,[[18,[107]]],21],[[106,27],28],[[107,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[108,31],16],0,[[106,-1],18,29],[[107,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[22,[51,[6]]],12],[-1,-2,[],[]],0,[[],22],0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[109,[[18,[110,111]]]],[112,[[18,[113,114]]]],[115,[[18,[116,117]]]],[110,110],[109,109],[113,113],[112,112],[116,116],[115,115],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],109],[[],112],[[],115],[[],109],[[],112],[[],115],[-1,[[18,[110]]],21],[-1,[[18,[113]]],21],[-1,[[18,[116]]],21],[[115,[51,[118]]],115],0,0,[[110,27],28],[[111,27],28],[[111,27],28],[[113,27],28],[[114,27],28],[[114,27],28],[[116,27],28],[[117,27],28],[[117,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[87,111],[12,111],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,114],[-1,-1,[]],[87,114],[-1,-1,[]],[-1,-1,[]],[87,117],[-1,-1,[]],[12,117],[[109,6],109],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[112,119],112],0,0,[[32,113],[[18,[116,33]]]],0,[[120,31],16],0,[[110,-1],18,29],[[113,-1],18,29],[[116,-1],18,29],[24,16],[[112,118],112],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[109,6],109],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[121,121],[[-1,-2],16,[],[]],[-1,[[18,[121]]],21],[[121,121],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[121,27],28],[-1,-1,[]],[-1,-2,[],[]],[[],121],0,[[121,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[122,122],[[-1,-2],16,[],[]],[-1,[[18,[122]]],21],[-1,[[18,[123]]],21],0,[[122,122],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[122,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[124,31],16],[[125,31],16],0,0,0,[[122,-1],18,29],[[123,-1],18,29],[24,16],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[126,6,55],12],[-1,-2,[],[]],[[],126],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,0,[[127,128],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[[],129],[2,[[51,[[131,[130]]]]]],[[127,12],[[133,[[51,[132]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[2,127],[[2,134],[[135,[40]]]],[[2,[136,[-1]],[136,[-2]]],[[137,[-2,-1]]],138,139],[40,[[18,[16,33]]]],[[127,140],[[18,[16,33]]]],[[127,141],[[18,[16,33]]]],0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[40,[[18,[16,33]]]],[[127,142],[[133,[86]]]],[[127,143,12],[[133,[[16,[12,118]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[144,144],[[-1,-2],16,[],[]],[144,12],[[144,27],28],[145,12],[-1,-1,[]],[-1,-2,[],[]],[146,144],[144,12],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[[[51,[2]]],[[148,[147]]]],[[[51,[2]]],[[148,[147]]]],0,0,0,[149,16],[-1,-2,[],[]],[-1,-2,[],[]],[32,[[18,[16,33]]]],[-1,-1,[]],[-1,-2,[],[]],[32,[[18,[16,33]]]],[[32,118,[150,[16]]],[[18,[[151,[16]],33]]]],[[32,118],[[18,[[16,[149,[151,[16]]]],33]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],0,[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,153],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],154],[[],[[0,[[157,[],[[155,[[156,[6]]]]]]]]]],[[158,31],16],[[159,31],16],[[160,31],16],0,[24,16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],161],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,[162,16],[-1,-2,[],[]],[-1,-2,[],[]],[[[150,[16]]],86],[-1,-1,[]],[-1,-2,[],[]],[[32,118,[150,[16]]],[[18,[[151,[16]],33]]]],[[32,118],[[18,[[16,[162,[151,[16]]]],33]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],0,[-1,19,[]],[[32,[150,[16]]],[[18,[16,33]]]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[163,163],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-2,[],[]],[6,163],[163,164],[[163,165],[[18,[16,166]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[[40,6,6],[[18,[16,33]]]],0,[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,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,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[167]]],21],[[168,168],86],[[169,169],86],[[33,33],86],[[170,170],86],0,[33,153],[170,153],[[168,27],28],[[168,27],28],[[169,27],28],[[169,27],28],[[33,27],28],[[33,27],28],[[170,27],28],[[170,27],28],[-1,-1,[]],[-1,-1,[]],[171,33],[172,33],[173,33],[174,33],[175,33],[176,33],[177,33],[-1,-1,[]],[178,33],[-1,-1,[]],[33,170],[171,170],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[167,-1],18,29],[168,[[51,[179]]]],[169,[[51,[179]]]],[33,[[51,[179]]]],[170,[[51,[179]]]],[33,180],[170,180],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[],[[23,[181]]]],0,0,[24,16],0,0,0,0,[24,16],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[182,182],[[-1,-2],16,[],[]],[[],182],[183,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[184,31],16],[182,164],[[182,165],[[18,[16,166]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[185,185],[[-1,-2],16,[],[]],[[],185],[186,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[187,31],16],[185,164],[[185,165],[[18,[16,166]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[188,[51,[6]]],12],[[],[[189,[6]]]],[-1,-2,[],[]],0,0,[[],188],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[[190,[-1,-2]]],[[190,[-1,-2]]],[191,192,193],[191,192,193]],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[6,[51,[[64,[[16,[-1,-2]]]]]]],[[190,[-1,-2]]],[191,192],[191,192]],[[[190,[-1,-2]]],164,[191,192],[191,192]],[[[190,[-1,-2]],165],[[18,[16,166]]],[191,192],[191,192]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[194,194],[[-1,-2],16,[],[]],[195,12],[196,12],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[6,6],194],[[197,31],16],[194,164],[[194,165],[[18,[16,166]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],198],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[199,199],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[64,[200]]],199],0,0,[[201,31],16],[199,164],[[199,165],[[18,[16,166]]]],0,[24,16],0,0,0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[94,202],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[[64,[202]]],203],0,[202,12],0,[[204,31],16],[203,164],[[203,165],[[18,[16,166]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],[[189,[6]]]],0,[-1,-2,[],[]],[[],205],0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[206,206],[[-1,-2],16,[],[]],0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[207,31],16],[[208,31],16],[[209,31],16],[206,164],[[206,165],[[18,[16,166]]]],0,0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[],[[189,[6]]]],0,[-1,-2,[],[]],[[],210],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,0,0,0,[24,16],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[211,211],[212,212],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],211],[[],212],[213,12],[214,12],0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[215,31],16],[[216,31],16],[211,164],[212,164],[[211,165],[[18,[16,166]]]],[[212,165],[[18,[16,166]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[217,31],16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[218,218],[219,219],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[200,[64,[63]],12,86],218],[[12,65],219],0,0,[[220,31],16],[[221,31],16],[218,164],[219,164],[[218,165],[[18,[16,166]]]],[[219,165],[[18,[16,166]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[222,222],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[64,[200]]],222],[[223,31],16],[222,164],[[222,165],[[18,[16,166]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-1,[]],[[224,6],12],[[224,6],12],[[224,6],12],[[],[[189,[6]]]],[[224,6],12],[-1,-2,[],[]],0,[[],224],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[225,225],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[226,200,[64,[63]],12,86],225],0,[[227,31],16],[225,164],[[225,165],[[18,[16,166]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[228,228],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[229,31],16],[[230,31],16],[228,164],[[228,165],[[18,[16,166]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],[[189,[6]]]],[-1,-2,[],[]],[[],231],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],[[181,[51,[6]]],12],[[],[[189,[6]]]],0,[-1,-2,[],[]],[[],181],0,0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[232,232],[[-1,-2],16,[],[]],[[],232],[233,12],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[234,31],16],[232,164],[[232,165],[[18,[16,166]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[24,16],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[2,16],[2,16],[235,235],[236,236],[62,62],[237,237],[238,238],[239,239],[240,240],[241,241],[2,2],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,0,0,0,0,0,[-1,[[18,[235]]],21],[-1,[[18,[236]]],21],[-1,[[18,[62]]],21],[-1,[[18,[237]]],21],[-1,[[18,[238]]],21],[-1,[[18,[239]]],21],[-1,[[18,[240]]],21],[-1,[[18,[241]]],21],[-1,[[18,[2]]],21],0,0,0,[[[243,[242]]],[[243,[242]]]],[[235,235],86],[[236,236],86],[[62,62],86],[[237,237],86],[[238,238],86],[[239,239],86],[[240,240],86],[[241,241],86],[[2,2],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[235,27],28],[[236,27],28],[[62,27],28],[[237,27],28],[[238,27],28],[[238,27],28],[[239,27],28],[[240,27],28],[[241,27],28],[[2,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[244,[[18,[238,245]]]],0,[235,12],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[18,[2,245]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[238,-1],18,29],0,[2,16],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[24,16],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[4,6],[[51,[6]]]],[-1,-2,[],[]],[[],4],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,153],[6,153],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],154],[[],[[0,[[157,[],[[155,[[156,[6]]]]]]]]]],[[],154],[[],[[0,[[157,[],[[155,[[156,[6]]]]]]]]]],[[246,31],16],[[247,31],16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[248,[[16,[6,6]]]],[249,[[16,[6,6]]]],[250,[[16,[6,6]]]],[251,[[16,[6,6]]]],[252,[[16,[6,6]]]],[253,[[16,[6,6]]]],[254,[[16,[6,6]]]],[255,[[16,[6,6]]]],[256,[[16,[6,6]]]],[257,[[16,[6,6]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[226,226],[258,258],[259,259],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[260,[[148,[261]]]],[-1,[[148,[261]]],[]],[-1,[[148,[261]]],[]],0,0,[[],226],[[],258],[[],259],[-1,[[18,[226]]],21],[[226,226],86],[[258,258],86],[[259,259],86],[[261,40,6,6],[[263,[[148,[262]]]]]],[[258,40,6,6],[[263,[[148,[262]]]]]],[[259,40,6,6],[[263,[[148,[262]]]]]],[[226,27],28],[[258,27],28],[[259,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[261,40,6],[[263,[[148,[262]]]]]],[[258,40,6],[[263,[[148,[262]]]]]],[[259,40,6],[[263,[[148,[262]]]]]],[[261,40,6],[[263,[[148,[262]]]]]],[[258,40,6],[[263,[[148,[262]]]]]],[[259,40,6],[[263,[[148,[262]]]]]],[[261,40,6],[[263,[[148,[262]]]]]],[[258,40,6],[[263,[[148,[262]]]]]],[[259,40,6],[[263,[[148,[262]]]]]],[[226,-1],18,29],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[134,134],[264,264],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],134],[[134,27],28],[-1,-1,[]],[-1,-1,[]],[[134,6],[[51,[12]]]],[-1,-2,[],[]],[-1,-2,[],[]],[265,[[263,[[148,[262]]]]]],[264,[[263,[[148,[262]]]]]],[32,264],[265,[[263,[[148,[262]]]]]],[264,[[263,[[148,[262]]]]]],[[134,6],16],[265,[[263,[[148,[262]]]]]],[264,[[263,[[148,[262]]]]]],[[134,12,12],16],[265,[[263,[[148,[262]]]]]],[264,[[263,[[148,[262]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[266,266],[[-1,-2],16,[],[]],[267,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],266],[[268,31],16],[266,164],[[266,165],[[18,[16,166]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[[],269],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]]],"c":[],"p":[[5,"SETTINGS",0],[5,"Settings",2454],[5,"FILES",0],[5,"FileMap",2687],[5,"JS",0],[1,"str"],[5,"CSS",0],[5,"MOBILE_CSS",0],[5,"VERIFICATIN_WIDGET_JS",0],[5,"VERIFICATIN_WIDGET_CSS",0],[5,"SOURCE_FILES_OF_INSTANCE",0],[5,"String",3019],[5,"CookieIdentityPolicy",3020],[5,"IdentityService",3021],[5,"JsonConfig",3022],[1,"tuple"],[8,"Result",3023],[6,"Result",3024],[5,"TypeId",3025],[5,"RedirectQuery",164],[10,"Deserializer",3026],[5,"Routes",1193],[5,"Authentication",3027],[5,"ServiceConfig",3028],[5,"AccountCheckPayload",187],[5,"AccountCheckResp",187],[5,"Formatter",3029],[8,"Result",3029],[10,"Serializer",3030],[5,"delete_account",228],[5,"AppService",3028],[8,"AppData",0],[6,"ServiceError",1653],[5,"Email",241],[5,"email_exists",241],[5,"set_email",241],[5,"ChangePasswordReqest",278],[5,"UpdatePassword",278],[5,"update_user_password",278],[5,"Data",1470],[5,"Account",320],[5,"get_secret",338],[5,"update_user_secret",338],[5,"Username",359],[5,"username_exists",359],[5,"set_username",359],[5,"register",398],[5,"login",398],[5,"signout",398],[5,"Auth",431],[6,"Option",3031],[5,"Register",445],[5,"Login",445],[5,"Password",445],[1,"usize"],[5,"MCaptchaDetails",508],[5,"CreateCaptcha",508],[5,"create",508],[5,"DeleteCaptcha",552],[5,"delete",552],[5,"TrafficPattern",3032],[5,"DefaultDifficultyStrategy",2454],[5,"Level",3033],[5,"Vec",3034],[5,"TrafficPatternRequest",579],[5,"UpdateTrafficPattern",579],[5,"create",579],[5,"update",579],[5,"Easy",642],[5,"Levels",654],[5,"I32Levels",654],[5,"get_captcha",654],[5,"Captcha",697],[5,"StatsPayload",714],[5,"get",714],[5,"Stats",741],[5,"UpdateCaptcha",752],[5,"update_key",752],[5,"update_captcha",752],[5,"BuildDetailsBuilder",790],[5,"BuildDetails",790],[6,"BuildDetailsBuilderError",790],[5,"HealthBuilder",790],[5,"Health",790],[6,"HealthBuilderError",790],[1,"bool"],[5,"UninitializedFieldError",3035],[5,"build_details",790],[5,"health",790],[5,"Meta",917],[5,"AddNotificationRequest",934],[5,"add_notification",934],[5,"NotificationResp",964],[5,"Notification",3032],[5,"get_notification",964],[5,"MarkReadReq",997],[5,"mark_read",997],[5,"Notifications",1019],[5,"GetConfigPayload",1038],[5,"ApiPoWConfig",1038],[5,"get_config",1038],[5,"PoW",1084],[5,"ValidationToken",1102],[5,"ApiWork",1102],[5,"verify_pow",1102],[5,"CaptchaValidateResp",1149],[5,"VerifyCaptchaResultPayload",1149],[5,"validate_captcha_token",1149],[5,"BuildDetailsBuilder",1213],[5,"BuildDetails",1213],[6,"BuildDetailsBuilderError",1213],[5,"PercentileReqBuilder",1213],[5,"PercentileReq",1213],[6,"PercentileReqBuilderError",1213],[5,"PercentileRespBuilder",1213],[5,"PercentileResp",1213],[6,"PercentileRespBuilderError",1213],[1,"u32"],[1,"f64"],[5,"percentile_benches",1213],[5,"Stats",1379],[5,"Page",1401],[5,"SurveySecretUpload",1401],[5,"download",1401],[5,"secret",1401],[5,"Survey",1457],[6,"SystemGroup",1470],[5,"AddSite",3036],[5,"Config",3037],[5,"Tokio1Executor",3038],[5,"AsyncSmtpTransport",3039],[5,"PoWConfig",3040],[8,"CaptchaResult",3041],[5,"SecretsStore",2926],[5,"Arc",3042],[5,"Addr",3043],[5,"System",3044],[10,"Master",3045],[10,"Save",3046],[5,"RemoveCaptcha",3036],[5,"Rename",3036],[5,"VerifyCaptchaResult",3047],[5,"Work",3040],[5,"Date",1514],[5,"OffsetDateTime",3048],[1,"i64"],[10,"MCDatabase",3032],[5,"Box",3049],[5,"DemoUser",1541],[5,"Receiver",3050],[5,"JoinHandle",3051],[5,"EmbeddedFile",3052],[5,"HttpResponse",3053],[6,"Filenames",3054],[17,"Item"],[6,"Cow",3055],[10,"Iterator",3056],[5,"dist",1558],[5,"spec",1558],[5,"index",1558],[5,"Docs",1606],[5,"UpdateEasyCaptcha",1619],[5,"IndexPage",1635],[8,"RenderResult",3057],[5,"Buffer",3058],[6,"RenderError",3057],[5,"ErrorToResponse",1653],[5,"SmtpErrorWrapper",1653],[5,"DBErrorWrapper",1653],[6,"PageError",1653],[6,"DBError",3059],[6,"MailboxError",3043],[5,"RecvError",3060],[6,"ParseError",3061],[5,"Error",3062],[6,"CaptchaError",3041],[6,"CredsError",3063],[5,"ValidationErrors",3064],[10,"Error",3065],[5,"StatusCode",3066],[5,"Routes",2392],[5,"IndexPage",1777],[5,"INDEX",1777],[5,"login",1777],[5,"IndexPage",1814],[5,"INDEX",1814],[5,"join",1814],[5,"Auth",1851],[1,"array"],[5,"SudoPage",1865],[10,"Display",3029],[10,"Render",3057],[10,"Clone",3067],[5,"ErrorPage",1883],[5,"INTERNAL_SERVER_ERROR_BODY",1883],[5,"UNKNOWN_ERROR_BODY",1883],[5,"error",1883],[5,"Errors",1936],[5,"IndexPage",1948],[5,"Captcha",3032],[5,"panel",1948],[5,"Notification",1981],[5,"IndexPage",1981],[5,"notifications",1981],[5,"Panel",2021],[5,"IndexPage",2037],[5,"settings",2037],[5,"delete_account",2037],[5,"update_secret",2037],[5,"Settings",2087],[5,"AdvanceIndexPage",2108],[5,"EasyIndexPage",2108],[5,"ADVANCE_INDEX",2108],[5,"EASY_INDEX",2108],[5,"advance",2108],[5,"easy",2108],[5,"delete_sitekey",2190],[5,"AdvanceEditPage",2200],[5,"EasyEditPage",2200],[5,"advance",2200],[5,"easy",2200],[5,"IndexPage",2259],[5,"list_sitekeys",2259],[5,"Sitekey",2286],[5,"IndexPage",2308],[5,"CaptchaStats",2859],[5,"view_sitekey",2308],[5,"PercentilePage",2340],[5,"get_percentile",2340],[5,"post_percentile",2340],[5,"Utils",2380],[5,"IndexPage",2415],[5,"INDEX",2415],[5,"sitemap",2415],[5,"Server",2454],[5,"Captcha",2454],[5,"Smtp",2454],[6,"DBType",2454],[5,"Database",2454],[5,"Redis",2454],[5,"Survey",2454],[5,"DefaultState",3068],[5,"ConfigBuilder",3068],[5,"Url",3069],[6,"ConfigError",3070],[5,"static_files",2699],[5,"favicons",2699],[5,"KEY",2748],[5,"GITHUB",2748],[5,"HOME",2748],[5,"SETTINGS_ICON",2748],[5,"CREDIT_CARD",2748],[5,"HELP_CIRCLE",2748],[5,"MESSAGE",2748],[5,"DOCS_ICON",2748],[5,"MCAPTCHA_TRANS_ICON",2748],[5,"BAR_CHART",2748],[5,"Real",2859],[5,"Dummy",2859],[10,"CloneStats",2859],[10,"Stats",2859],[10,"Future",3071],[5,"Pin",3072],[5,"Survey",2926],[10,"SurveyClientTrait",2926],[5,"IndexPage",2968],[5,"INDEX_PAGE",2968],[5,"show_widget",2968],[5,"Widget",3008],[8,"ArcData",0],[8,"Mailer",1470],[5,"Asset",1558],[8,"ServiceResult",1653],[8,"PageResult",1653],[5,"Asset",2699],[5,"Favicons",2699]],"b":[[837,"impl-Display-for-BuildDetailsBuilderError"],[838,"impl-Debug-for-BuildDetailsBuilderError"],[840,"impl-Debug-for-HealthBuilderError"],[841,"impl-Display-for-HealthBuilderError"],[844,"impl-From%3CUninitializedFieldError%3E-for-BuildDetailsBuilderError"],[846,"impl-From%3CString%3E-for-BuildDetailsBuilderError"],[850,"impl-From%3CUninitializedFieldError%3E-for-HealthBuilderError"],[852,"impl-From%3CString%3E-for-HealthBuilderError"],[1276,"impl-Display-for-BuildDetailsBuilderError"],[1277,"impl-Debug-for-BuildDetailsBuilderError"],[1279,"impl-Debug-for-PercentileReqBuilderError"],[1280,"impl-Display-for-PercentileReqBuilderError"],[1282,"impl-Display-for-PercentileRespBuilderError"],[1283,"impl-Debug-for-PercentileRespBuilderError"],[1287,"impl-From%3CUninitializedFieldError%3E-for-BuildDetailsBuilderError"],[1288,"impl-From%3CString%3E-for-BuildDetailsBuilderError"],[1292,"impl-From%3CString%3E-for-PercentileReqBuilderError"],[1294,"impl-From%3CUninitializedFieldError%3E-for-PercentileReqBuilderError"],[1297,"impl-From%3CUninitializedFieldError%3E-for-PercentileRespBuilderError"],[1299,"impl-From%3CString%3E-for-PercentileRespBuilderError"],[1574,"impl-RustEmbed-for-Asset"],[1575,"impl-Asset"],[1582,"impl-RustEmbed-for-Asset"],[1583,"impl-Asset"],[1705,"impl-Debug-for-SmtpErrorWrapper"],[1706,"impl-Display-for-SmtpErrorWrapper"],[1707,"impl-Debug-for-DBErrorWrapper"],[1708,"impl-Display-for-DBErrorWrapper"],[1709,"impl-Debug-for-ServiceError"],[1710,"impl-Display-for-ServiceError"],[1711,"impl-Debug-for-PageError"],[1712,"impl-Display-for-PageError"],[1715,"impl-From%3CDBError%3E-for-ServiceError"],[1716,"impl-From%3CMailboxError%3E-for-ServiceError"],[1717,"impl-From%3CRecvError%3E-for-ServiceError"],[1718,"impl-From%3CParseError%3E-for-ServiceError"],[1719,"impl-From%3CError%3E-for-ServiceError"],[1720,"impl-From%3CCaptchaError%3E-for-ServiceError"],[1721,"impl-From%3CCredsError%3E-for-ServiceError"],[1723,"impl-From%3CValidationErrors%3E-for-ServiceError"],[1725,"impl-From%3CServiceError%3E-for-PageError"],[1726,"impl-From%3CDBError%3E-for-PageError"],[2580,"impl-Debug-for-DBType"],[2581,"impl-Display-for-DBType"],[2715,"impl-Asset"],[2716,"impl-RustEmbed-for-Asset"],[2717,"impl-Favicons"],[2718,"impl-RustEmbed-for-Favicons"],[2725,"impl-RustEmbed-for-Asset"],[2726,"impl-Asset"],[2727,"impl-RustEmbed-for-Favicons"],[2728,"impl-Favicons"]]}]\ +]')); +if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; +else if (window.initSearch) window.initSearch(searchIndex); diff --git a/settings.html b/settings.html index 5d99625d..098eb7cf 100644 --- a/settings.html +++ b/settings.html @@ -1 +1,2 @@ -Settings

    Rustdoc settings

    Back
    \ No newline at end of file +Settings +

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/src-files.js b/src-files.js index c6366307..02a116da 100644 --- a/src-files.js +++ b/src-files.js @@ -1,7 +1,7 @@ -var srcIndex = JSON.parse('{\ -"db_core":["",[],["errors.rs","lib.rs","ops.rs","tests.rs"]],\ -"db_sqlx_maria":["",[],["errors.rs","lib.rs"]],\ -"db_sqlx_postgres":["",[],["errors.rs","lib.rs"]],\ -"mcaptcha":["",[["api",[["v1",[["account",[],["delete.rs","email.rs","mod.rs","password.rs","secret.rs","username.rs"]],["mcaptcha",[],["create.rs","delete.rs","easy.rs","get.rs","mod.rs","stats.rs","update.rs"]],["notifications",[],["add.rs","get.rs","mark_read.rs","mod.rs"]],["pow",[],["get_config.rs","mod.rs","verify_pow.rs","verify_token.rs"]]],["auth.rs","meta.rs","mod.rs","routes.rs","stats.rs","survey.rs"]]],["mod.rs"]],["email",[],["mod.rs","verification.rs"]],["pages",[["auth",[],["login.rs","mod.rs","register.rs","sudo.rs"]],["panel",[["sitekey",[],["add.rs","delete.rs","edit.rs","list.rs","mod.rs","view.rs"]]],["mod.rs","notifications.rs","settings.rs","utils.rs"]]],["errors.rs","mod.rs","routes.rs","sitemap.rs"]],["static_assets",[],["filemap.rs","mod.rs","static_files.rs"]],["widget",[],["mod.rs"]]],["data.rs","date.rs","db.rs","demo.rs","docs.rs","easy.rs","errors.rs","main.rs","routes.rs","settings.rs","stats.rs","survey.rs"]]\ -}'); +var srcIndex = new Map(JSON.parse('[\ +["db_core",["",[],["errors.rs","lib.rs","ops.rs","tests.rs"]]],\ +["db_sqlx_maria",["",[],["errors.rs","lib.rs"]]],\ +["db_sqlx_postgres",["",[],["errors.rs","lib.rs"]]],\ +["mcaptcha",["",[["api",[["v1",[["account",[],["delete.rs","email.rs","mod.rs","password.rs","secret.rs","username.rs"]],["mcaptcha",[],["create.rs","delete.rs","easy.rs","get.rs","mod.rs","stats.rs","update.rs"]],["notifications",[],["add.rs","get.rs","mark_read.rs","mod.rs"]],["pow",[],["get_config.rs","mod.rs","verify_pow.rs","verify_token.rs"]]],["auth.rs","meta.rs","mod.rs","routes.rs","stats.rs","survey.rs"]]],["mod.rs"]],["email",[],["mod.rs","verification.rs"]],["pages",[["auth",[],["login.rs","mod.rs","register.rs","sudo.rs"]],["panel",[["sitekey",[],["add.rs","delete.rs","edit.rs","list.rs","mod.rs","view.rs"]]],["mod.rs","notifications.rs","settings.rs","utils.rs"]]],["errors.rs","mod.rs","routes.rs","sitemap.rs"]],["static_assets",[],["filemap.rs","mod.rs","static_files.rs"]],["widget",[],["mod.rs"]]],["data.rs","date.rs","db.rs","demo.rs","docs.rs","easy.rs","errors.rs","main.rs","routes.rs","settings.rs","stats.rs","survey.rs"]]]\ +]')); createSrcSidebar(); diff --git a/src/db_core/errors.rs.html b/src/db_core/errors.rs.html index 6c4c8d4d..1b9496e7 100644 --- a/src/db_core/errors.rs.html +++ b/src/db_core/errors.rs.html @@ -1,4 +1,5 @@ -errors.rs - source
    1
    +errors.rs - source
    +    
    1
     2
     3
     4
    @@ -63,38 +64,38 @@
     #[derive(Debug, Error)]
     pub enum DBError {
         /// errors that are specific to a database implementation
    -    #[error("{0}")]
    +    #[error("{0}")]
         DBError(#[source] BoxDynError),
         /// Username is taken
    -    #[error("Username is taken")]
    +    #[error("Username is taken")]
         UsernameTaken,
         /// Email is taken
    -    #[error("Email is taken")]
    +    #[error("Email is taken")]
         EmailTaken,
         /// Secret is taken
    -    #[error("Secret is taken")]
    +    #[error("Secret is taken")]
         SecretTaken,
         /// Captcha key is taken
    -    #[error("Captcha key is taken")]
    +    #[error("Captcha key is taken")]
         CaptchaKeyTaken,
         /// Account not found
    -    #[error("Account not found")]
    +    #[error("Account not found")]
         AccountNotFound,
     
         /// Captcha not found
    -    #[error("Captcha not found")]
    +    #[error("Captcha not found")]
         CaptchaNotFound,
         /// Traffic pattern not found
    -    #[error("Traffic pattern not found")]
    +    #[error("Traffic pattern not found")]
         TrafficPatternNotFound,
     
         /// Notification not found
    -    #[error("Notification not found")]
    +    #[error("Notification not found")]
         NotificationNotFound,
     }
     
     /// Convenience type alias for grouping driver-specific errors
    -pub type BoxDynError = Box<dyn StdError + 'static + Send + Sync>;
    +pub type BoxDynError = Box<dyn StdError + 'static + Send + Sync>;
     
     /// Generic result data structure
     pub type DBResult<V> = std::result::Result<V, DBError>;
    diff --git a/src/db_core/lib.rs.html b/src/db_core/lib.rs.html
    index 873a59b6..d708f480 100644
    --- a/src/db_core/lib.rs.html
    +++ b/src/db_core/lib.rs.html
    @@ -1,4 +1,5 @@
    -lib.rs - source
    1
    +lib.rs - source
    +    
    1
     2
     3
     4
    @@ -491,7 +492,7 @@
     
     pub mod errors;
     pub mod ops;
    -#[cfg(feature = "test")]
    +#[cfg(feature = "test")]
     pub mod tests;
     
     use dev::*;
    @@ -513,33 +514,33 @@
     
     #[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
     /// Data required to register a new user
    -pub struct Register<'a> {
    +pub struct Register<'a> {
         /// username of new user
    -    pub username: &'a str,
    +    pub username: &'a str,
         /// secret of new user
    -    pub secret: &'a str,
    +    pub secret: &'a str,
         /// hashed password of new use
    -    pub hash: &'a str,
    +    pub hash: &'a str,
         /// Optionally, email of new use
    -    pub email: Option<&'a str>,
    +    pub email: Option<&'a str>,
     }
     
     #[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
     /// data required to update them email of a user
    -pub struct UpdateEmail<'a> {
    +pub struct UpdateEmail<'a> {
         /// username of the user
    -    pub username: &'a str,
    +    pub username: &'a str,
         /// new email address of the user
    -    pub new_email: &'a str,
    +    pub new_email: &'a str,
     }
     
     #[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
     /// types of credentials used as identifiers during login
    -pub enum Login<'a> {
    +pub enum Login<'a> {
         /// username as login
    -    Username(&'a str),
    +    Username(&'a str),
         /// email as login
    -    Email(&'a str),
    +    Email(&'a str),
     }
     
     #[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
    @@ -552,7 +553,7 @@
     }
     
     #[async_trait]
    -/// mCaptcha's database requirements. To implement support for $Database, kindly implement this
    +/// mCaptcha's database requirements. To implement support for $Database, kindly implement this
     /// trait.
     pub trait MCDatabase: std::marker::Send + std::marker::Sync + CloneSPDatabase {
         /// ping DB
    @@ -573,25 +574,25 @@
         /// check if email exists
         async fn email_exists(&self, email: &str) -> DBResult<bool>;
     
    -    /// update a user's email
    +    /// update a user's email
         async fn update_email(&self, p: &UpdateEmail) -> DBResult<()>;
     
    -    /// get a user's password
    +    /// get a user's password
         async fn get_password(&self, l: &Login) -> DBResult<NameHash>;
     
    -    /// update user's password
    +    /// update user's password
         async fn update_password(&self, p: &NameHash) -> DBResult<()>;
     
         /// update username
         async fn update_username(&self, current: &str, new: &str) -> DBResult<()>;
     
    -    /// get a user's secret
    +    /// get a user's secret
         async fn get_secret(&self, username: &str) -> DBResult<Secret>;
     
    -    /// get a user's secret from a captcha key
    +    /// get a user's secret from a captcha key
         async fn get_secret_from_captcha(&self, key: &str) -> DBResult<Secret>;
     
    -    /// update a user's secret
    +    /// update a user's secret
         async fn update_secret(&self, username: &str, secret: &str) -> DBResult<()>;
     
         /// create new captcha
    @@ -603,14 +604,14 @@
         /// Get all captchas belonging to user
         async fn get_all_user_captchas(&self, username: &str) -> DBResult<Vec<Captcha>>;
     
    -    /// update captcha metadata; doesn't change captcha key
    +    /// update captcha metadata; doesn't change captcha key
         async fn update_captcha_metadata(
             &self,
             username: &str,
             p: &CreateCaptcha,
         ) -> DBResult<()>;
     
    -    /// update captcha key; doesn't change metadata
    +    /// update captcha key; doesn't change metadata
         async fn update_captcha_key(
             &self,
             username: &str,
    @@ -650,7 +651,7 @@
             captcha_key: &str,
         ) -> DBResult<Vec<Level>>;
     
    -    /// Get captcha's cooldown period
    +    /// Get captcha's cooldown period
         async fn get_captcha_cooldown(&self, captcha_key: &str) -> DBResult<i32>;
     
         /// Add traffic configuration
    @@ -845,15 +846,15 @@
     
     #[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
     /// Data required to add notification
    -pub struct AddNotification<'a> {
    +pub struct AddNotification<'a> {
         /// who is the notification addressed to?
    -    pub to: &'a str,
    +    pub to: &'a str,
         /// notification sender
    -    pub from: &'a str,
    +    pub from: &'a str,
         /// heading of the notification
    -    pub heading: &'a str,
    +    pub heading: &'a str,
         /// message of the notification
    -    pub message: &'a str,
    +    pub message: &'a str,
     }
     
     #[derive(Default, PartialEq, Serialize, Deserialize, Clone, Debug)]
    @@ -870,25 +871,25 @@
     }
     
     #[derive(Default, PartialEq, Serialize, Deserialize, Clone, Debug)]
    -/// User's traffic pattern; used in generating a captcha configuration
    +/// User's traffic pattern; used in generating a captcha configuration
     pub struct TrafficPattern {
    -    /// average traffic of user's website
    +    /// average traffic of user's website
         pub avg_traffic: u32,
    -    /// the peak traffic that the user's website can handle
    +    /// the peak traffic that the user's website can handle
         pub peak_sustainable_traffic: u32,
    -    /// traffic that bought the user's website down; optional
    +    /// traffic that bought the user's website down; optional
         pub broke_my_site_traffic: Option<u32>,
     }
     
     #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
     /// data required to create new captcha
    -pub struct CreateCaptcha<'a> {
    +pub struct CreateCaptcha<'a> {
         /// cool down duration
         pub duration: i32,
         /// description of the captcha
    -    pub description: &'a str,
    +    pub description: &'a str,
         /// secret key of the captcha
    -    pub key: &'a str,
    +    pub key: &'a str,
     }
     
     #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
    @@ -905,9 +906,9 @@
     }
     
     #[derive(Clone, Debug, Deserialize, PartialEq, Default, Serialize)]
    -/// datastructure representing a user's secret
    +/// datastructure representing a user's secret
     pub struct Secret {
    -    /// user's secret
    +    /// user's secret
         pub secret: String,
     }
     /// Trait to clone MCDatabase
    @@ -918,7 +919,7 @@
     
     impl<T> CloneSPDatabase for T
     where
    -    T: MCDatabase + Clone + 'static,
    +    T: MCDatabase + Clone + 'static,
     {
         fn clone_db(&self) -> Box<dyn MCDatabase> {
             Box::new(self.clone())
    diff --git a/src/db_core/ops.rs.html b/src/db_core/ops.rs.html
    index 60dbd0f0..e5700e37 100644
    --- a/src/db_core/ops.rs.html
    +++ b/src/db_core/ops.rs.html
    @@ -1,4 +1,5 @@
    -ops.rs - source
    1
    +ops.rs - source
    +    
    1
     2
     3
     4
    diff --git a/src/db_core/tests.rs.html b/src/db_core/tests.rs.html
    index 4549a690..f3337a9f 100644
    --- a/src/db_core/tests.rs.html
    +++ b/src/db_core/tests.rs.html
    @@ -1,4 +1,5 @@
    -tests.rs - source
    1
    +tests.rs - source
    +    
    1
     2
     3
     4
    @@ -497,21 +498,21 @@
     ];
     
     /// test all database functions
    -pub async fn database_works<'a, T: MCDatabase>(
    +pub async fn database_works<'a, T: MCDatabase>(
         db: &T,
    -    p: &Register<'a>,
    -    c: &CreateCaptcha<'a>,
    +    p: &Register<'a>,
    +    c: &CreateCaptcha<'a>,
         l: &[Level],
         tp: &TrafficPattern,
    -    an: &AddNotification<'a>,
    +    an: &AddNotification<'a>,
     ) {
    -    assert!(db.ping().await, "ping test");
    +    assert!(db.ping().await, "ping test");
     
         if db.username_exists(p.username).await.unwrap() {
             db.delete_user(p.username).await.unwrap();
             assert!(
                 !db.username_exists(p.username).await.unwrap(),
    -            "user is deleted so username shouldn't exist"
    +            "user is deleted so username shouldn't exist"
             );
         }
     
    @@ -526,7 +527,7 @@
     
         // testing get secret
         let secret = db.get_secret(p.username).await.unwrap();
    -    assert_eq!(secret.secret, p.secret, "user secret matches");
    +    assert_eq!(secret.secret, p.secret, "user secret matches");
     
         // testing update secret: setting secret = username
         db.update_secret(p.username, p.username).await.unwrap();
    @@ -534,24 +535,24 @@
         let secret = db.get_secret(p.username).await.unwrap();
         assert_eq!(
             secret.secret, p.username,
    -        "user secret matches username; as set by previous step"
    +        "user secret matches username; as set by previous step"
         );
     
         // testing get_password
     
         // with username
         let name_hash = db.get_password(&Login::Username(p.username)).await.unwrap();
    -    assert_eq!(name_hash.hash, p.hash, "user password matches");
    +    assert_eq!(name_hash.hash, p.hash, "user password matches");
     
    -    assert_eq!(name_hash.username, p.username, "username matches");
    +    assert_eq!(name_hash.username, p.username, "username matches");
     
         // with email
         let mut name_hash = db
             .get_password(&Login::Email(p.email.as_ref().unwrap()))
             .await
             .unwrap();
    -    assert_eq!(name_hash.hash, p.hash, "user password matches");
    -    assert_eq!(name_hash.username, p.username, "username matches");
    +    assert_eq!(name_hash.hash, p.hash, "user password matches");
    +    assert_eq!(name_hash.username, p.username, "username matches");
     
         // testing get_email
         assert_eq!(
    @@ -567,11 +568,11 @@
         // testing email exists
         assert!(
             db.email_exists(p.email.as_ref().unwrap()).await.unwrap(),
    -        "user is registered so email should exist"
    +        "user is registered so email should exist"
         );
         assert!(
             db.username_exists(p.username).await.unwrap(),
    -        "user is registered so username should exist"
    +        "user is registered so username should exist"
         );
     
         // update password test. setting password = username
    @@ -581,28 +582,28 @@
         let name_hash = db.get_password(&Login::Username(p.username)).await.unwrap();
         assert_eq!(
             name_hash.hash, p.username,
    -        "user password matches with changed value"
    +        "user password matches with changed value"
         );
    -    assert_eq!(name_hash.username, p.username, "username matches");
    +    assert_eq!(name_hash.username, p.username, "username matches");
     
         // update username to p.email
         assert!(
             !db.username_exists(p.email.as_ref().unwrap()).await.unwrap(),
    -        "user with p.email doesn't exist. pre-check to update username to p.email"
    +        "user with p.email doesn't exist. pre-check to update username to p.email"
         );
         db.update_username(p.username, p.email.as_ref().unwrap())
             .await
             .unwrap();
         assert!(
             db.username_exists(p.email.as_ref().unwrap()).await.unwrap(),
    -        "user with p.email exist post-update"
    +        "user with p.email exist post-update"
         );
     
         // deleting user for re-registration with email = None
         db.delete_user(p.email.as_ref().unwrap()).await.unwrap();
         assert!(
             !db.username_exists(p.email.as_ref().unwrap()).await.unwrap(),
    -        "user is deleted so username shouldn't exist"
    +        "user is deleted so username shouldn't exist"
         );
     
         // register with email = None
    @@ -611,11 +612,11 @@
         db.register(&p2).await.unwrap();
         assert!(
             db.username_exists(p2.username).await.unwrap(),
    -        "user is registered so username should exist"
    +        "user is registered so username should exist"
         );
         assert!(
             !db.email_exists(p.email.as_ref().unwrap()).await.unwrap(),
    -        "user registration with email is deleted; so email shouldn't exist"
    +        "user registration with email is deleted; so email shouldn't exist"
         );
     
         // testing get_email = None
    @@ -628,12 +629,12 @@
         };
         db.update_email(&update_email).await.unwrap();
         println!(
    -        "null user email: {}",
    +        "null user email: {}",
             db.email_exists(p.email.as_ref().unwrap()).await.unwrap()
         );
         assert!(
             db.email_exists(p.email.as_ref().unwrap()).await.unwrap(),
    -        "user was with empty email but email is set; so email should exist"
    +        "user was with empty email but email is set; so email should exist"
         );
     
         /*
    @@ -666,7 +667,7 @@
     
         // get secret from captcha key
         let secret_from_captcha = db.get_secret_from_captcha(&c.key).await.unwrap();
    -    assert_eq!(secret_from_captcha.secret, p.secret, "user secret matches");
    +    assert_eq!(secret_from_captcha.secret, p.secret, "user secret matches");
     
         // get captcha configuration
         let captcha = db.get_captcha_config(p.username, c.key).await.unwrap();
    @@ -701,7 +702,7 @@
                 db.get_traffic_pattern(p.username, c.key).await,
                 Err(DBError::TrafficPatternNotFound)
             ),
    -        "deletion successful; traffic pattern no longer exists"
    +        "deletion successful; traffic pattern no longer exists"
         );
     
         // add captcha levels
    @@ -777,7 +778,7 @@
         let analytics = CreatePerformanceAnalytics {
             time: 1,
             difficulty_factor: 1,
    -        worker_type: "wasm".into(),
    +        worker_type: "wasm".into(),
         };
     
         assert_eq!(
    @@ -823,22 +824,22 @@
             CreatePerformanceAnalytics {
                 time: 2,
                 difficulty_factor: 2,
    -            worker_type: "wasm".into(),
    +            worker_type: "wasm".into(),
             },
             CreatePerformanceAnalytics {
                 time: 3,
                 difficulty_factor: 3,
    -            worker_type: "wasm".into(),
    +            worker_type: "wasm".into(),
             },
             CreatePerformanceAnalytics {
                 time: 4,
                 difficulty_factor: 4,
    -            worker_type: "wasm".into(),
    +            worker_type: "wasm".into(),
             },
             CreatePerformanceAnalytics {
                 time: 5,
                 difficulty_factor: 5,
    -            worker_type: "wasm".into(),
    +            worker_type: "wasm".into(),
             },
         ];
         for a in rest_analytics.iter() {
    @@ -909,7 +910,7 @@
         db.update_captcha_key(p.username, c.key, p.username)
             .await
             .unwrap();
    -    // checking for captcha with old key; shouldn't exist
    +    // checking for captcha with old key; shouldn't exist
         assert!(!db.captcha_exists(Some(p.username), c.key).await.unwrap());
         // checking for captcha with new key; shouldn exist
         assert!(db
    diff --git a/src/db_sqlx_maria/errors.rs.html b/src/db_sqlx_maria/errors.rs.html
    index a5045213..80b86188 100644
    --- a/src/db_sqlx_maria/errors.rs.html
    +++ b/src/db_sqlx_maria/errors.rs.html
    @@ -1,4 +1,5 @@
    -errors.rs - source
    1
    +errors.rs - source
    +    
    1
     2
     3
     4
    @@ -64,15 +65,15 @@
     /// map postgres errors to [DBError](DBError) types
     pub fn map_register_err(e: Error) -> DBError {
         if let Error::Database(err) = e {
    -        if err.code() == Some(Cow::from("23000")) {
    +        if err.code() == Some(Cow::from("23000")) {
                 let msg = err.message();
    -            if msg.contains("for key 'name'") {
    +            if msg.contains("for key 'name'") {
                     DBError::UsernameTaken
    -            } else if msg.contains("for key 'email'") {
    +            } else if msg.contains("for key 'email'") {
                     DBError::EmailTaken
    -            } else if msg.contains("for key 'secret'") {
    +            } else if msg.contains("for key 'secret'") {
                     DBError::SecretTaken
    -            } else if msg.contains("for key 'captcha_key'") {
    +            } else if msg.contains("for key 'captcha_key'") {
                     DBError::CaptchaKeyTaken
                 } else {
                     DBError::DBError(Box::new(Error::Database(err)))
    diff --git a/src/db_sqlx_maria/lib.rs.html b/src/db_sqlx_maria/lib.rs.html
    index 27a13461..adbd84fa 100644
    --- a/src/db_sqlx_maria/lib.rs.html
    +++ b/src/db_sqlx_maria/lib.rs.html
    @@ -1,4 +1,5 @@
    -lib.rs - source
    1
    +lib.rs - source
    +    
    1
     2
     3
     4
    @@ -1483,7 +1484,7 @@
     #[async_trait]
     impl Migrate for Database {
         async fn migrate(&self) -> DBResult<()> {
    -        sqlx::migrate!("./migrations/")
    +        sqlx::migrate!("./migrations/")
                 .run(&self.pool)
                 .await
                 .map_err(|e| DBError::DBError(Box::new(e)))?;
    @@ -1508,8 +1509,8 @@
         async fn register(&self, p: &Register) -> DBResult<()> {
             let res = if let Some(email) = &p.email {
                 sqlx::query!(
    -                "insert into mcaptcha_users 
    -        (name , password, email, secret) values (?, ?, ?, ?)",
    +                "insert into mcaptcha_users 
    +        (name , password, email, secret) values (?, ?, ?, ?)",
                     &p.username,
                     &p.hash,
                     &email,
    @@ -1519,8 +1520,8 @@
                 .await
             } else {
                 sqlx::query!(
    -                "INSERT INTO mcaptcha_users 
    -        (name , password,  secret) VALUES (?, ?, ?)",
    +                "INSERT INTO mcaptcha_users 
    +        (name , password,  secret) VALUES (?, ?, ?)",
                     &p.username,
                     &p.hash,
                     &p.secret,
    @@ -1534,7 +1535,7 @@
     
         /// delete a user
         async fn delete_user(&self, username: &str) -> DBResult<()> {
    -        sqlx::query!("DELETE FROM mcaptcha_users WHERE name = (?)", username)
    +        sqlx::query!("DELETE FROM mcaptcha_users WHERE name = (?)", username)
                 .execute(&self.pool)
                 .await
                 .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
    @@ -1543,7 +1544,7 @@
     
         /// check if username exists
         async fn username_exists(&self, username: &str) -> DBResult<bool> {
    -        match sqlx::query!("SELECT name from mcaptcha_users WHERE name = ?", username,)
    +        match sqlx::query!("SELECT name from mcaptcha_users WHERE name = ?", username,)
                 .fetch_one(&self.pool)
                 .await
             {
    @@ -1561,7 +1562,7 @@
     
             let res = sqlx::query_as!(
                 Email,
    -            "SELECT email FROM mcaptcha_users WHERE name = ?",
    +            "SELECT email FROM mcaptcha_users WHERE name = ?",
                 username
             )
             .fetch_one(&self.pool)
    @@ -1572,7 +1573,7 @@
     
         /// check if email exists
         async fn email_exists(&self, email: &str) -> DBResult<bool> {
    -        match sqlx::query!("SELECT name from mcaptcha_users WHERE email = ?", email)
    +        match sqlx::query!("SELECT name from mcaptcha_users WHERE email = ?", email)
                 .fetch_one(&self.pool)
                 .await
             {
    @@ -1582,11 +1583,11 @@
             }
         }
     
    -    /// update a user's email
    +    /// update a user's email
         async fn update_email(&self, p: &UpdateEmail) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_users set email = ?
    -            WHERE name = ?",
    +            "UPDATE mcaptcha_users set email = ?
    +            WHERE name = ?",
                 &p.new_email,
                 &p.username,
             )
    @@ -1597,7 +1598,7 @@
             Ok(())
         }
     
    -    /// get a user's password
    +    /// get a user's password
         async fn get_password(&self, l: &Login) -> DBResult<NameHash> {
             struct Password {
                 name: String,
    @@ -1607,7 +1608,7 @@
             let rec = match l {
                 Login::Username(u) => sqlx::query_as!(
                     Password,
    -                r#"SELECT name, password  FROM mcaptcha_users WHERE name = ?"#,
    +                r#"SELECT name, password  FROM mcaptcha_users WHERE name = ?"#,
                     u,
                 )
                 .fetch_one(&self.pool)
    @@ -1616,7 +1617,7 @@
     
                 Login::Email(e) => sqlx::query_as!(
                     Password,
    -                r#"SELECT name, password  FROM mcaptcha_users WHERE email = ?"#,
    +                r#"SELECT name, password  FROM mcaptcha_users WHERE email = ?"#,
                     e,
                 )
                 .fetch_one(&self.pool)
    @@ -1632,11 +1633,11 @@
             Ok(res)
         }
     
    -    /// update user's password
    +    /// update user's password
         async fn update_password(&self, p: &NameHash) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_users set password = ?
    -            WHERE name = ?",
    +            "UPDATE mcaptcha_users set password = ?
    +            WHERE name = ?",
                 &p.hash,
                 &p.username,
             )
    @@ -1650,8 +1651,8 @@
         /// update username
         async fn update_username(&self, current: &str, new: &str) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_users set name = ?
    -            WHERE name = ?",
    +            "UPDATE mcaptcha_users set name = ?
    +            WHERE name = ?",
                 new,
                 current,
             )
    @@ -1662,11 +1663,11 @@
             Ok(())
         }
     
    -    /// get a user's secret
    +    /// get a user's secret
         async fn get_secret(&self, username: &str) -> DBResult<Secret> {
             let secret = sqlx::query_as!(
                 Secret,
    -            r#"SELECT secret  FROM mcaptcha_users WHERE name = ?"#,
    +            r#"SELECT secret  FROM mcaptcha_users WHERE name = ?"#,
                 username,
             )
             .fetch_one(&self.pool)
    @@ -1676,13 +1677,13 @@
             Ok(secret)
         }
     
    -    /// get a user's secret from a captcha key
    +    /// get a user's secret from a captcha key
         async fn get_secret_from_captcha(&self, key: &str) -> DBResult<Secret> {
             let secret = sqlx::query_as!(
                 Secret,
    -            r#"SELECT secret  FROM mcaptcha_users WHERE ID = (
    +            r#"SELECT secret  FROM mcaptcha_users WHERE ID = (
                         SELECT user_id FROM mcaptcha_config WHERE captcha_key = ?
    -                    )"#,
    +                    )"#,
                 key,
             )
             .fetch_one(&self.pool)
    @@ -1692,11 +1693,11 @@
             Ok(secret)
         }
     
    -    /// update a user's secret
    +    /// update a user's secret
         async fn update_secret(&self, username: &str, secret: &str) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_users set secret = ?
    -        WHERE name = ?",
    +            "UPDATE mcaptcha_users set secret = ?
    +        WHERE name = ?",
                 &secret,
                 &username,
             )
    @@ -1710,9 +1711,9 @@
         /// create new captcha
         async fn create_captcha(&self, username: &str, p: &CreateCaptcha) -> DBResult<()> {
             sqlx::query!(
    -            "INSERT INTO mcaptcha_config
    +            "INSERT INTO mcaptcha_config
             (`captcha_key`, `user_id`, `duration`, `name`)
    -        VALUES (?, (SELECT ID FROM mcaptcha_users WHERE name = ?), ?, ?)",
    +        VALUES (?, (SELECT ID FROM mcaptcha_users WHERE name = ?), ?, ?)",
                 p.key,
                 username,
                 p.duration as i32,
    @@ -1729,9 +1730,9 @@
         async fn get_captcha_config(&self, username: &str, key: &str) -> DBResult<Captcha> {
             let captcha = sqlx::query_as!(
                 InternaleCaptchaConfig,
    -            "SELECT `config_id`, `duration`, `name`, `captcha_key` from mcaptcha_config WHERE
    +            "SELECT `config_id`, `duration`, `name`, `captcha_key` from mcaptcha_config WHERE
                             `captcha_key` = ? AND
    -                        user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?) ",
    +                        user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?) ",
                 &key,
                 &username,
             )
    @@ -1746,8 +1747,8 @@
         async fn get_all_user_captchas(&self, username: &str) -> DBResult<Vec<Captcha>> {
             let mut res = sqlx::query_as!(
                 InternaleCaptchaConfig,
    -            "SELECT captcha_key, name, config_id, duration FROM mcaptcha_config WHERE
    -            user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?) ",
    +            "SELECT captcha_key, name, config_id, duration FROM mcaptcha_config WHERE
    +            user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?) ",
                 &username,
             )
             .fetch_all(&self.pool)
    @@ -1761,16 +1762,16 @@
             Ok(captchas)
         }
     
    -    /// update captcha metadata; doesn't change captcha key
    +    /// update captcha metadata; doesn't change captcha key
         async fn update_captcha_metadata(
             &self,
             username: &str,
             p: &CreateCaptcha,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_config SET name = ?, duration = ?
    +            "UPDATE mcaptcha_config SET name = ?, duration = ?
                 WHERE user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)
    -            AND captcha_key = ?",
    +            AND captcha_key = ?",
                 p.description,
                 p.duration,
                 username,
    @@ -1783,7 +1784,7 @@
             Ok(())
         }
     
    -    /// update captcha key; doesn't change metadata
    +    /// update captcha key; doesn't change metadata
         async fn update_captcha_key(
             &self,
             username: &str,
    @@ -1791,8 +1792,8 @@
             new_key: &str,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_config SET captcha_key = ? 
    -        WHERE captcha_key = ? AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)",
    +            "UPDATE mcaptcha_config SET captcha_key = ? 
    +        WHERE captcha_key = ? AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)",
                 new_key,
                 old_key,
                 username,
    @@ -1818,7 +1819,7 @@
                 let difficulty_factor = level.difficulty_factor as i32;
                 let visitor_threshold = level.visitor_threshold as i32;
                 let fut = sqlx::query!(
    -                "INSERT INTO mcaptcha_levels (
    +                "INSERT INTO mcaptcha_levels (
                 difficulty_factor, 
                 visitor_threshold,
                 config_id) VALUES  (
    @@ -1826,7 +1827,7 @@
                     SELECT config_id FROM mcaptcha_config WHERE
                     captcha_key = (?) AND user_id = (
                     SELECT ID FROM mcaptcha_users WHERE name = ?
    -                    )));",
    +                    )));",
                     difficulty_factor,
                     visitor_threshold,
                     &captcha_key,
    @@ -1846,7 +1847,7 @@
                 let difficulty_factor = level.difficulty_factor as i32;
                 let visitor_threshold = level.visitor_threshold as i32;
                 let fut = sqlx::query!(
    -                "INSERT INTO
    +                "INSERT INTO
                         mcaptcha_track_nonce (level_id, nonce)
                     VALUES  ((
                         SELECT
    @@ -1859,7 +1860,7 @@
                             difficulty_factor = ?
                         AND
                             visitor_threshold = ?
    -                    ), ?);",
    +                    ), ?);",
                     &captcha_key,
                     difficulty_factor,
                     visitor_threshold,
    @@ -1892,10 +1893,10 @@
                 Some(username) => {
                     sqlx::query_as!(
                         ConfigId,
    -                    "SELECT config_id FROM mcaptcha_config
    +                    "SELECT config_id FROM mcaptcha_config
                             WHERE
                                 captcha_key = ? 
    -                        AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)",
    +                        AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)",
                         captcha_key,
                         username
                     )
    @@ -1909,7 +1910,7 @@
                 None => {
                     sqlx::query_as!(
                         ConfigId,
    -                    "SELECT config_id from mcaptcha_config WHERE captcha_key = ?",
    +                    "SELECT config_id from mcaptcha_config WHERE captcha_key = ?",
                         &captcha_key,
                     )
                     .fetch_one(&self.pool)
    @@ -1932,13 +1933,13 @@
             captcha_key: &str,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "DELETE FROM mcaptcha_levels 
    +            "DELETE FROM mcaptcha_levels 
             WHERE config_id = (
                 SELECT config_id FROM mcaptcha_config where captcha_key= (?) 
                 AND user_id = (
                 SELECT ID from mcaptcha_users WHERE name = ?
                 )
    -            )",
    +            )",
                 captcha_key,
                 username
             )
    @@ -1952,9 +1953,9 @@
         /// Delete captcha
         async fn delete_captcha(&self, username: &str, captcha_key: &str) -> DBResult<()> {
             sqlx::query!(
    -            "DELETE FROM mcaptcha_config where captcha_key= (?)
    +            "DELETE FROM mcaptcha_config where captcha_key= (?)
                     AND
    -            user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)",
    +            user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)",
                 captcha_key,
                 username,
             )
    @@ -1978,10 +1979,10 @@
             let levels = match username {
                 None => sqlx::query_as!(
                     I32Levels,
    -                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
    +                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
                 config_id = (
                     SELECT config_id FROM mcaptcha_config where captcha_key= (?)
    -                ) ORDER BY difficulty_factor ASC;",
    +                ) ORDER BY difficulty_factor ASC;",
                     captcha_key,
                 )
                 .fetch_all(&self.pool)
    @@ -1990,12 +1991,12 @@
     
                 Some(username) => sqlx::query_as!(
                     I32Levels,
    -                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
    +                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
                 config_id = (
                     SELECT config_id FROM mcaptcha_config where captcha_key= (?)
                     AND user_id = (SELECT ID from mcaptcha_users WHERE name = ?)
                     )
    -            ORDER BY difficulty_factor ASC;",
    +            ORDER BY difficulty_factor ASC;",
                     captcha_key,
                     username
                 )
    @@ -2014,7 +2015,7 @@
             Ok(new_levels)
         }
     
    -    /// Get captcha's cooldown period
    +    /// Get captcha's cooldown period
         async fn get_captcha_cooldown(&self, captcha_key: &str) -> DBResult<i32> {
             struct DurationResp {
                 duration: i32,
    @@ -2022,8 +2023,8 @@
     
             let resp = sqlx::query_as!(
                 DurationResp,
    -            "SELECT duration FROM mcaptcha_config  
    -            where captcha_key= ?",
    +            "SELECT duration FROM mcaptcha_config  
    +            where captcha_key= ?",
                 captcha_key,
             )
             .fetch_one(&self.pool)
    @@ -2040,7 +2041,7 @@
             pattern: &TrafficPattern,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "INSERT INTO mcaptcha_sitekey_user_provided_avg_traffic (
    +            "INSERT INTO mcaptcha_sitekey_user_provided_avg_traffic (
                 config_id,
                 avg_traffic,
                 peak_sustainable_traffic,
    @@ -2048,7 +2049,7 @@
                 ) VALUES ( 
                  (SELECT config_id FROM mcaptcha_config where captcha_key= (?)
                  AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)
    -            ), ?, ?, ?)",
    +            ), ?, ?, ?)",
                 //payload.avg_traffic,
                 captcha_key,
                 username,
    @@ -2075,7 +2076,7 @@
             }
             let res = sqlx::query_as!(
                 Traffic,
    -            "SELECT 
    +            "SELECT 
               avg_traffic, 
               peak_sustainable_traffic, 
               broke_my_site_traffic 
    @@ -2098,7 +2099,7 @@
                       NAME = ?
                   )
               )
    -        ",
    +        ",
                 captcha_key,
                 username
             )
    @@ -2119,7 +2120,7 @@
             captcha_key: &str,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "DELETE FROM mcaptcha_sitekey_user_provided_avg_traffic
    +            "DELETE FROM mcaptcha_sitekey_user_provided_avg_traffic
             WHERE config_id = (
                 SELECT config_id 
                 FROM 
    @@ -2128,7 +2129,7 @@
                     captcha_key = ?
                 AND 
                     user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)
    -            );",
    +            );",
                 captcha_key,
                 username,
             )
    @@ -2142,14 +2143,14 @@
         async fn create_notification(&self, p: &AddNotification) -> DBResult<()> {
             let now = now_unix_time_stamp();
             sqlx::query!(
    -            "INSERT INTO mcaptcha_notifications (
    +            "INSERT INTO mcaptcha_notifications (
                   heading, message, tx, rx, received)
                   VALUES  (
                   ?, ?,
                       (SELECT ID FROM mcaptcha_users WHERE name = ?),
                       (SELECT ID FROM mcaptcha_users WHERE name = ?),
                       ?
    -                      );",
    +                      );",
                 p.heading,
                 p.message,
                 p.from,
    @@ -2170,7 +2171,7 @@
         ) -> DBResult<Vec<Notification>> {
             let mut inner_notifications = sqlx::query_file_as!(
                 InnerNotification,
    -            "./src/get_all_unread_notifications.sql",
    +            "./src/get_all_unread_notifications.sql",
                 &username
             )
             .fetch_all(&self.pool)
    @@ -2190,7 +2191,7 @@
         async fn mark_notification_read(&self, username: &str, id: i32) -> DBResult<()> {
             sqlx::query_file_as!(
                 Notification,
    -            "./src/mark_notification_read.sql",
    +            "./src/mark_notification_read.sql",
                 id,
                 &username
             )
    @@ -2205,8 +2206,8 @@
         async fn record_fetch(&self, key: &str) -> DBResult<()> {
             let now = now_unix_time_stamp();
             let _ = sqlx::query!(
    -        "INSERT INTO mcaptcha_pow_fetched_stats 
    -        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?)",
    +        "INSERT INTO mcaptcha_pow_fetched_stats 
    +        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?)",
             key,
             &now,
         )
    @@ -2220,8 +2221,8 @@
         async fn record_solve(&self, key: &str) -> DBResult<()> {
             let now = OffsetDateTime::now_utc();
             let _ = sqlx::query!(
    -        "INSERT INTO mcaptcha_pow_solved_stats 
    -        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?)",
    +        "INSERT INTO mcaptcha_pow_solved_stats 
    +        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?)",
             key,
             &now,
         )
    @@ -2235,8 +2236,8 @@
         async fn record_confirm(&self, key: &str) -> DBResult<()> {
             let now = now_unix_time_stamp();
             let _ = sqlx::query!(
    -        "INSERT INTO mcaptcha_pow_confirmed_stats 
    -        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?)",
    +        "INSERT INTO mcaptcha_pow_confirmed_stats 
    +        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?)",
             key,
             &now
         )
    @@ -2250,7 +2251,7 @@
         async fn fetch_config_fetched(&self, user: &str, key: &str) -> DBResult<Vec<i64>> {
             let records = sqlx::query_as!(
                 Date,
    -            "SELECT time FROM mcaptcha_pow_fetched_stats
    +            "SELECT time FROM mcaptcha_pow_fetched_stats
                 WHERE 
                     config_id = (
                         SELECT 
    @@ -2261,7 +2262,7 @@
                             user_id = (
                             SELECT 
                                 ID FROM mcaptcha_users WHERE name = ?))
    -                ORDER BY time DESC",
    +                ORDER BY time DESC",
                 &key,
                 &user,
             )
    @@ -2276,7 +2277,7 @@
         async fn fetch_solve(&self, user: &str, key: &str) -> DBResult<Vec<i64>> {
             let records = sqlx::query_as!(
                 Date,
    -            "SELECT time FROM mcaptcha_pow_solved_stats 
    +            "SELECT time FROM mcaptcha_pow_solved_stats 
                 WHERE config_id = (
                     SELECT config_id FROM mcaptcha_config 
                     WHERE 
    @@ -2285,7 +2286,7 @@
                          user_id = (
                             SELECT 
                                 ID FROM mcaptcha_users WHERE name = ?)) 
    -                ORDER BY time DESC",
    +                ORDER BY time DESC",
                 &key,
                 &user
             )
    @@ -2300,7 +2301,7 @@
         async fn fetch_confirm(&self, user: &str, key: &str) -> DBResult<Vec<i64>> {
             let records = sqlx::query_as!(
                 Date,
    -            "SELECT time FROM mcaptcha_pow_confirmed_stats 
    +            "SELECT time FROM mcaptcha_pow_confirmed_stats 
                 WHERE 
                     config_id = (
                         SELECT config_id FROM mcaptcha_config 
    @@ -2310,7 +2311,7 @@
                          user_id = (
                             SELECT 
                                 ID FROM mcaptcha_users WHERE name = ?))
    -                ORDER BY time DESC",
    +                ORDER BY time DESC",
                 &key,
                 &user
             )
    @@ -2328,9 +2329,9 @@
             d: &CreatePerformanceAnalytics,
         ) -> DBResult<()> {
             let _ = sqlx::query!(
    -            "INSERT INTO mcaptcha_pow_analytics 
    +            "INSERT INTO mcaptcha_pow_analytics 
                 (config_id, time, difficulty_factor, worker_type)
    -        VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?, ?, ?)",
    +        VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?, ?, ?)",
                 captcha_id,
                 d.time as i32,
                 d.difficulty_factor as i32,
    @@ -2369,7 +2370,7 @@
     
             let mut c = sqlx::query_as!(
                 P,
    -            "SELECT
    +            "SELECT
                     id, time, difficulty_factor, worker_type
                 FROM
                     mcaptcha_pow_analytics
    @@ -2378,7 +2379,7 @@
                         SELECT config_id FROM mcaptcha_config WHERE captcha_key = ?
                     ) 
                 ORDER BY ID
    -            LIMIT ? OFFSET ?",
    +            LIMIT ? OFFSET ?",
                 &captcha_id,
                 limit as i64,
                 offset as i64,
    @@ -2401,13 +2402,13 @@
         ) -> DBResult<()> {
             let id = Uuid::new_v4();
             sqlx::query!(
    -            "
    +            "
                 INSERT INTO
                     mcaptcha_psuedo_campaign_id (config_id, psuedo_id)
                 VALUES (
                     (SELECT config_id FROM mcaptcha_config WHERE captcha_key = (?)),
                     ?
    -            );",
    +            );",
                 captcha_id,
                 &id.to_string(),
             )
    @@ -2425,11 +2426,11 @@
         ) -> DBResult<String> {
             let res = sqlx::query_as!(
                 PsuedoID,
    -            "SELECT psuedo_id FROM
    +            "SELECT psuedo_id FROM
                     mcaptcha_psuedo_campaign_id
                 WHERE
                      config_id = (SELECT config_id FROM mcaptcha_config WHERE captcha_key = (?));
    -            ",
    +            ",
                 captcha_id
             ).fetch_one(&self.pool)
             .await
    @@ -2449,7 +2450,7 @@
     
             let res = sqlx::query_as!(
                 ID,
    -            "SELECT
    +            "SELECT
                     captcha_key
                 FROM
                     mcaptcha_config
    @@ -2461,7 +2462,7 @@
                              mcaptcha_psuedo_campaign_id
                          WHERE
                              psuedo_id = ?
    -                 );",
    +                 );",
                 psuedo_id
             )
             .fetch_one(&self.pool)
    @@ -2475,25 +2476,25 @@
             campaign_id: &str,
         ) -> DBResult<()> {
             let _ = sqlx::query!(
    -            "
    +            "
             DELETE FROM
                 mcaptcha_psuedo_campaign_id
             WHERE config_id = (
                 SELECT config_id FROM mcaptcha_config WHERE captcha_key = ?
    -        );",
    +        );",
                 campaign_id
             )
             .execute(&self.pool)
             .await;
     
             let _ = sqlx::query!(
    -            "
    +            "
                 DELETE FROM
                     mcaptcha_pow_analytics
                 WHERE
                     config_id = (
                         SELECT config_id FROM mcaptcha_config WHERE captcha_key = ?
    -            ) ",
    +            ) ",
                 campaign_id
             )
             .execute(&self.pool)
    @@ -2508,12 +2509,12 @@
     
             let mut res = sqlx::query_as!(
                 PsuedoID,
    -            "
    +            "
                     SELECT
                         psuedo_id
                     FROM
                         mcaptcha_psuedo_campaign_id
    -                    ORDER BY ID ASC LIMIT ? OFFSET ?;",
    +                    ORDER BY ID ASC LIMIT ? OFFSET ?;",
                 LIMIT as i64,
                 offset as i64
             )
    @@ -2533,7 +2534,7 @@
         ) -> DBResult<()> {
             let latest_nonce = latest_nonce as i64;
             sqlx::query!(
    -                "UPDATE mcaptcha_track_nonce SET nonce = ?
    +                "UPDATE mcaptcha_track_nonce SET nonce = ?
                     WHERE level_id =  (
                         SELECT
                             level_id
    @@ -2544,7 +2545,7 @@
                         AND
                             difficulty_factor = ?
                         )
    -                AND nonce <= ?;",
    +                AND nonce <= ?;",
                     latest_nonce,
                     &captcha_key,
                     difficulty_factor as i64,
    @@ -2573,7 +2574,7 @@
             ) -> DBResult<X> {
                 sqlx::query_as!(
                     X,
    -                "SELECT nonce FROM mcaptcha_track_nonce
    +                "SELECT nonce FROM mcaptcha_track_nonce
                     WHERE level_id =  (
                         SELECT
                             level_id
    @@ -2583,7 +2584,7 @@
                             config_id = (SELECT config_id FROM mcaptcha_config WHERE captcha_key = ?)
                         AND
                             difficulty_factor = ?
    -                    );",
    +                    );",
                     &captcha_key,
                     difficulty_factor as i32,
                 )
    @@ -2594,7 +2595,7 @@
             let res = inner_get_max_nonce(&self.pool, captcha_key, difficulty_factor).await;
             if let Err(DBError::CaptchaNotFound) = res {
                 sqlx::query!(
    -                "INSERT INTO
    +                "INSERT INTO
                         mcaptcha_track_nonce (level_id, nonce)
                     VALUES  ((
                         SELECT
    @@ -2605,7 +2606,7 @@
                             config_id = (SELECT config_id FROM mcaptcha_config WHERE captcha_key =?)
                         AND
                             difficulty_factor = ?
    -                    ), ?);",
    +                    ), ?);",
                     &captcha_key,
                     difficulty_factor as i32,
                     0,
    @@ -2629,14 +2630,14 @@
                 count: Option<i64>,
             }
     
    -        //"SELECT COUNT(*) FROM (SELECT difficulty_factor FROM mcaptcha_pow_analytics WHERE time <= ?) as count",
    +        //"SELECT COUNT(*) FROM (SELECT difficulty_factor FROM mcaptcha_pow_analytics WHERE time <= ?) as count",
             let count = sqlx::query_as!(
                 Count,
    -            "SELECT
    +            "SELECT
                     COUNT(difficulty_factor) AS count
                 FROM
                     mcaptcha_pow_analytics
    -            WHERE time <= ?;",
    +            WHERE time <= ?;",
                 duration as i32,
             )
             .fetch_one(&self.pool)
    @@ -2659,13 +2660,13 @@
     
             match sqlx::query_as!(
                 Difficulty,
    -            "SELECT
    +            "SELECT
                 difficulty_factor
             FROM
                 mcaptcha_pow_analytics
             WHERE
                 time <= ?
    -        ORDER BY difficulty_factor ASC LIMIT 1 OFFSET ?;",
    +        ORDER BY difficulty_factor ASC LIMIT 1 OFFSET ?;",
                 duration as i32,
                 location as i64 - 1,
             )
    @@ -2694,7 +2695,7 @@
             }
             let mut inner_res = sqlx::query_as!(
                 InnerEasyCaptcha,
    -                "SELECT 
    +                "SELECT 
                   mcaptcha_sitekey_user_provided_avg_traffic.avg_traffic, 
                   mcaptcha_sitekey_user_provided_avg_traffic.peak_sustainable_traffic, 
                   mcaptcha_sitekey_user_provided_avg_traffic.broke_my_site_traffic,
    @@ -2712,7 +2713,7 @@
                 ON
                     mcaptcha_config.user_id = mcaptcha_users.ID
                 ORDER BY mcaptcha_config.config_id
    -            LIMIT ? OFFSET ?",
    +            LIMIT ? OFFSET ?",
                 limit as i64,
                 offset as i64
             )
    diff --git a/src/db_sqlx_postgres/errors.rs.html b/src/db_sqlx_postgres/errors.rs.html
    index 3be97168..ec5283cc 100644
    --- a/src/db_sqlx_postgres/errors.rs.html
    +++ b/src/db_sqlx_postgres/errors.rs.html
    @@ -1,4 +1,5 @@
    -errors.rs - source
    1
    +errors.rs - source
    +    
    1
     2
     3
     4
    @@ -65,16 +66,16 @@
     /// map postgres errors to [DBError](DBError) types
     pub fn map_register_err(e: Error) -> DBError {
         if let Error::Database(err) = e {
    -        if err.code() == Some(Cow::from("23505")) {
    +        if err.code() == Some(Cow::from("23505")) {
                 let msg = err.message();
    -            println!("{}", msg);
    -            if msg.contains("mcaptcha_users_name_key") {
    +            println!("{}", msg);
    +            if msg.contains("mcaptcha_users_name_key") {
                     DBError::UsernameTaken
    -            } else if msg.contains("mcaptcha_users_email_key") {
    +            } else if msg.contains("mcaptcha_users_email_key") {
                     DBError::EmailTaken
    -            } else if msg.contains("mcaptcha_users_secret_key") {
    +            } else if msg.contains("mcaptcha_users_secret_key") {
                     DBError::SecretTaken
    -            } else if msg.contains("mcaptcha_config_key_key") {
    +            } else if msg.contains("mcaptcha_config_key_key") {
                     DBError::CaptchaKeyTaken
                 } else {
                     DBError::DBError(Box::new(Error::Database(err)))
    diff --git a/src/db_sqlx_postgres/lib.rs.html b/src/db_sqlx_postgres/lib.rs.html
    index 5e6e362b..adaf7ca1 100644
    --- a/src/db_sqlx_postgres/lib.rs.html
    +++ b/src/db_sqlx_postgres/lib.rs.html
    @@ -1,4 +1,5 @@
    -lib.rs - source
    1
    +lib.rs - source
    +    
    1
     2
     3
     4
    @@ -1493,7 +1494,7 @@
     #[async_trait]
     impl Migrate for Database {
         async fn migrate(&self) -> DBResult<()> {
    -        sqlx::migrate!("./migrations/")
    +        sqlx::migrate!("./migrations/")
                 .run(&self.pool)
                 .await
                 .map_err(|e| DBError::DBError(Box::new(e)))?;
    @@ -1518,8 +1519,8 @@
         async fn register(&self, p: &Register) -> DBResult<()> {
             let res = if let Some(email) = &p.email {
                 sqlx::query!(
    -                "insert into mcaptcha_users 
    -        (name , password, email, secret) values ($1, $2, $3, $4)",
    +                "insert into mcaptcha_users 
    +        (name , password, email, secret) values ($1, $2, $3, $4)",
                     &p.username,
                     &p.hash,
                     &email,
    @@ -1529,8 +1530,8 @@
                 .await
             } else {
                 sqlx::query!(
    -                "INSERT INTO mcaptcha_users 
    -        (name , password,  secret) VALUES ($1, $2, $3)",
    +                "INSERT INTO mcaptcha_users 
    +        (name , password,  secret) VALUES ($1, $2, $3)",
                     &p.username,
                     &p.hash,
                     &p.secret,
    @@ -1544,7 +1545,7 @@
     
         /// delete a user
         async fn delete_user(&self, username: &str) -> DBResult<()> {
    -        sqlx::query!("DELETE FROM mcaptcha_users WHERE name = ($1)", username)
    +        sqlx::query!("DELETE FROM mcaptcha_users WHERE name = ($1)", username)
                 .execute(&self.pool)
                 .await
                 .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
    @@ -1554,7 +1555,7 @@
         /// check if username exists
         async fn username_exists(&self, username: &str) -> DBResult<bool> {
             let res = sqlx::query!(
    -            "SELECT EXISTS (SELECT 1 from mcaptcha_users WHERE name = $1)",
    +            "SELECT EXISTS (SELECT 1 from mcaptcha_users WHERE name = $1)",
                 username,
             )
             .fetch_one(&self.pool)
    @@ -1577,7 +1578,7 @@
     
             let res = sqlx::query_as!(
                 Email,
    -            "SELECT email FROM mcaptcha_users WHERE name = $1",
    +            "SELECT email FROM mcaptcha_users WHERE name = $1",
                 username
             )
             .fetch_one(&self.pool)
    @@ -1589,7 +1590,7 @@
         /// check if email exists
         async fn email_exists(&self, email: &str) -> DBResult<bool> {
             let res = sqlx::query!(
    -            "SELECT EXISTS (SELECT 1 from mcaptcha_users WHERE email = $1)",
    +            "SELECT EXISTS (SELECT 1 from mcaptcha_users WHERE email = $1)",
                 email
             )
             .fetch_one(&self.pool)
    @@ -1604,11 +1605,11 @@
             Ok(resp)
         }
     
    -    /// update a user's email
    +    /// update a user's email
         async fn update_email(&self, p: &UpdateEmail) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_users set email = $1
    -            WHERE name = $2",
    +            "UPDATE mcaptcha_users set email = $1
    +            WHERE name = $2",
                 &p.new_email,
                 &p.username,
             )
    @@ -1619,7 +1620,7 @@
             Ok(())
         }
     
    -    /// get a user's password
    +    /// get a user's password
         async fn get_password(&self, l: &Login) -> DBResult<NameHash> {
             struct Password {
                 name: String,
    @@ -1629,7 +1630,7 @@
             let rec = match l {
                 Login::Username(u) => sqlx::query_as!(
                     Password,
    -                r#"SELECT name, password  FROM mcaptcha_users WHERE name = ($1)"#,
    +                r#"SELECT name, password  FROM mcaptcha_users WHERE name = ($1)"#,
                     u,
                 )
                 .fetch_one(&self.pool)
    @@ -1638,7 +1639,7 @@
     
                 Login::Email(e) => sqlx::query_as!(
                     Password,
    -                r#"SELECT name, password  FROM mcaptcha_users WHERE email = ($1)"#,
    +                r#"SELECT name, password  FROM mcaptcha_users WHERE email = ($1)"#,
                     e,
                 )
                 .fetch_one(&self.pool)
    @@ -1654,11 +1655,11 @@
             Ok(res)
         }
     
    -    /// update user's password
    +    /// update user's password
         async fn update_password(&self, p: &NameHash) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_users set password = $1
    -            WHERE name = $2",
    +            "UPDATE mcaptcha_users set password = $1
    +            WHERE name = $2",
                 &p.hash,
                 &p.username,
             )
    @@ -1672,8 +1673,8 @@
         /// update username
         async fn update_username(&self, current: &str, new: &str) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_users set name = $1
    -            WHERE name = $2",
    +            "UPDATE mcaptcha_users set name = $1
    +            WHERE name = $2",
                 new,
                 current,
             )
    @@ -1684,11 +1685,11 @@
             Ok(())
         }
     
    -    /// get a user's secret
    +    /// get a user's secret
         async fn get_secret(&self, username: &str) -> DBResult<Secret> {
             let secret = sqlx::query_as!(
                 Secret,
    -            r#"SELECT secret  FROM mcaptcha_users WHERE name = ($1)"#,
    +            r#"SELECT secret  FROM mcaptcha_users WHERE name = ($1)"#,
                 username,
             )
             .fetch_one(&self.pool)
    @@ -1698,13 +1699,13 @@
             Ok(secret)
         }
     
    -    /// get a user's secret from a captcha key
    +    /// get a user's secret from a captcha key
         async fn get_secret_from_captcha(&self, key: &str) -> DBResult<Secret> {
             let secret = sqlx::query_as!(
                 Secret,
    -            r#"SELECT secret  FROM mcaptcha_users WHERE ID = (
    +            r#"SELECT secret  FROM mcaptcha_users WHERE ID = (
                         SELECT user_id FROM mcaptcha_config WHERE key = $1
    -                    )"#,
    +                    )"#,
                 key,
             )
             .fetch_one(&self.pool)
    @@ -1714,11 +1715,11 @@
             Ok(secret)
         }
     
    -    /// update a user's secret
    +    /// update a user's secret
         async fn update_secret(&self, username: &str, secret: &str) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_users set secret = $1
    -        WHERE name = $2",
    +            "UPDATE mcaptcha_users set secret = $1
    +        WHERE name = $2",
                 &secret,
                 &username,
             )
    @@ -1732,9 +1733,9 @@
         /// create new captcha
         async fn create_captcha(&self, username: &str, p: &CreateCaptcha) -> DBResult<()> {
             sqlx::query!(
    -            "INSERT INTO mcaptcha_config
    +            "INSERT INTO mcaptcha_config
             (key, user_id, duration, name)
    -        VALUES ($1, (SELECT ID FROM mcaptcha_users WHERE name = $2), $3, $4)",
    +        VALUES ($1, (SELECT ID FROM mcaptcha_users WHERE name = $2), $3, $4)",
                 p.key,
                 username,
                 p.duration as i32,
    @@ -1751,9 +1752,9 @@
         async fn get_captcha_config(&self, username: &str, key: &str) -> DBResult<Captcha> {
             let captcha = sqlx::query_as!(
                 InternaleCaptchaConfig,
    -            "SELECT config_id, duration, name, key from mcaptcha_config WHERE
    +            "SELECT config_id, duration, name, key from mcaptcha_config WHERE
                             key = $1 AND
    -                        user_id = (SELECT ID FROM mcaptcha_users WHERE name = $2) ",
    +                        user_id = (SELECT ID FROM mcaptcha_users WHERE name = $2) ",
                 &key,
                 &username,
             )
    @@ -1768,8 +1769,8 @@
         async fn get_all_user_captchas(&self, username: &str) -> DBResult<Vec<Captcha>> {
             let mut res = sqlx::query_as!(
                 InternaleCaptchaConfig,
    -            "SELECT key, name, config_id, duration FROM mcaptcha_config WHERE
    -            user_id = (SELECT ID FROM mcaptcha_users WHERE name = $1) ",
    +            "SELECT key, name, config_id, duration FROM mcaptcha_config WHERE
    +            user_id = (SELECT ID FROM mcaptcha_users WHERE name = $1) ",
                 &username,
             )
             .fetch_all(&self.pool)
    @@ -1783,16 +1784,16 @@
             Ok(captchas)
         }
     
    -    /// update captcha metadata; doesn't change captcha key
    +    /// update captcha metadata; doesn't change captcha key
         async fn update_captcha_metadata(
             &self,
             username: &str,
             p: &CreateCaptcha,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_config SET name = $1, duration = $2
    +            "UPDATE mcaptcha_config SET name = $1, duration = $2
                 WHERE user_id = (SELECT ID FROM mcaptcha_users WHERE name = $3)
    -            AND key = $4",
    +            AND key = $4",
                 p.description,
                 p.duration,
                 username,
    @@ -1805,7 +1806,7 @@
             Ok(())
         }
     
    -    /// update captcha key; doesn't change metadata
    +    /// update captcha key; doesn't change metadata
         async fn update_captcha_key(
             &self,
             username: &str,
    @@ -1813,8 +1814,8 @@
             new_key: &str,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "UPDATE mcaptcha_config SET key = $1 
    -        WHERE key = $2 AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = $3)",
    +            "UPDATE mcaptcha_config SET key = $1 
    +        WHERE key = $2 AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = $3)",
                 new_key,
                 old_key,
                 username,
    @@ -1840,7 +1841,7 @@
                 let difficulty_factor = level.difficulty_factor as i32;
                 let visitor_threshold = level.visitor_threshold as i32;
                 let fut = sqlx::query!(
    -                "INSERT INTO mcaptcha_levels (
    +                "INSERT INTO mcaptcha_levels (
                 difficulty_factor, 
                 visitor_threshold,
                 config_id) VALUES  (
    @@ -1848,7 +1849,7 @@
                     SELECT config_id FROM mcaptcha_config WHERE
                     key = ($3) AND user_id = (
                     SELECT ID FROM mcaptcha_users WHERE name = $4
    -                    )));",
    +                    )));",
                     difficulty_factor,
                     visitor_threshold,
                     &captcha_key,
    @@ -1867,7 +1868,7 @@
                 let difficulty_factor = level.difficulty_factor as i32;
                 let visitor_threshold = level.visitor_threshold as i32;
                 let fut = sqlx::query!(
    -                "INSERT INTO
    +                "INSERT INTO
                         mcaptcha_track_nonce (level_id, nonce)
                     VALUES  ((
                         SELECT
    @@ -1880,7 +1881,7 @@
                             difficulty_factor = $2
                         AND
                             visitor_threshold = $3
    -                    ), $4);",
    +                    ), $4);",
                     &captcha_key,
                     difficulty_factor,
                     visitor_threshold,
    @@ -1908,10 +1909,10 @@
             match username {
                 Some(username) => {
                     let x = sqlx::query!(
    -                    "SELECT EXISTS (
    +                    "SELECT EXISTS (
                 SELECT 1 from mcaptcha_config WHERE key = $1 
                 AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = $2)
    -            )",
    +            )",
                         captcha_key,
                         username
                     )
    @@ -1925,7 +1926,7 @@
     
                 None => {
                     let x = sqlx::query!(
    -                    "SELECT EXISTS (SELECT 1 from mcaptcha_config WHERE key = $1)",
    +                    "SELECT EXISTS (SELECT 1 from mcaptcha_config WHERE key = $1)",
                         &captcha_key,
                     )
                     .fetch_one(&self.pool)
    @@ -1947,13 +1948,13 @@
             captcha_key: &str,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "DELETE FROM mcaptcha_levels 
    +            "DELETE FROM mcaptcha_levels 
             WHERE config_id = (
                 SELECT config_id FROM mcaptcha_config where key = ($1) 
                 AND user_id = (
                 SELECT ID from mcaptcha_users WHERE name = $2
                 )
    -            )",
    +            )",
                 captcha_key,
                 username
             )
    @@ -1967,9 +1968,9 @@
         /// Delete captcha
         async fn delete_captcha(&self, username: &str, captcha_key: &str) -> DBResult<()> {
             sqlx::query!(
    -            "DELETE FROM mcaptcha_config WHERE key = ($1)
    +            "DELETE FROM mcaptcha_config WHERE key = ($1)
                     AND
    -            user_id = (SELECT ID FROM mcaptcha_users WHERE name = $2)",
    +            user_id = (SELECT ID FROM mcaptcha_users WHERE name = $2)",
                 captcha_key,
                 username,
             )
    @@ -1993,10 +1994,10 @@
             let levels = match username {
                 None => sqlx::query_as!(
                     I32Levels,
    -                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
    +                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
                 config_id = (
                     SELECT config_id FROM mcaptcha_config WHERE key = ($1)
    -                ) ORDER BY difficulty_factor ASC;",
    +                ) ORDER BY difficulty_factor ASC;",
                     captcha_key,
                 )
                 .fetch_all(&self.pool)
    @@ -2005,12 +2006,12 @@
     
                 Some(username) => sqlx::query_as!(
                     I32Levels,
    -                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
    +                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
                 config_id = (
                     SELECT config_id FROM mcaptcha_config WHERE key = ($1)
                     AND user_id = (SELECT ID from mcaptcha_users WHERE name = $2)
                     )
    -            ORDER BY difficulty_factor ASC;",
    +            ORDER BY difficulty_factor ASC;",
                     captcha_key,
                     username
                 )
    @@ -2029,7 +2030,7 @@
             Ok(new_levels)
         }
     
    -    /// Get captcha's cooldown period
    +    /// Get captcha's cooldown period
         async fn get_captcha_cooldown(&self, captcha_key: &str) -> DBResult<i32> {
             struct DurationResp {
                 duration: i32,
    @@ -2037,8 +2038,8 @@
     
             let resp = sqlx::query_as!(
                 DurationResp,
    -            "SELECT duration FROM mcaptcha_config  
    -            WHERE key = $1",
    +            "SELECT duration FROM mcaptcha_config  
    +            WHERE key = $1",
                 captcha_key,
             )
             .fetch_one(&self.pool)
    @@ -2055,7 +2056,7 @@
             pattern: &TrafficPattern,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "INSERT INTO mcaptcha_sitekey_user_provided_avg_traffic (
    +            "INSERT INTO mcaptcha_sitekey_user_provided_avg_traffic (
                 config_id,
                 avg_traffic,
                 peak_sustainable_traffic,
    @@ -2063,7 +2064,7 @@
                 ) VALUES ( 
                  (SELECT config_id FROM mcaptcha_config WHERE key = ($1)
                  AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = $2)
    -            ), $3, $4, $5)",
    +            ), $3, $4, $5)",
                 //payload.avg_traffic,
                 captcha_key,
                 username,
    @@ -2085,7 +2086,7 @@
         ) -> DBResult<TrafficPattern> {
             let res = sqlx::query_as!(
                 InnerTraffic,
    -            "SELECT 
    +            "SELECT 
               avg_traffic, 
               peak_sustainable_traffic, 
               broke_my_site_traffic 
    @@ -2108,7 +2109,7 @@
                       NAME = $2
                   )
               )
    -        ",
    +        ",
                 captcha_key,
                 username
             )
    @@ -2134,7 +2135,7 @@
             }
             let mut inner_res = sqlx::query_as!(
                 InnerEasyCaptcha,
    -            "SELECT 
    +            "SELECT 
                       mcaptcha_sitekey_user_provided_avg_traffic.avg_traffic, 
                       mcaptcha_sitekey_user_provided_avg_traffic.peak_sustainable_traffic, 
                       mcaptcha_sitekey_user_provided_avg_traffic.broke_my_site_traffic,
    @@ -2152,7 +2153,7 @@
                 ON
                     mcaptcha_config.user_id = mcaptcha_users.ID
                 ORDER BY mcaptcha_config.config_id
    -            OFFSET $1 LIMIT $2; ",
    +            OFFSET $1 LIMIT $2; ",
                 offset as i32,
                 limit as i32
             )
    @@ -2185,7 +2186,7 @@
             captcha_key: &str,
         ) -> DBResult<()> {
             sqlx::query!(
    -            "DELETE FROM mcaptcha_sitekey_user_provided_avg_traffic
    +            "DELETE FROM mcaptcha_sitekey_user_provided_avg_traffic
             WHERE config_id = (
                 SELECT config_id 
                 FROM 
    @@ -2194,7 +2195,7 @@
                     key = ($1) 
                 AND 
                     user_id = (SELECT ID FROM mcaptcha_users WHERE name = $2)
    -            );",
    +            );",
                 captcha_key,
                 username,
             )
    @@ -2208,14 +2209,14 @@
         async fn create_notification(&self, p: &AddNotification) -> DBResult<()> {
             let now = now_unix_time_stamp();
             sqlx::query!(
    -            "INSERT INTO mcaptcha_notifications (
    +            "INSERT INTO mcaptcha_notifications (
                   heading, message, tx, rx, received)
                   VALUES  (
                   $1, $2,
                       (SELECT ID FROM mcaptcha_users WHERE name = $3),
                       (SELECT ID FROM mcaptcha_users WHERE name = $4),
                       $5
    -                      );",
    +                      );",
                 p.heading,
                 p.message,
                 p.from,
    @@ -2236,7 +2237,7 @@
         ) -> DBResult<Vec<Notification>> {
             let mut inner_notifications = sqlx::query_file_as!(
                 InnerNotification,
    -            "./src/get_all_unread_notifications.sql",
    +            "./src/get_all_unread_notifications.sql",
                 &username
             )
             .fetch_all(&self.pool)
    @@ -2256,7 +2257,7 @@
         async fn mark_notification_read(&self, username: &str, id: i32) -> DBResult<()> {
             sqlx::query_file_as!(
                 Notification,
    -            "./src/mark_notification_read.sql",
    +            "./src/mark_notification_read.sql",
                 id,
                 &username
             )
    @@ -2271,8 +2272,8 @@
         async fn record_fetch(&self, key: &str) -> DBResult<()> {
             let now = now_unix_time_stamp();
             let _ = sqlx::query!(
    -        "INSERT INTO mcaptcha_pow_fetched_stats 
    -        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config WHERE key = $1), $2)",
    +        "INSERT INTO mcaptcha_pow_fetched_stats 
    +        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config WHERE key = $1), $2)",
             key,
             &now,
         )
    @@ -2286,8 +2287,8 @@
         async fn record_solve(&self, key: &str) -> DBResult<()> {
             let now = OffsetDateTime::now_utc();
             let _ = sqlx::query!(
    -        "INSERT INTO mcaptcha_pow_solved_stats 
    -        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config WHERE key = $1), $2)",
    +        "INSERT INTO mcaptcha_pow_solved_stats 
    +        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config WHERE key = $1), $2)",
             key,
             &now,
         )
    @@ -2301,8 +2302,8 @@
         async fn record_confirm(&self, key: &str) -> DBResult<()> {
             let now = now_unix_time_stamp();
             let _ = sqlx::query!(
    -        "INSERT INTO mcaptcha_pow_confirmed_stats 
    -        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config WHERE key = $1), $2)",
    +        "INSERT INTO mcaptcha_pow_confirmed_stats 
    +        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config WHERE key = $1), $2)",
             key,
             &now
         )
    @@ -2316,7 +2317,7 @@
         async fn fetch_config_fetched(&self, user: &str, key: &str) -> DBResult<Vec<i64>> {
             let records = sqlx::query_as!(
                 Date,
    -            "SELECT time FROM mcaptcha_pow_fetched_stats
    +            "SELECT time FROM mcaptcha_pow_fetched_stats
                 WHERE 
                     config_id = (
                         SELECT 
    @@ -2327,7 +2328,7 @@
                             user_id = (
                             SELECT 
                                 ID FROM mcaptcha_users WHERE name = $2))
    -                ORDER BY time DESC",
    +                ORDER BY time DESC",
                 &key,
                 &user,
             )
    @@ -2342,7 +2343,7 @@
         async fn fetch_solve(&self, user: &str, key: &str) -> DBResult<Vec<i64>> {
             let records = sqlx::query_as!(
                 Date,
    -            "SELECT time FROM mcaptcha_pow_solved_stats 
    +            "SELECT time FROM mcaptcha_pow_solved_stats 
                 WHERE config_id = (
                     SELECT config_id FROM mcaptcha_config 
                     WHERE 
    @@ -2351,7 +2352,7 @@
                          user_id = (
                             SELECT 
                                 ID FROM mcaptcha_users WHERE name = $2)) 
    -                ORDER BY time DESC",
    +                ORDER BY time DESC",
                 &key,
                 &user
             )
    @@ -2366,7 +2367,7 @@
         async fn fetch_confirm(&self, user: &str, key: &str) -> DBResult<Vec<i64>> {
             let records = sqlx::query_as!(
                 Date,
    -            "SELECT time FROM mcaptcha_pow_confirmed_stats 
    +            "SELECT time FROM mcaptcha_pow_confirmed_stats 
                 WHERE 
                     config_id = (
                         SELECT config_id FROM mcaptcha_config 
    @@ -2376,7 +2377,7 @@
                          user_id = (
                             SELECT 
                                 ID FROM mcaptcha_users WHERE name = $2))
    -                ORDER BY time DESC",
    +                ORDER BY time DESC",
                 &key,
                 &user
             )
    @@ -2394,9 +2395,9 @@
             d: &CreatePerformanceAnalytics,
         ) -> DBResult<()> {
             let _ = sqlx::query!(
    -            "INSERT INTO mcaptcha_pow_analytics 
    +            "INSERT INTO mcaptcha_pow_analytics 
             (config_id, time, difficulty_factor, worker_type)
    -        VALUES ((SELECT config_id FROM mcaptcha_config WHERE key = $1), $2, $3, $4)",
    +        VALUES ((SELECT config_id FROM mcaptcha_config WHERE key = $1), $2, $3, $4)",
                 captcha_id,
                 d.time as i32,
                 d.difficulty_factor as i32,
    @@ -2435,7 +2436,7 @@
     
             let mut c = sqlx::query_as!(
                 P,
    -            "SELECT id, time, difficulty_factor, worker_type FROM mcaptcha_pow_analytics
    +            "SELECT id, time, difficulty_factor, worker_type FROM mcaptcha_pow_analytics
                 WHERE 
                     config_id = (
                         SELECT 
    @@ -2445,7 +2446,7 @@
                             )
                     ORDER BY ID
                     OFFSET $2 LIMIT $3
    -                ",
    +                ",
                 &captcha_id,
                 offset as i32,
                 limit as i32
    @@ -2468,13 +2469,13 @@
         ) -> DBResult<()> {
             let id = Uuid::new_v4();
             sqlx::query!(
    -            "
    +            "
                 INSERT INTO
                     mcaptcha_psuedo_campaign_id (config_id, psuedo_id)
                 VALUES (
                     (SELECT config_id FROM mcaptcha_config WHERE key = ($1)),
                     $2
    -            );",
    +            );",
                 captcha_id,
                 &id.to_string(),
             )
    @@ -2492,11 +2493,11 @@
         ) -> DBResult<String> {
             let res = sqlx::query_as!(
                 PsuedoID,
    -            "SELECT psuedo_id FROM
    +            "SELECT psuedo_id FROM
                     mcaptcha_psuedo_campaign_id
                 WHERE
                      config_id = (SELECT config_id FROM mcaptcha_config WHERE key = ($1));
    -            ",
    +            ",
                 captcha_id
             )
             .fetch_one(&self.pool)
    @@ -2517,7 +2518,7 @@
     
             let res = sqlx::query_as!(
                 ID,
    -            "SELECT
    +            "SELECT
                     key
                 FROM
                     mcaptcha_config
    @@ -2529,7 +2530,7 @@
                              mcaptcha_psuedo_campaign_id
                          WHERE
                              psuedo_id = $1
    -                 );",
    +                 );",
                 psuedo_id
             )
             .fetch_one(&self.pool)
    @@ -2543,26 +2544,26 @@
             campaign_id: &str,
         ) -> DBResult<()> {
             let _ = sqlx::query!(
    -            "
    +            "
             DELETE FROM
                 mcaptcha_psuedo_campaign_id
             WHERE config_id = (
                 SELECT config_id FROM mcaptcha_config WHERE key = ($1)
    -        );",
    +        );",
                 campaign_id
             )
             .execute(&self.pool)
             .await;
     
             let _ = sqlx::query!(
    -            "
    +            "
                 DELETE FROM
                     mcaptcha_pow_analytics
                 WHERE
                     config_id = (
                         SELECT config_id FROM mcaptcha_config WHERE key = $1
                         )
    -             ",
    +             ",
                 campaign_id
             )
             .execute(&self.pool)
    @@ -2578,12 +2579,12 @@
     
             let mut res = sqlx::query_as!(
                 PsuedoID,
    -            "
    +            "
                     SELECT
                         psuedo_id
                     FROM
                         mcaptcha_psuedo_campaign_id
    -                    ORDER BY ID ASC LIMIT $1 OFFSET $2;",
    +                    ORDER BY ID ASC LIMIT $1 OFFSET $2;",
                 LIMIT as i64,
                 offset as i64
             )
    @@ -2602,7 +2603,7 @@
             latest_nonce: u32,
         ) -> DBResult<()> {
             sqlx::query!(
    -                "UPDATE mcaptcha_track_nonce SET nonce = $3
    +                "UPDATE mcaptcha_track_nonce SET nonce = $3
                     WHERE level_id =  (
                         SELECT
                             level_id
    @@ -2613,7 +2614,7 @@
                         AND
                             difficulty_factor = $2
                         )
    -                AND nonce <= $3;",
    +                AND nonce <= $3;",
                     &captcha_key,
                     difficulty_factor as i32,
                     latest_nonce as i32,
    @@ -2641,7 +2642,7 @@
             ) -> DBResult<X> {
                 sqlx::query_as!(
                     X,
    -                "SELECT nonce FROM mcaptcha_track_nonce
    +                "SELECT nonce FROM mcaptcha_track_nonce
                     WHERE level_id =  (
                         SELECT
                             level_id
    @@ -2651,7 +2652,7 @@
                             config_id = (SELECT config_id FROM mcaptcha_config WHERE key = ($1))
                         AND
                             difficulty_factor = $2
    -                    );",
    +                    );",
                     &captcha_key,
                     difficulty_factor as i32,
                 )
    @@ -2663,7 +2664,7 @@
             let res = inner_get_max_nonce(&self.pool, captcha_key, difficulty_factor).await;
             if let Err(DBError::CaptchaNotFound) = res {
                 sqlx::query!(
    -                "INSERT INTO
    +                "INSERT INTO
                         mcaptcha_track_nonce (level_id, nonce)
                     VALUES  ((
                         SELECT
    @@ -2674,7 +2675,7 @@
                             config_id = (SELECT config_id FROM mcaptcha_config WHERE key = ($1))
                         AND
                             difficulty_factor = $2
    -                    ), $3);",
    +                    ), $3);",
                     &captcha_key,
                     difficulty_factor as i32,
                     0,
    @@ -2700,7 +2701,7 @@
     
             let count = sqlx::query_as!(
             Count,
    -        "SELECT COUNT(difficulty_factor) FROM mcaptcha_pow_analytics WHERE time <= $1;",
    +        "SELECT COUNT(difficulty_factor) FROM mcaptcha_pow_analytics WHERE time <= $1;",
             duration as i32,
         )
             .fetch_one(&self.pool)
    @@ -2723,13 +2724,13 @@
     
             match sqlx::query_as!(
                 Difficulty,
    -            "SELECT
    +            "SELECT
                 difficulty_factor
             FROM
                 mcaptcha_pow_analytics
             WHERE
                 time <= $1
    -        ORDER BY difficulty_factor ASC LIMIT 1 OFFSET $2;",
    +        ORDER BY difficulty_factor ASC LIMIT 1 OFFSET $2;",
                 duration as i32,
                 location as i64 - 1,
             )
    diff --git a/src/mcaptcha/api/mod.rs.html b/src/mcaptcha/api/mod.rs.html
    index 609314c2..04f246f9 100644
    --- a/src/mcaptcha/api/mod.rs.html
    +++ b/src/mcaptcha/api/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    diff --git a/src/mcaptcha/api/v1/account/delete.rs.html b/src/mcaptcha/api/v1/account/delete.rs.html
    index 011357df..c7c7bf22 100644
    --- a/src/mcaptcha/api/v1/account/delete.rs.html
    +++ b/src/mcaptcha/api/v1/account/delete.rs.html
    @@ -1,4 +1,5 @@
    -delete.rs - source
    1
    +delete.rs - source
    +    
    1
     2
     3
     4
    @@ -63,8 +64,8 @@
     use crate::AppData;
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.account.delete",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.account.delete",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     pub async fn delete_account(
         id: Identity,
    diff --git a/src/mcaptcha/api/v1/account/email.rs.html b/src/mcaptcha/api/v1/account/email.rs.html
    index 40b876db..2b7f1fc6 100644
    --- a/src/mcaptcha/api/v1/account/email.rs.html
    +++ b/src/mcaptcha/api/v1/account/email.rs.html
    @@ -1,4 +1,5 @@
    -email.rs - source
    1
    +email.rs - source
    +    
    1
     2
     3
     4
    @@ -76,7 +77,7 @@
         pub email: String,
     }
     
    -#[my_codegen::post(path = "crate::V1_API_ROUTES.account.email_exists")]
    +#[my_codegen::post(path = "crate::V1_API_ROUTES.account.email_exists")]
     pub async fn email_exists(
         payload: web::Json<AccountCheckPayload>,
         data: AppData,
    @@ -90,8 +91,8 @@
     
     /// update email
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.account.update_email",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.account.update_email",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     async fn set_email(
         id: Identity,
    diff --git a/src/mcaptcha/api/v1/account/mod.rs.html b/src/mcaptcha/api/v1/account/mod.rs.html
    index 0a246e94..ed8f4f66 100644
    --- a/src/mcaptcha/api/v1/account/mod.rs.html
    +++ b/src/mcaptcha/api/v1/account/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    @@ -91,26 +92,26 @@
     pub mod routes {
     
         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,
    +        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,
         }
     
         impl Account {
             pub const fn new() -> Account {
    -            let get_secret = "/api/v1/account/secret/get";
    -            let update_secret = "/api/v1/account/secret/update";
    -            let delete = "/api/v1/account/delete";
    -            let email_exists = "/api/v1/account/email/exists";
    -            let username_exists = "/api/v1/account/username/exists";
    -            let update_username = "/api/v1/account/username/update";
    -            let update_email = "/api/v1/account/email/update";
    -            let update_password = "/api/v1/account/password/update";
    +            let get_secret = "/api/v1/account/secret/get";
    +            let update_secret = "/api/v1/account/secret/update";
    +            let delete = "/api/v1/account/delete";
    +            let email_exists = "/api/v1/account/email/exists";
    +            let username_exists = "/api/v1/account/username/exists";
    +            let update_username = "/api/v1/account/username/update";
    +            let update_email = "/api/v1/account/email/update";
    +            let update_password = "/api/v1/account/password/update";
                 Account {
                     delete,
                     email_exists,
    diff --git a/src/mcaptcha/api/v1/account/password.rs.html b/src/mcaptcha/api/v1/account/password.rs.html
    index b62a982a..fdd0b8cc 100644
    --- a/src/mcaptcha/api/v1/account/password.rs.html
    +++ b/src/mcaptcha/api/v1/account/password.rs.html
    @@ -1,4 +1,5 @@
    -password.rs - source
    1
    +password.rs - source
    +    
    1
     2
     3
     4
    @@ -245,8 +246,8 @@
     }
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.account.update_password",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.account.update_password",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     async fn update_user_password(
         id: Identity,
    @@ -298,9 +299,9 @@
         }
     
         pub async fn update_password_works(data: ArcData) {
    -        const NAME: &str = "updatepassuser";
    -        const PASSWORD: &str = "longpassword2";
    -        const EMAIL: &str = "updatepassuser@a.com";
    +        const NAME: &str = "updatepassuser";
    +        const PASSWORD: &str = "longpassword2";
    +        const EMAIL: &str = "updatepassuser@a.com";
     
             let data = &data;
     
    @@ -310,7 +311,7 @@
             let cookies = get_cookie!(signin_resp);
             let app = get_app!(data).await;
     
    -        let new_password = "newpassword";
    +        let new_password = "newpassword";
     
             let update_password = ChangePasswordReqest {
                 password: PASSWORD.into(),
    diff --git a/src/mcaptcha/api/v1/account/secret.rs.html b/src/mcaptcha/api/v1/account/secret.rs.html
    index 1b1fd16d..7606662c 100644
    --- a/src/mcaptcha/api/v1/account/secret.rs.html
    +++ b/src/mcaptcha/api/v1/account/secret.rs.html
    @@ -1,4 +1,5 @@
    -secret.rs - source
    1
    +secret.rs - source
    +    
    1
     2
     3
     4
    @@ -64,8 +65,8 @@
     use crate::AppData;
     
     #[my_codegen::get(
    -    path = "crate::V1_API_ROUTES.account.get_secret",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.account.get_secret",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     async fn get_secret(id: Identity, data: AppData) -> ServiceResult<impl Responder> {
         let username = id.identity().unwrap();
    @@ -74,8 +75,8 @@
     }
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.account.update_secret",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.account.update_secret",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     async fn update_user_secret(
         id: Identity,
    diff --git a/src/mcaptcha/api/v1/account/username.rs.html b/src/mcaptcha/api/v1/account/username.rs.html
    index 49aab1ff..cbc0de46 100644
    --- a/src/mcaptcha/api/v1/account/username.rs.html
    +++ b/src/mcaptcha/api/v1/account/username.rs.html
    @@ -1,4 +1,5 @@
    -username.rs - source
    1
    +username.rs - source
    +    
    1
     2
     3
     4
    @@ -77,7 +78,7 @@
     use crate::errors::*;
     use crate::AppData;
     
    -#[my_codegen::post(path = "crate::V1_API_ROUTES.account.username_exists")]
    +#[my_codegen::post(path = "crate::V1_API_ROUTES.account.username_exists")]
     async fn username_exists(
         payload: web::Json<AccountCheckPayload>,
         data: AppData,
    @@ -106,8 +107,8 @@
     
     /// update username
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.account.update_username",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.account.update_username",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     async fn set_username(
         id: Identity,
    diff --git a/src/mcaptcha/api/v1/auth.rs.html b/src/mcaptcha/api/v1/auth.rs.html
    index 7b887a1a..b5f86684 100644
    --- a/src/mcaptcha/api/v1/auth.rs.html
    +++ b/src/mcaptcha/api/v1/auth.rs.html
    @@ -1,4 +1,5 @@
    -auth.rs - source
    1
    +auth.rs - source
    +    
    1
     2
     3
     4
    @@ -207,16 +208,16 @@
         use actix_auth_middleware::GetLoginRoute;
     
         pub struct Auth {
    -        pub logout: &'static str,
    -        pub login: &'static str,
    -        pub register: &'static str,
    +        pub logout: &'static str,
    +        pub login: &'static str,
    +        pub register: &'static str,
         }
     
         impl Auth {
             pub const fn new() -> Auth {
    -            let login = "/api/v1/signin";
    -            let logout = "/logout";
    -            let register = "/api/v1/signup";
    +            let login = "/api/v1/signin";
    +            let logout = "/logout";
    +            let register = "/api/v1/signup";
                 Auth {
                     logout,
                     login,
    @@ -229,7 +230,7 @@
             fn get_login_route(&self, src: Option<&str>) -> String {
                 if let Some(redirect_to) = src {
                     format!(
    -                    "{}?redirect_to={}",
    +                    "{}?redirect_to={}",
                         self.login,
                         urlencoding::encode(redirect_to)
                     )
    @@ -253,7 +254,7 @@
     
         #[derive(Clone, Debug, Deserialize, Serialize)]
         pub struct Login {
    -        // login accepts both username and email under "username field"
    +        // login accepts both username and email under "username field"
             // TODO update all instances where login is used
             pub login: String,
             pub password: String,
    @@ -276,7 +277,7 @@
                 }
             };
     
    -        let s = if payload.login.contains('@') {
    +        let s = if payload.login.contains('@') {
                 data.db
                     .get_password(&db_core::Login::Email(&payload.login))
                     .await?
    @@ -336,7 +337,7 @@
         cfg.service(login);
         cfg.service(signout);
     }
    -#[my_codegen::post(path = "crate::V1_API_ROUTES.auth.register")]
    +#[my_codegen::post(path = "crate::V1_API_ROUTES.auth.register")]
     async fn register(
         payload: web::Json<runners::Register>,
         data: AppData,
    @@ -345,7 +346,7 @@
         Ok(HttpResponse::Ok())
     }
     
    -#[my_codegen::post(path = "crate::V1_API_ROUTES.auth.login")]
    +#[my_codegen::post(path = "crate::V1_API_ROUTES.auth.login")]
     async fn login(
         id: Identity,
         payload: web::Json<runners::Login>,
    @@ -367,8 +368,8 @@
     }
     
     #[my_codegen::get(
    -    path = "crate::V1_API_ROUTES.auth.logout",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.auth.logout",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     async fn signout(id: Identity) -> impl Responder {
         if id.identity().is_some() {
    diff --git a/src/mcaptcha/api/v1/mcaptcha/create.rs.html b/src/mcaptcha/api/v1/mcaptcha/create.rs.html
    index 5f976f33..b62bfd50 100644
    --- a/src/mcaptcha/api/v1/mcaptcha/create.rs.html
    +++ b/src/mcaptcha/api/v1/mcaptcha/create.rs.html
    @@ -1,4 +1,5 @@
    -create.rs - source
    1
    +create.rs - source
    +    
    1
     2
     3
     4
    @@ -134,8 +135,8 @@
     // TODO redo mcaptcha table to include levels as json field
     // so that the whole thing can be added/udpaed in a single stroke
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.captcha.create",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.captcha.create",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     pub async fn create(
         payload: web::Json<CreateCaptcha>,
    diff --git a/src/mcaptcha/api/v1/mcaptcha/delete.rs.html b/src/mcaptcha/api/v1/mcaptcha/delete.rs.html
    index ab9da313..2c47738a 100644
    --- a/src/mcaptcha/api/v1/mcaptcha/delete.rs.html
    +++ b/src/mcaptcha/api/v1/mcaptcha/delete.rs.html
    @@ -1,4 +1,5 @@
    -delete.rs - source
    1
    +delete.rs - source
    +    
    1
     2
     3
     4
    @@ -67,8 +68,8 @@
     }
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.captcha.delete",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.captcha.delete",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     async fn delete(
         payload: web::Json<DeleteCaptcha>,
    @@ -88,7 +89,7 @@
         data.db.delete_captcha(&username, &payload.key).await?;
     
         if let Err(err) = data.captcha.remove(RemoveCaptcha(payload.key)).await {
    -        log::error!("Error while trying to remove captcha from cache {}", err);
    +        log::error!("Error while trying to remove captcha from cache {}", err);
         }
         Ok(HttpResponse::Ok())
     }
    diff --git a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html
    index 32c68f7d..79765ee2 100644
    --- a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html
    +++ b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html
    @@ -1,4 +1,5 @@
    -easy.rs - source
    1
    +easy.rs - source
    +    
    1
     2
     3
     4
    @@ -557,15 +558,15 @@
     pub mod routes {
         pub struct Easy {
             /// easy is using defaults
    -        pub create: &'static str,
    -        pub update: &'static str,
    +        pub create: &'static str,
    +        pub update: &'static str,
         }
     
         impl Easy {
             pub const fn new() -> Self {
                 Self {
    -                create: "/api/v1/mcaptcha/add/easy",
    -                update: "/api/v1/mcaptcha/update/easy",
    +                create: "/api/v1/mcaptcha/add/easy",
    +                update: "/api/v1/mcaptcha/update/easy",
                 }
             }
         }
    @@ -577,13 +578,13 @@
     }
     
     #[derive(Default, Serialize, Deserialize, Clone, Debug)]
    -/// User's traffic pattern; used in generating a captcha configuration
    +/// User's traffic pattern; used in generating a captcha configuration
     pub struct TrafficPatternRequest {
    -    /// average traffic of user's website
    +    /// average traffic of user's website
         pub avg_traffic: u32,
    -    /// the peak traffic that the user's website can handle
    +    /// the peak traffic that the user's website can handle
         pub peak_sustainable_traffic: u32,
    -    /// traffic that bought the user's website down; optional
    +    /// traffic that bought the user's website down; optional
         pub broke_my_site_traffic: Option<u32>,
         /// Captcha description
         pub description: String,
    @@ -713,8 +714,8 @@
     }
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.captcha.easy.create",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.captcha.easy.create",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     async fn create(
         payload: web::Json<TrafficPatternRequest>,
    @@ -752,8 +753,8 @@
     }
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.captcha.easy.update",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.captcha.easy.update",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     async fn update(
         payload: web::Json<UpdateTrafficPattern>,
    @@ -894,9 +895,9 @@
         }
     
         pub async fn easy_works(data: ArcData) {
    -        const NAME: &str = "defaultuserconfgworks";
    -        const PASSWORD: &str = "longpassworddomain";
    -        const EMAIL: &str = "defaultuserconfgworks@a.com";
    +        const NAME: &str = "defaultuserconfgworks";
    +        const PASSWORD: &str = "longpassworddomain";
    +        const EMAIL: &str = "defaultuserconfgworks@a.com";
             let data = &data;
     
             delete_user(data, NAME).await;
    diff --git a/src/mcaptcha/api/v1/mcaptcha/get.rs.html b/src/mcaptcha/api/v1/mcaptcha/get.rs.html
    index ab5ea917..c142b748 100644
    --- a/src/mcaptcha/api/v1/mcaptcha/get.rs.html
    +++ b/src/mcaptcha/api/v1/mcaptcha/get.rs.html
    @@ -1,4 +1,5 @@
    -get.rs - source
    1
    +get.rs - source
    +    
    1
     2
     3
     4
    @@ -54,8 +55,8 @@
     use crate::AppData;
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.captcha.get",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.captcha.get",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     pub async fn get_captcha(
         payload: web::Json<MCaptchaDetails>,
    diff --git a/src/mcaptcha/api/v1/mcaptcha/mod.rs.html b/src/mcaptcha/api/v1/mcaptcha/mod.rs.html
    index 62a44cf4..5e65b1f6 100644
    --- a/src/mcaptcha/api/v1/mcaptcha/mod.rs.html
    +++ b/src/mcaptcha/api/v1/mcaptcha/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    @@ -107,11 +108,11 @@
         use super::stats::routes::Stats;
     
         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,
         }
    @@ -119,11 +120,11 @@
         impl Captcha {
             pub const fn new() -> Self {
                 Self {
    -                create: "/api/v1/mcaptcha/create",
    -                update: "/api/v1/mcaptcha/update",
    -                get: "/api/v1/mcaptcha/get",
    -                update_key: "/api/v1/mcaptcha/update/key",
    -                delete: "/api/v1/mcaptcha/delete",
    +                create: "/api/v1/mcaptcha/create",
    +                update: "/api/v1/mcaptcha/update",
    +                get: "/api/v1/mcaptcha/get",
    +                update_key: "/api/v1/mcaptcha/update/key",
    +                delete: "/api/v1/mcaptcha/delete",
                     easy: Easy::new(),
                     stats: Stats::new(),
                 }
    diff --git a/src/mcaptcha/api/v1/mcaptcha/stats.rs.html b/src/mcaptcha/api/v1/mcaptcha/stats.rs.html
    index 4db4eddf..b94148a7 100644
    --- a/src/mcaptcha/api/v1/mcaptcha/stats.rs.html
    +++ b/src/mcaptcha/api/v1/mcaptcha/stats.rs.html
    @@ -1,4 +1,5 @@
    -stats.rs - source
    1
    +stats.rs - source
    +    
    1
     2
     3
     4
    @@ -55,13 +56,13 @@
     
     pub mod routes {
         pub struct Stats {
    -        pub get: &'static str,
    +        pub get: &'static str,
         }
     
         impl Stats {
             pub const fn new() -> Self {
                 Self {
    -                get: "/api/v1/mcaptcha/stats",
    +                get: "/api/v1/mcaptcha/stats",
                 }
             }
         }
    @@ -72,8 +73,8 @@
     }
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.captcha.stats.get",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.captcha.stats.get",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     pub async fn get(
         payload: web::Json<StatsPayload>,
    diff --git a/src/mcaptcha/api/v1/mcaptcha/update.rs.html b/src/mcaptcha/api/v1/mcaptcha/update.rs.html
    index 88e0fcb6..4266d84a 100644
    --- a/src/mcaptcha/api/v1/mcaptcha/update.rs.html
    +++ b/src/mcaptcha/api/v1/mcaptcha/update.rs.html
    @@ -1,4 +1,5 @@
    -update.rs - source
    1
    +update.rs - source
    +    
    1
     2
     3
     4
    @@ -235,8 +236,8 @@
     use crate::AppData;
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.captcha.update_key",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.captcha.update_key",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     pub async fn update_key(
         payload: web::Json<MCaptchaDetails>,
    @@ -286,8 +287,8 @@
     }
     
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.captcha.update",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.captcha.update",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     pub async fn update_captcha(
         payload: web::Json<UpdateCaptcha>,
    @@ -341,7 +342,7 @@
                 .await
             {
                 log::error!(
    -                "Deleting captcha key {} while updating it, error: {:?}",
    +                "Deleting captcha key {} while updating it, error: {:?}",
                     &payload.key,
                     e
                 );
    @@ -384,9 +385,9 @@
         }
     
         async fn update_and_get_mcaptcha_works(data: ArcData) {
    -        const NAME: &str = "updateusermcaptcha";
    -        const PASSWORD: &str = "longpassworddomain";
    -        const EMAIL: &str = "testupdateusermcaptcha@a.com";
    +        const NAME: &str = "updateusermcaptcha";
    +        const PASSWORD: &str = "longpassworddomain";
    +        const EMAIL: &str = "testupdateusermcaptcha@a.com";
             let data = &data;
             delete_user(data, NAME).await;
     
    @@ -416,7 +417,7 @@
                     .to_request(),
             )
             .await;
    -        // if updated key doesn't exist in database, a non 200 result will bereturned
    +        // if updated key doesn't exist in database, a non 200 result will bereturned
             assert_eq!(get_token_resp.status(), StatusCode::OK);
     
             // get stats
    @@ -428,7 +429,7 @@
                     .to_request(),
             )
             .await;
    -        // if updated key doesn't exist in database, a non 200 result will bereturned
    +        // if updated key doesn't exist in database, a non 200 result will bereturned
             assert_eq!(get_statis_resp.status(), StatusCode::OK);
         }
     }
    diff --git a/src/mcaptcha/api/v1/meta.rs.html b/src/mcaptcha/api/v1/meta.rs.html
    index 5ac9bf9a..f3a7bc9f 100644
    --- a/src/mcaptcha/api/v1/meta.rs.html
    +++ b/src/mcaptcha/api/v1/meta.rs.html
    @@ -1,4 +1,5 @@
    -meta.rs - source
    1
    +meta.rs - source
    +    
    1
     2
     3
     4
    @@ -156,28 +157,28 @@
     
     #[derive(Clone, Debug, Deserialize, Builder, Serialize)]
     pub struct BuildDetails {
    -    pub version: &'static str,
    -    pub git_commit_hash: &'static str,
    +    pub version: &'static str,
    +    pub git_commit_hash: &'static str,
     }
     
     pub mod routes {
         pub struct Meta {
    -        pub build_details: &'static str,
    -        pub health: &'static str,
    +        pub build_details: &'static str,
    +        pub health: &'static str,
         }
     
         impl Meta {
             pub const fn new() -> Self {
                 Self {
    -                build_details: "/api/v1/meta/build",
    -                health: "/api/v1/meta/health",
    +                build_details: "/api/v1/meta/build",
    +                health: "/api/v1/meta/health",
                 }
             }
         }
     }
     
     /// emits build details of the bninary
    -#[my_codegen::get(path = "crate::V1_API_ROUTES.meta.build_details")]
    +#[my_codegen::get(path = "crate::V1_API_ROUTES.meta.build_details")]
     async fn build_details() -> impl Responder {
         let build = BuildDetails {
             version: VERSION,
    @@ -190,7 +191,7 @@
     /// Health check return datatype
     pub struct Health {
         db: bool,
    -    #[serde(skip_serializing_if = "Self::is_redis")]
    +    #[serde(skip_serializing_if = "Self::is_redis")]
         redis: Option<bool>,
     }
     
    @@ -201,7 +202,7 @@
     }
     
     /// checks all components of the system
    -#[my_codegen::get(path = "crate::V1_API_ROUTES.meta.health")]
    +#[my_codegen::get(path = "crate::V1_API_ROUTES.meta.health")]
     async fn health(data: AppData) -> impl Responder {
         let mut resp_builder = HealthBuilder::default();
         resp_builder.redis(None);
    @@ -264,7 +265,7 @@
         }
     
         pub async fn health_works(data: ArcData) {
    -        println!("{}", V1_API_ROUTES.meta.health);
    +        println!("{}", V1_API_ROUTES.meta.health);
             let data = &data;
             let app = get_app!(data).await;
     
    diff --git a/src/mcaptcha/api/v1/mod.rs.html b/src/mcaptcha/api/v1/mod.rs.html
    index ee2b462c..b52fc5a4 100644
    --- a/src/mcaptcha/api/v1/mod.rs.html
    +++ b/src/mcaptcha/api/v1/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    diff --git a/src/mcaptcha/api/v1/notifications/add.rs.html b/src/mcaptcha/api/v1/notifications/add.rs.html
    index 38ed1c18..d54fb853 100644
    --- a/src/mcaptcha/api/v1/notifications/add.rs.html
    +++ b/src/mcaptcha/api/v1/notifications/add.rs.html
    @@ -1,4 +1,5 @@
    -add.rs - source
    1
    +add.rs - source
    +    
    1
     2
     3
     4
    @@ -122,8 +123,8 @@
     
     /// route handler that adds a notification message
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.notifications.add",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.notifications.add",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     pub async fn add_notification(
         payload: web::Json<AddNotificationRequest>,
    @@ -131,7 +132,7 @@
         id: Identity,
     ) -> ServiceResult<impl Responder> {
         let sender = id.identity().unwrap();
    -    // TODO handle error where payload.to doesn't exist
    +    // TODO handle error where payload.to doesn't exist
     
         let p = AddNotification {
             from: &sender,
    @@ -167,11 +168,11 @@
         }
     
         pub async fn notification_works(data: ArcData) {
    -        const NAME1: &str = "notifuser1";
    -        const NAME2: &str = "notiuser2";
    -        const PASSWORD: &str = "longpassworddomain";
    -        const EMAIL1: &str = "testnotification1@a.com";
    -        const EMAIL2: &str = "testnotification2@a.com";
    +        const NAME1: &str = "notifuser1";
    +        const NAME2: &str = "notiuser2";
    +        const PASSWORD: &str = "longpassworddomain";
    +        const EMAIL1: &str = "testnotification1@a.com";
    +        const EMAIL2: &str = "testnotification2@a.com";
     
             let data = &data;
     
    @@ -186,8 +187,8 @@
     
             let msg = AddNotificationRequest {
                 to: NAME2.into(),
    -            heading: "Test notification".into(),
    -            message: "Testing notifications with a dummy message".into(),
    +            heading: "Test notification".into(),
    +            message: "Testing notifications with a dummy message".into(),
             };
     
             let send_notification_resp = test::call_service(
    diff --git a/src/mcaptcha/api/v1/notifications/get.rs.html b/src/mcaptcha/api/v1/notifications/get.rs.html
    index d1ca151f..fd5f7266 100644
    --- a/src/mcaptcha/api/v1/notifications/get.rs.html
    +++ b/src/mcaptcha/api/v1/notifications/get.rs.html
    @@ -1,4 +1,5 @@
    -get.rs - source
    1
    +get.rs - source
    +    
    1
     2
     3
     4
    @@ -190,15 +191,15 @@
     
     /// route handler that gets all unread notifications
     #[my_codegen::get(
    -    path = "crate::V1_API_ROUTES.notifications.get",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.notifications.get",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     pub async fn get_notification(
         data: AppData,
         id: Identity,
     ) -> ServiceResult<impl Responder> {
         let receiver = id.identity().unwrap();
    -    // TODO handle error where payload.to doesn't exist
    +    // TODO handle error where payload.to doesn't exist
     
         let notifications = data.db.get_all_unread_notifications(&receiver).await?;
         let notifications = NotificationResp::from_notifications(notifications);
    @@ -228,13 +229,13 @@
         }
     
         pub async fn notification_get_works(data: ArcData) {
    -        const NAME1: &str = "notifuser12";
    -        const NAME2: &str = "notiuser22";
    -        const PASSWORD: &str = "longpassworddomain";
    -        const EMAIL1: &str = "testnotification12@a.com";
    -        const EMAIL2: &str = "testnotification22@a.com";
    -        const HEADING: &str = "testing notifications get";
    -        const MESSAGE: &str = "testing notifications get message";
    +        const NAME1: &str = "notifuser12";
    +        const NAME2: &str = "notiuser22";
    +        const PASSWORD: &str = "longpassworddomain";
    +        const EMAIL1: &str = "testnotification12@a.com";
    +        const EMAIL2: &str = "testnotification22@a.com";
    +        const HEADING: &str = "testing notifications get";
    +        const MESSAGE: &str = "testing notifications get message";
     
             let data = &data;
     
    diff --git a/src/mcaptcha/api/v1/notifications/mark_read.rs.html b/src/mcaptcha/api/v1/notifications/mark_read.rs.html
    index 5e48f824..04fb174d 100644
    --- a/src/mcaptcha/api/v1/notifications/mark_read.rs.html
    +++ b/src/mcaptcha/api/v1/notifications/mark_read.rs.html
    @@ -1,4 +1,5 @@
    -mark_read.rs - source
    1
    +mark_read.rs - source
    +    
    1
     2
     3
     4
    @@ -157,8 +158,8 @@
     
     /// route handler that marks a notification read
     #[my_codegen::post(
    -    path = "crate::V1_API_ROUTES.notifications.mark_read",
    -    wrap = "crate::api::v1::get_middleware()"
    +    path = "crate::V1_API_ROUTES.notifications.mark_read",
    +    wrap = "crate::api::v1::get_middleware()"
     )]
     pub async fn mark_read(
         data: AppData,
    @@ -166,9 +167,9 @@
         id: Identity,
     ) -> ServiceResult<impl Responder> {
         let receiver = id.identity().unwrap();
    -    // TODO handle error where payload.to doesn't exist
    +    // TODO handle error where payload.to doesn't exist
     
    -    // TODO get payload from path /api/v1/notifications/{id}/read"
    +    // TODO get payload from path /api/v1/notifications/{id}/read"
         data.db
             .mark_notification_read(&receiver, payload.id)
             .await?;
    @@ -200,13 +201,13 @@
         }
     
         pub async fn notification_mark_read_works(data: ArcData) {
    -        const NAME1: &str = "notifuser122";
    -        const NAME2: &str = "notiuser222";
    -        const PASSWORD: &str = "longpassworddomain";
    -        const EMAIL1: &str = "testnotification122@a.com";
    -        const EMAIL2: &str = "testnotification222@a.com";
    -        const HEADING: &str = "testing notifications get";
    -        const MESSAGE: &str = "testing notifications get message";
    +        const NAME1: &str = "notifuser122";
    +        const NAME2: &str = "notiuser222";
    +        const PASSWORD: &str = "longpassworddomain";
    +        const EMAIL1: &str = "testnotification122@a.com";
    +        const EMAIL2: &str = "testnotification222@a.com";
    +        const HEADING: &str = "testing notifications get";
    +        const MESSAGE: &str = "testing notifications get message";
             let data = &data;
     
             delete_user(data, NAME1).await;
    diff --git a/src/mcaptcha/api/v1/notifications/mod.rs.html b/src/mcaptcha/api/v1/notifications/mod.rs.html
    index 5ce07ea1..24c4611d 100644
    --- a/src/mcaptcha/api/v1/notifications/mod.rs.html
    +++ b/src/mcaptcha/api/v1/notifications/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    @@ -43,17 +44,17 @@
     pub mod routes {
     
         pub struct Notifications {
    -        pub add: &'static str,
    -        pub mark_read: &'static str,
    -        pub get: &'static str,
    +        pub add: &'static str,
    +        pub mark_read: &'static str,
    +        pub get: &'static str,
         }
     
         impl Notifications {
             pub const fn new() -> Notifications {
                 Notifications {
    -                add: "/api/v1/notifications/add",
    -                mark_read: "/api/v1/notifications/read",
    -                get: "/api/v1/notifications/get",
    +                add: "/api/v1/notifications/add",
    +                mark_read: "/api/v1/notifications/read",
    +                get: "/api/v1/notifications/get",
                 }
             }
         }
    diff --git a/src/mcaptcha/api/v1/pow/get_config.rs.html b/src/mcaptcha/api/v1/pow/get_config.rs.html
    index c31e2135..b90041ad 100644
    --- a/src/mcaptcha/api/v1/pow/get_config.rs.html
    +++ b/src/mcaptcha/api/v1/pow/get_config.rs.html
    @@ -1,4 +1,5 @@
    -get_config.rs - source
    1
    +get_config.rs - source
    +    
    1
     2
     3
     4
    @@ -312,7 +313,7 @@
     }
     
     /// get PoW configuration for an mcaptcha key
    -#[my_codegen::post(path = "V1_API_ROUTES.pow.get_config()")]
    +#[my_codegen::post(path = "V1_API_ROUTES.pow.get_config()")]
     pub async fn get_config(
         payload: web::Json<GetConfigPayload>,
         data: AppData,
    @@ -332,7 +333,7 @@
                         .captcha
                         .get_pow(payload.key.clone())
                         .await
    -                    .expect("mcaptcha should be initialized and ready to go");
    +                    .expect("mcaptcha should be initialized and ready to go");
                     Ok(config.unwrap())
                 }
                 Err(e) => Err(e.into()),
    @@ -357,7 +358,7 @@
     /// This fn gets mcaptcha config from database, builds [Defense][libmcaptcha::Defense],
     /// creates [MCaptcha][libmcaptcha::MCaptcha] and adds it to [Master][libmcaptcha::Defense]
     pub async fn init_mcaptcha(data: &AppData, key: &str) -> ServiceResult<()> {
    -    println!("Initializing captcha");
    +    println!("Initializing captcha");
         // get levels
         let levels = data.db.get_captcha_levels(None, key).await?;
         let duration = data.db.get_captcha_cooldown(key).await?;
    @@ -376,12 +377,12 @@
         }
     
         let defense = defense.build()?;
    -    println!("{:?}", defense);
    +    println!("{:?}", defense);
     
         // create captcha
         let mcaptcha = MCaptchaBuilder::default()
             .defense(defense)
    -        // leaky bucket algorithm's emission interval
    +        // leaky bucket algorithm's emission interval
             .duration(duration as u64)
             //   .cache(cache)
             .build()
    @@ -422,9 +423,9 @@
             use crate::*;
             use actix_web::test;
     
    -        const NAME: &str = "powusrworks";
    -        const PASSWORD: &str = "testingpas";
    -        const EMAIL: &str = "randomuser@a.com";
    +        const NAME: &str = "powusrworks";
    +        const PASSWORD: &str = "testingpas";
    +        const EMAIL: &str = "randomuser@a.com";
     
             let data = &data;
     
    @@ -441,7 +442,7 @@
             // update and check changes
     
             let url = V1_API_ROUTES.pow.get_config;
    -        println!("{}", &url);
    +        println!("{}", &url);
             let get_config_resp = test::call_service(
                 &app,
                 post_request!(&get_config_payload, V1_API_ROUTES.pow.get_config)
    @@ -478,9 +479,9 @@
             use crate::api::v1::mcaptcha::create::CreateCaptcha;
             use crate::api::v1::mcaptcha::create::MCaptchaDetails;
     
    -        const NAME: &str = "powusrworks2";
    -        const PASSWORD: &str = "testingpas";
    -        const EMAIL: &str = "randomuser2@a.com";
    +        const NAME: &str = "powusrworks2";
    +        const PASSWORD: &str = "testingpas";
    +        const EMAIL: &str = "randomuser2@a.com";
             pub const L1: Level = Level {
                 difficulty_factor: 10,
                 visitor_threshold: 10,
    @@ -507,7 +508,7 @@
             let create_captcha = CreateCaptcha {
                 levels: levels.into(),
                 duration: 30,
    -            description: "dummy".into(),
    +            description: "dummy".into(),
                 publish_benchmarks: true,
             };
     
    @@ -547,7 +548,7 @@
     
                 let config: PoWConfig = test::read_body_json(get_config_resp).await;
                 println!(
    -                "[{count}] received difficulty_factor: {} prev difficulty_factor {}",
    +                "[{count}] received difficulty_factor: {} prev difficulty_factor {}",
                     config.difficulty_factor, prev
                 );
                 if count == levels.len() - 1 {
    diff --git a/src/mcaptcha/api/v1/pow/mod.rs.html b/src/mcaptcha/api/v1/pow/mod.rs.html
    index db9e174d..9ff56c1a 100644
    --- a/src/mcaptcha/api/v1/pow/mod.rs.html
    +++ b/src/mcaptcha/api/v1/pow/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    @@ -98,7 +99,7 @@
     pub fn services(cfg: &mut web::ServiceConfig) {
         let cors = actix_cors::Cors::default()
             .allow_any_origin()
    -        .allowed_methods(vec!["POST", "GET"])
    +        .allowed_methods(vec!["POST", "GET"])
             .allow_any_header()
             .max_age(3600)
             .send_wildcard();
    @@ -115,10 +116,10 @@
     
     pub mod routes {
         pub struct PoW {
    -        pub get_config: &'static str,
    -        pub verify_pow: &'static str,
    -        pub validate_captcha_token: &'static str,
    -        pub scope: &'static str,
    +        pub get_config: &'static str,
    +        pub verify_pow: &'static str,
    +        pub validate_captcha_token: &'static str,
    +        pub scope: &'static str,
         }
     
         macro_rules! rm_scope {
    @@ -138,12 +139,12 @@
                 // date: 2021-11-29 16:31
                 // commit: 6eb75d7
                 // route 404s when scope contained trailing slash
    -            //let scope = "/api/v1/pow/";
    -            let scope = "/api/v1/pow";
    +            //let scope = "/api/v1/pow/";
    +            let scope = "/api/v1/pow";
                 PoW {
    -                get_config: "/api/v1/pow/config",
    -                verify_pow: "/api/v1/pow/verify",
    -                validate_captcha_token: "/api/v1/pow/siteverify",
    +                get_config: "/api/v1/pow/config",
    +                verify_pow: "/api/v1/pow/verify",
    +                validate_captcha_token: "/api/v1/pow/siteverify",
                     scope,
                 }
             }
    @@ -161,9 +162,9 @@
         #[test]
         fn scope_pow_works() {
             let pow = PoW::new();
    -        assert_eq!(pow.get_config(), "/config");
    -        assert_eq!(pow.verify_pow(), "/verify");
    -        assert_eq!(pow.validate_captcha_token(), "/siteverify");
    +        assert_eq!(pow.get_config(), "/config");
    +        assert_eq!(pow.verify_pow(), "/verify");
    +        assert_eq!(pow.validate_captcha_token(), "/siteverify");
         }
     }
     
    \ 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 e67dcdaf..6c226b8d 100644 --- a/src/mcaptcha/api/v1/pow/verify_pow.rs.html +++ b/src/mcaptcha/api/v1/pow/verify_pow.rs.html @@ -1,4 +1,5 @@ -verify_pow.rs - source
    1
    +verify_pow.rs - source
    +    
    1
     2
     3
     4
    @@ -306,7 +307,7 @@
     
     /// route handler that verifies PoW and issues a solution token
     /// if verification is successful
    -#[my_codegen::post(path = "V1_API_ROUTES.pow.verify_pow()")]
    +#[my_codegen::post(path = "V1_API_ROUTES.pow.verify_pow()")]
     pub async fn verify_pow(
         req: HttpRequest,
         payload: web::Json<ApiWork>,
    @@ -319,7 +320,7 @@
         //
         // ref: https://docs.rs/actix-web/latest/actix_web/struct.HttpRequest.html#method.peer_addr
         #[cfg(test)]
    -    let ip = "127.0.1.1".into();
    +    let ip = "127.0.1.1".into();
     
         let key = payload.key.clone();
         let payload = payload.into_inner();
    @@ -379,9 +380,9 @@
         }
     
         pub async fn verify_analytics_pow_works(data: ArcData) {
    -        const NAME: &str = "powanalyticsuser";
    -        const PASSWORD: &str = "testingpas";
    -        const EMAIL: &str = "powanalyticsuser@a.com";
    +        const NAME: &str = "powanalyticsuser";
    +        const PASSWORD: &str = "testingpas";
    +        const EMAIL: &str = "powanalyticsuser@a.com";
             let data = &data;
     
             delete_user(data, NAME).await;
    @@ -419,7 +420,7 @@
                 nonce: work.nonce,
                 key: token_key.key.clone(),
                 time: Some(100),
    -            worker_type: Some("wasm".into()),
    +            worker_type: Some("wasm".into()),
             };
     
             let pow_verify_resp = test::call_service(
    @@ -442,9 +443,9 @@
         }
     
         pub async fn verify_pow_works(data: ArcData) {
    -        const NAME: &str = "powverifyusr";
    -        const PASSWORD: &str = "testingpas";
    -        const EMAIL: &str = "verifyuser@a.com";
    +        const NAME: &str = "powverifyusr";
    +        const PASSWORD: &str = "testingpas";
    +        const EMAIL: &str = "verifyuser@a.com";
             let data = &data;
     
             delete_user(data, NAME).await;
    @@ -503,7 +504,7 @@
             .await;
             assert_eq!(string_not_found.status(), StatusCode::BAD_REQUEST);
             let err: ErrorToResponse = test::read_body_json(string_not_found).await;
    -        assert_eq!(err.error, "Challenge: not found");
    +        assert_eq!(err.error, "Challenge: not found");
     
             // let pow_config_resp = test::call_service(
             //     &app,
    @@ -511,7 +512,7 @@
             // )
             // .await;
             // assert_eq!(pow_config_resp.status(), StatusCode::OK);
    -        // I'm not checking for errors because changing work.result triggered
    +        // I'm not checking for errors because changing work.result triggered
             // InssuficientDifficulty, which is possible because libmcaptcha calculates
             // difficulty with the submitted result. Besides, this endpoint is merely
             // propagating errors from libmcaptcha and libmcaptcha has tests covering the
    diff --git a/src/mcaptcha/api/v1/pow/verify_token.rs.html b/src/mcaptcha/api/v1/pow/verify_token.rs.html
    index 777dbd02..131cfe29 100644
    --- a/src/mcaptcha/api/v1/pow/verify_token.rs.html
    +++ b/src/mcaptcha/api/v1/pow/verify_token.rs.html
    @@ -1,4 +1,5 @@
    -verify_token.rs - source
    1
    +verify_token.rs - source
    +    
    1
     2
     3
     4
    @@ -234,7 +235,7 @@
     // API keys are mcaptcha actor names
     
     /// route handler that validates a PoW solution token
    -#[my_codegen::post(path = "V1_API_ROUTES.pow.validate_captcha_token()")]
    +#[my_codegen::post(path = "V1_API_ROUTES.pow.validate_captcha_token()")]
     pub async fn validate_captcha_token(
         payload: web::Json<VerifyCaptchaResultPayload>,
         data: AppData,
    @@ -248,7 +249,7 @@
         let res = data.captcha.validate_verification_tokens(payload).await?;
         let resp = CaptchaValidateResp { valid: res };
         data.stats.record_confirm(&data, &key).await?;
    -    //println!("{:?}", &payload);
    +    //println!("{:?}", &payload);
         Ok(HttpResponse::Ok().json(resp))
     }
     
    @@ -278,13 +279,13 @@
         }
     
         pub async fn validate_captcha_token_works(data: ArcData) {
    -        const NAME: &str = "enterprisetken";
    -        const PASSWORD: &str = "testingpas";
    -        const EMAIL: &str = "verifyuser@enter.com";
    -        const VERIFY_CAPTCHA_URL: &str = "/api/v1/pow/verify";
    -        const GET_URL: &str = "/api/v1/pow/config";
    -        const VERIFY_TOKEN_URL: &str = "/api/v1/pow/siteverify";
    -        //        const UPDATE_URL: &str = "/api/v1/mcaptcha/domain/token/duration/update";
    +        const NAME: &str = "enterprisetken";
    +        const PASSWORD: &str = "testingpas";
    +        const EMAIL: &str = "verifyuser@enter.com";
    +        const VERIFY_CAPTCHA_URL: &str = "/api/v1/pow/verify";
    +        const GET_URL: &str = "/api/v1/pow/config";
    +        const VERIFY_TOKEN_URL: &str = "/api/v1/pow/siteverify";
    +        //        const UPDATE_URL: &str = "/api/v1/mcaptcha/domain/token/duration/update";
     
             let data = &data;
             delete_user(data, NAME).await;
    diff --git a/src/mcaptcha/api/v1/routes.rs.html b/src/mcaptcha/api/v1/routes.rs.html
    index 1c125eef..72f299f0 100644
    --- a/src/mcaptcha/api/v1/routes.rs.html
    +++ b/src/mcaptcha/api/v1/routes.rs.html
    @@ -1,4 +1,5 @@
    -routes.rs - source
    1
    +routes.rs - source
    +    
    1
     2
     3
     4
    diff --git a/src/mcaptcha/api/v1/stats.rs.html b/src/mcaptcha/api/v1/stats.rs.html
    index 1fa97d7d..a0957e92 100644
    --- a/src/mcaptcha/api/v1/stats.rs.html
    +++ b/src/mcaptcha/api/v1/stats.rs.html
    @@ -1,4 +1,5 @@
    -stats.rs - source
    1
    +stats.rs - source
    +    
    1
     2
     3
     4
    @@ -270,8 +271,8 @@
     
     #[derive(Clone, Debug, Deserialize, Builder, Serialize)]
     pub struct BuildDetails {
    -    pub version: &'static str,
    -    pub git_commit_hash: &'static str,
    +    pub version: &'static str,
    +    pub git_commit_hash: &'static str,
     }
     
     pub mod routes {
    @@ -279,13 +280,13 @@
     
         #[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
         pub struct Stats {
    -        pub percentile_benches: &'static str,
    +        pub percentile_benches: &'static str,
         }
     
         impl Stats {
             pub const fn new() -> Self {
                 Self {
    -                percentile_benches: "/api/v1/stats/analytics/percentile",
    +                percentile_benches: "/api/v1/stats/analytics/percentile",
                 }
             }
         }
    @@ -355,7 +356,7 @@
     }
     
     /// Get difficulty factor with max time limit for percentile of stats
    -#[my_codegen::post(path = "crate::V1_API_ROUTES.stats.percentile_benches")]
    +#[my_codegen::post(path = "crate::V1_API_ROUTES.stats.percentile_benches")]
     async fn percentile_benches(
         data: AppData,
         payload: web::Json<PercentileReq>,
    @@ -403,12 +404,12 @@
         async fn stats_bench_work(data: ArcData) {
             use crate::tests::*;
     
    -        const NAME: &str = "benchstatsuesr";
    -        const EMAIL: &str = "benchstatsuesr@testadminuser.com";
    -        const PASSWORD: &str = "longpassword2";
    +        const NAME: &str = "benchstatsuesr";
    +        const EMAIL: &str = "benchstatsuesr@testadminuser.com";
    +        const PASSWORD: &str = "longpassword2";
     
    -        const DEVICE_USER_PROVIDED: &str = "foo";
    -        const DEVICE_SOFTWARE_RECOGNISED: &str = "Foobar.v2";
    +        const DEVICE_USER_PROVIDED: &str = "foo";
    +        const DEVICE_SOFTWARE_RECOGNISED: &str = "Foobar.v2";
             const THREADS: i32 = 4;
     
             let data = &data;
    @@ -446,11 +447,11 @@
                 .unwrap();
     
             for i in 1..6 {
    -            println!("[{i}] Saving analytics");
    +            println!("[{i}] Saving analytics");
                 let analytics = db_core::CreatePerformanceAnalytics {
                     time: i,
                     difficulty_factor: i,
    -                worker_type: "wasm".into(),
    +                worker_type: "wasm".into(),
                 };
                 data.db.analysis_save(&key.key, &analytics).await.unwrap();
             }
    diff --git a/src/mcaptcha/api/v1/survey.rs.html b/src/mcaptcha/api/v1/survey.rs.html
    index 87bdc80b..469a16e1 100644
    --- a/src/mcaptcha/api/v1/survey.rs.html
    +++ b/src/mcaptcha/api/v1/survey.rs.html
    @@ -1,4 +1,5 @@
    -survey.rs - source
    1
    +survey.rs - source
    +    
    1
     2
     3
     4
    @@ -283,22 +284,22 @@
     
     pub mod routes {
         pub struct Survey {
    -        pub download: &'static str,
    -        pub secret: &'static str,
    +        pub download: &'static str,
    +        pub secret: &'static str,
         }
     
         impl Survey {
             pub const fn new() -> Self {
                 Self {
    -                download: "/api/v1/survey/takeout/{survey_id}/get",
    -                secret: "/api/v1/survey/secret",
    +                download: "/api/v1/survey/takeout/{survey_id}/get",
    +                secret: "/api/v1/survey/secret",
                 }
             }
     
             pub fn get_download_route(&self, survey_id: &str, page: usize) -> String {
                 format!(
    -                "{}?page={}",
    -                self.download.replace("{survey_id}", survey_id),
    +                "{}?page={}",
    +                self.download.replace("{survey_id}", survey_id),
                     page
                 )
             }
    @@ -311,7 +312,7 @@
     }
     
     /// emits build details of the bninary
    -#[my_codegen::get(path = "crate::V1_API_ROUTES.survey.download")]
    +#[my_codegen::get(path = "crate::V1_API_ROUTES.survey.download")]
     async fn download(
         data: AppData,
         page: web::Query<Page>,
    @@ -339,7 +340,7 @@
     }
     
     /// mCaptcha/survey upload secret route
    -#[my_codegen::post(path = "crate::V1_API_ROUTES.survey.secret")]
    +#[my_codegen::post(path = "crate::V1_API_ROUTES.survey.secret")]
     async fn secret(
         data: AppData,
         payload: web::Json<SurveySecretUpload>,
    @@ -382,7 +383,7 @@
             let data = &data;
             let app = get_app!(data).await;
     
    -        let survey_instance_url = "http://survey_registration_works.survey.example.org";
    +        let survey_instance_url = "http://survey_registration_works.survey.example.org";
     
             let key = get_random(20);
     
    @@ -427,9 +428,9 @@
         }
     
         pub async fn survey_works(data: ArcData) {
    -        const NAME: &str = "survetuseranalytics";
    -        const PASSWORD: &str = "longpassworddomain";
    -        const EMAIL: &str = "survetuseranalytics@a.com";
    +        const NAME: &str = "survetuseranalytics";
    +        const PASSWORD: &str = "longpassworddomain";
    +        const EMAIL: &str = "survetuseranalytics@a.com";
             let data = &data;
     
             delete_user(data, NAME).await;
    @@ -464,18 +465,18 @@
                 .unwrap();
     
             for i in 0..60 {
    -            println!("[{i}] Saving analytics");
    +            println!("[{i}] Saving analytics");
                 let analytics = db_core::CreatePerformanceAnalytics {
                     time: 0,
                     difficulty_factor: 0,
    -                worker_type: "wasm".into(),
    +                worker_type: "wasm".into(),
                 };
                 data.db.analysis_save(&key.key, &analytics).await.unwrap();
             }
     
             for p in 1..3 {
                 let download_rotue = V1_API_ROUTES.survey.get_download_route(&psuedo_id, p);
    -            println!("page={p}, download={download_rotue}");
    +            println!("page={p}, download={download_rotue}");
     
                 let download_req = test::call_service(
                     &app,
    diff --git a/src/mcaptcha/data.rs.html b/src/mcaptcha/data.rs.html
    index f470a48f..8c7ef353 100644
    --- a/src/mcaptcha/data.rs.html
    +++ b/src/mcaptcha/data.rs.html
    @@ -1,4 +1,5 @@
    -data.rs - source
    1
    +data.rs - source
    +    
    1
     2
     3
     4
    @@ -462,9 +463,9 @@
     
             #[allow(unused_variables)]
             let init = thread::spawn(move || {
    -            log::info!("Initializing credential manager");
    +            log::info!("Initializing credential manager");
                 c.init();
    -            log::info!("Initialized credential manager");
    +            log::info!("Initialized credential manager");
             });
     
             let db = match s.database.database_type {
    @@ -497,7 +498,7 @@
         fn get_mailer(s: &Settings) -> Option<Mailer> {
             if let Some(smtp) = s.smtp.as_ref() {
                 let creds =
    -                Credentials::new(smtp.username.to_string(), smtp.password.to_string()); // "smtp_username".to_string(), "smtp_password".to_string());
    +                Credentials::new(smtp.username.to_string(), smtp.password.to_string()); // "smtp_username".to_string(), "smtp_password".to_string());
     
                 let mailer: Mailer =
                     AsyncSmtpTransport::<Tokio1Executor>::builder_dangerous(&smtp.url)
    @@ -510,7 +511,7 @@
                         ])
                         .build();
     
    -            //            let mailer: Mailer = AsyncSmtpTransport::<Tokio1Executor>::relay(&smtp.url) //"smtp.gmail.com")
    +            //            let mailer: Mailer = AsyncSmtpTransport::<Tokio1Executor>::relay(&smtp.url) //"smtp.gmail.com")
                 //                .unwrap()
                 //                .credentials(creds)
                 //                .build();
    diff --git a/src/mcaptcha/date.rs.html b/src/mcaptcha/date.rs.html
    index b50af8eb..926b73ab 100644
    --- a/src/mcaptcha/date.rs.html
    +++ b/src/mcaptcha/date.rs.html
    @@ -1,4 +1,5 @@
    -date.rs - source
    1
    +date.rs - source
    +    
    1
     2
     3
     4
    @@ -122,9 +123,9 @@
     }
     
     impl Debug for Date {
    -    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
    -        f.debug_struct("Date")
    -            .field("time", &self.print_date())
    +    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
    +        f.debug_struct("Date")
    +            .field("time", &self.print_date())
                 .finish()
         }
     }
    @@ -142,15 +143,15 @@
             let difference = now - timestamp;
     
             if difference >= 3 * WEEK {
    -            format!("{}{}{}", date.year(), date.month(), date.date())
    +            format!("{}{}{}", date.year(), date.month(), date.date())
             } else if (DAY..(3 * WEEK)).contains(&difference) {
    -            format!("{} days ago", date.hour())
    +            format!("{} days ago", date.hour())
             } else if (HOUR..DAY).contains(&difference) {
    -            format!("{} hours ago", date.hour())
    +            format!("{} hours ago", date.hour())
             } else if (MINUTE..HOUR).contains(&difference) {
    -            format!("{} minutes ago", date.minute())
    +            format!("{} minutes ago", date.minute())
             } else {
    -            format!("{} seconds ago", date.second())
    +            format!("{} seconds ago", date.second())
             }
         }
     
    @@ -162,7 +163,7 @@
         /// print date
         pub fn date(&self) -> String {
             format!(
    -            "{}{}{}",
    +            "{}{}{}",
                 self.time.year(),
                 self.time.month(),
                 self.time.date()
    @@ -187,32 +188,32 @@
             };
     
             let timestamp = n.time.unix_timestamp();
    -        println!("timestamp: {}", timestamp);
    +        println!("timestamp: {}", timestamp);
     
             // seconds test
    -        assert!(n.print_date().contains("seconds ago"));
    +        assert!(n.print_date().contains("seconds ago"));
             n.time = OffsetDateTime::from_unix_timestamp(timestamp - 5).unwrap();
    -        assert!(n.print_date().contains("seconds ago"));
    +        assert!(n.print_date().contains("seconds ago"));
     
             // minutes test
             n.time = OffsetDateTime::from_unix_timestamp(timestamp - MINUTE * 2).unwrap();
    -        assert!(n.print_date().contains("minutes ago"));
    +        assert!(n.print_date().contains("minutes ago"));
             n.time = OffsetDateTime::from_unix_timestamp(timestamp - MINUTE * 56).unwrap();
    -        assert!(n.print_date().contains("minutes ago"));
    +        assert!(n.print_date().contains("minutes ago"));
     
             // hours test
             n.time = OffsetDateTime::from_unix_timestamp(timestamp - HOUR).unwrap();
    -        assert!(n.print_date().contains("hours ago"));
    +        assert!(n.print_date().contains("hours ago"));
             n.time = OffsetDateTime::from_unix_timestamp(timestamp - HOUR * 23).unwrap();
    -        assert!(n.print_date().contains("hours ago"));
    +        assert!(n.print_date().contains("hours ago"));
     
             // days test
             n.time = OffsetDateTime::from_unix_timestamp(timestamp - 2 * WEEK).unwrap();
    -        assert!(n.print_date().contains("days ago"));
    +        assert!(n.print_date().contains("days ago"));
     
             // date test
             n.time = OffsetDateTime::from_unix_timestamp(timestamp - 6 * WEEK).unwrap();
    -        let date = format!("{}{}{}", n.time.year(), n.time.month(), n.time.date());
    +        let date = format!("{}{}{}", n.time.year(), n.time.month(), n.time.date());
             assert!(n.print_date().contains(&date))
         }
     }
    diff --git a/src/mcaptcha/db.rs.html b/src/mcaptcha/db.rs.html
    index daec9fe9..8414f82f 100644
    --- a/src/mcaptcha/db.rs.html
    +++ b/src/mcaptcha/db.rs.html
    @@ -1,4 +1,5 @@
    -db.rs - source
    1
    +db.rs - source
    +    
    1
     2
     3
     4
    diff --git a/src/mcaptcha/demo.rs.html b/src/mcaptcha/demo.rs.html
    index a2af2ad9..f7fda9df 100644
    --- a/src/mcaptcha/demo.rs.html
    +++ b/src/mcaptcha/demo.rs.html
    @@ -1,4 +1,5 @@
    -demo.rs - source
    1
    +demo.rs - source
    +    
    1
     2
     3
     4
    @@ -214,9 +215,9 @@
     use errors::*;
     
     /// Demo username
    -pub const DEMO_USER: &str = "aaronsw";
    +pub const DEMO_USER: &str = "aaronsw";
     /// Demo password
    -pub const DEMO_PASSWORD: &str = "password";
    +pub const DEMO_PASSWORD: &str = "password";
     
     pub struct DemoUser {
         tx: Sender<()>,
    @@ -253,7 +254,7 @@
                     email: None,
                 };
     
    -            log::info!("Registering demo user");
    +            log::info!("Registering demo user");
                 match register_runner(&register_payload, data).await {
                     Err(ServiceError::UsernameTaken) | Ok(_) => Ok(()),
                     Err(e) => Err(e),
    @@ -264,7 +265,7 @@
         }
     
         async fn delete_demo_user(data: &AppData) -> ServiceResult<()> {
    -        log::info!("Deleting demo user");
    +        log::info!("Deleting demo user");
             delete_user(DEMO_USER, data).await?;
             Ok(())
         }
    @@ -300,11 +301,11 @@
                     }
     
                     if let Err(e) = Self::delete_demo_user(&data).await {
    -                    log::error!("Error while deleting demo user: {:?}", e);
    +                    log::error!("Error while deleting demo user: {:?}", e);
                     }
     
                     if let Err(e) = Self::register_demo_user(&data).await {
    -                    log::error!("Error while registering demo user: {:?}", e);
    +                    log::error!("Error while registering demo user: {:?}", e);
                     }
                 }
             };
    diff --git a/src/mcaptcha/docs.rs.html b/src/mcaptcha/docs.rs.html
    index b67f839b..fb8b60a0 100644
    --- a/src/mcaptcha/docs.rs.html
    +++ b/src/mcaptcha/docs.rs.html
    @@ -1,4 +1,5 @@
    -docs.rs - source
    1
    +docs.rs - source
    +    
    1
     2
     3
     4
    @@ -140,17 +141,17 @@
     
     pub mod routes {
         pub struct Docs {
    -        pub home: &'static str,
    -        pub spec: &'static str,
    -        pub assets: &'static str,
    +        pub home: &'static str,
    +        pub spec: &'static str,
    +        pub assets: &'static str,
         }
     
         impl Docs {
             pub const fn new() -> Self {
                 Docs {
    -                home: "/docs/",
    -                spec: "/docs/openapi.yaml",
    -                assets: "/docs/{_:.*}",
    +                home: "/docs/",
    +                spec: "/docs/openapi.yaml",
    +                assets: "/docs/{_:.*}",
                 }
             }
         }
    @@ -161,7 +162,7 @@
     }
     
     #[derive(RustEmbed)]
    -#[folder = "static/openapi/"]
    +#[folder = "static/openapi/"]
     struct Asset;
     
     pub fn handle_embedded_file(path: &str) -> HttpResponse {
    @@ -175,32 +176,32 @@
                 HttpResponse::Ok()
                     .insert_header(header::CacheControl(vec![
                         header::CacheDirective::Public,
    -                    header::CacheDirective::Extension("immutable".into(), None),
    +                    header::CacheDirective::Extension("immutable".into(), None),
                         header::CacheDirective::MaxAge(CACHE_AGE),
                     ]))
                     .content_type(from_path(path).first_or_octet_stream().as_ref())
                     .body(body)
             }
    -        None => HttpResponse::NotFound().body("404 Not Found"),
    +        None => HttpResponse::NotFound().body("404 Not Found"),
         }
     }
     
    -#[my_codegen::get(path = "DOCS.assets")]
    +#[my_codegen::get(path = "DOCS.assets")]
     async fn dist(path: web::Path<String>) -> impl Responder {
         handle_embedded_file(&path)
     }
    -const OPEN_API_SPEC: &str = include_str!("../docs/openapi/dist/openapi.yaml");
    +const OPEN_API_SPEC: &str = include_str!("../docs/openapi/dist/openapi.yaml");
     
    -#[my_codegen::get(path = "DOCS.spec")]
    +#[my_codegen::get(path = "DOCS.spec")]
     async fn spec() -> HttpResponse {
         HttpResponse::Ok()
    -        .content_type("text/yaml")
    +        .content_type("text/yaml")
             .body(OPEN_API_SPEC)
     }
     
    -#[my_codegen::get(path = "&DOCS.home[0..DOCS.home.len() -1]")]
    +#[my_codegen::get(path = "&DOCS.home[0..DOCS.home.len() -1]")]
     async fn index() -> HttpResponse {
    -    handle_embedded_file("index.html")
    +    handle_embedded_file("index.html")
     }
     
     #[cfg(test)]
    @@ -213,7 +214,7 @@
     
         #[actix_rt::test]
         async fn docs_works() {
    -        const FILE: &str = "favicon-32x32.png";
    +        const FILE: &str = "favicon-32x32.png";
     
             let app = test::init_service(
                 App::new()
    @@ -238,7 +239,7 @@
             .await;
             assert_eq!(resp.status(), StatusCode::OK);
     
    -        let uri = format!("{}{}", DOCS.home, FILE);
    +        let uri = format!("{}{}", DOCS.home, FILE);
     
             let resp =
                 test::call_service(&app, test::TestRequest::get().uri(&uri).to_request())
    diff --git a/src/mcaptcha/easy.rs.html b/src/mcaptcha/easy.rs.html
    index de6601c7..7564a3f5 100644
    --- a/src/mcaptcha/easy.rs.html
    +++ b/src/mcaptcha/easy.rs.html
    @@ -1,4 +1,5 @@
    -easy.rs - source
    1
    +easy.rs - source
    +    
    1
     2
     3
     4
    @@ -252,7 +253,7 @@
                         .err()
                     {
                         log::error!(
    -                        "Tried to update easy captcha configurations in background {:?}",
    +                        "Tried to update easy captcha configurations in background {:?}",
                             err
                         );
                     }
    diff --git a/src/mcaptcha/email/mod.rs.html b/src/mcaptcha/email/mod.rs.html
    index 19d38aa5..b2850e5a 100644
    --- a/src/mcaptcha/email/mod.rs.html
    +++ b/src/mcaptcha/email/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    diff --git a/src/mcaptcha/email/verification.rs.html b/src/mcaptcha/email/verification.rs.html
    index e4a2cb68..d8f67377 100644
    --- a/src/mcaptcha/email/verification.rs.html
    +++ b/src/mcaptcha/email/verification.rs.html
    @@ -1,4 +1,5 @@
    -verification.rs - source
    1
    +verification.rs - source
    +    
    1
     2
     3
     4
    @@ -142,16 +143,16 @@
     use crate::errors::*;
     use crate::Data;
     
    -const PAGE: &str = "Login";
    +const PAGE: &str = "Login";
     
     #[derive(Clone, TemplateOnce)]
    -#[template(path = "email/verification/index.html")]
    -struct IndexPage<'a> {
    -    verification_link: &'a str,
    +#[template(path = "email/verification/index.html")]
    +struct IndexPage<'a> {
    +    verification_link: &'a str,
     }
     
    -impl<'a> IndexPage<'a> {
    -    fn new(verification_link: &'a str) -> Self {
    +impl<'a> IndexPage<'a> {
    +    fn new(verification_link: &'a str) -> Self {
             Self { verification_link }
         }
     }
    @@ -162,24 +163,24 @@
         verification_link: &str,
     ) -> ServiceResult<()> {
         if let Some(smtp) = data.settings.smtp.as_ref() {
    -        let from = format!("mCaptcha Admin <{}>", smtp.from);
    -        let reply_to = format!("mCaptcha Admin <{}>", smtp.reply);
    -        const SUBJECT: &str = "[mCaptcha] Please verify your email";
    +        let from = format!("mCaptcha Admin <{}>", smtp.from);
    +        let reply_to = format!("mCaptcha Admin <{}>", smtp.reply);
    +        const SUBJECT: &str = "[mCaptcha] Please verify your email";
     
             let plain_text = format!(
    -            "
    +            "
     Welcome to mCaptcha!
     
     Please verify your email address to continue.
     
     VERIFICATION LINK: {}
     
    -Please ignore this email if you weren't expecting it.
    +Please ignore this email if you weren't expecting it.
     
     With best regards,
     Admin
     instance: {}
    -project website: {}",
    +project website: {}",
                 verification_link,
                 &data.settings.server.domain,
                 crate::PKG_HOMEPAGE
    @@ -231,8 +232,8 @@ project website: {}",
         }
     
         async fn email_verification_works(data: crate::ArcData) {
    -        const TO_ADDR: &str = "Hello <realaravinth@localhost>";
    -        const VERIFICATION_LINK: &str = "https://localhost";
    +        const TO_ADDR: &str = "Hello <realaravinth@localhost>";
    +        const VERIFICATION_LINK: &str = "https://localhost";
             let settings = &data.settings;
             verification(&data, TO_ADDR, VERIFICATION_LINK)
                 .await
    @@ -240,7 +241,7 @@ project website: {}",
     
             let client = Client::default();
             let mut resp = client
    -            .get("http://localhost:1080/email")
    +            .get("http://localhost:1080/email")
                 .send()
                 .await
                 .unwrap();
    @@ -248,11 +249,11 @@ project website: {}",
             let data = &data[0];
             let smtp = settings.smtp.as_ref().unwrap();
     
    -        let from_addr = &data["headers"]["from"];
    +        let from_addr = &data["headers"]["from"];
     
             assert!(from_addr.to_string().contains(&smtp.from));
     
    -        let body = &data["html"];
    +        let body = &data["html"];
             assert!(body.to_string().contains(VERIFICATION_LINK));
         }
     }
    diff --git a/src/mcaptcha/errors.rs.html b/src/mcaptcha/errors.rs.html
    index 3fb2b431..c6013021 100644
    --- a/src/mcaptcha/errors.rs.html
    +++ b/src/mcaptcha/errors.rs.html
    @@ -1,4 +1,5 @@
    -errors.rs - source
    1
    +errors.rs - source
    +    
    1
     2
     3
     4
    @@ -356,7 +357,7 @@
     
     impl std::cmp::PartialEq for DBErrorWrapper {
         fn eq(&self, other: &Self) -> bool {
    -        format!("{}", self.0) == format!("{}", other.0)
    +        format!("{}", self.0) == format!("{}", other.0)
         }
     }
     
    @@ -369,74 +370,74 @@
     #[derive(Debug, Display, PartialEq, Error)]
     #[cfg(not(tarpaulin_include))]
     pub enum ServiceError {
    -    #[display(fmt = "internal server error")]
    +    #[display(fmt = "internal server error")]
         InternalServerError,
     
         #[display(
    -        fmt = "This server is is closed for registration. Contact admin if this is unexpecter"
    +        fmt = "This server is is closed for registration. Contact admin if this is unexpecter"
         )]
         ClosedForRegistration,
     
    -    #[display(fmt = "The value you entered for email is not an email")] //405j
    +    #[display(fmt = "The value you entered for email is not an email")] //405j
         NotAnEmail,
    -    #[display(fmt = "The value you entered for URL is not a URL")] //405j
    +    #[display(fmt = "The value you entered for URL is not a URL")] //405j
         NotAUrl,
     
    -    #[display(fmt = "Wrong password")]
    +    #[display(fmt = "Wrong password")]
         WrongPassword,
    -    #[display(fmt = "Username not found")]
    +    #[display(fmt = "Username not found")]
         UsernameNotFound,
    -    #[display(fmt = "Account not found")]
    +    #[display(fmt = "Account not found")]
         AccountNotFound,
     
         /// when the value passed contains profainity
    -    #[display(fmt = "Can't allow profanity in usernames")]
    +    #[display(fmt = "Can't allow profanity in usernames")]
         ProfainityError,
         /// when the value passed contains blacklisted words
         /// see [blacklist](https://github.com/shuttlecraft/The-Big-Username-Blacklist)
    -    #[display(fmt = "Username contains blacklisted words")]
    +    #[display(fmt = "Username contains blacklisted words")]
         BlacklistError,
         /// when the value passed contains characters not present
         /// in [UsernameCaseMapped](https://tools.ietf.org/html/rfc8265#page-7)
         /// profile
    -    #[display(fmt = "username_case_mapped violation")]
    +    #[display(fmt = "username_case_mapped violation")]
         UsernameCaseMappedError,
     
    -    #[display(fmt = "Passsword too short")]
    +    #[display(fmt = "Passsword too short")]
         PasswordTooShort,
    -    #[display(fmt = "Username too long")]
    +    #[display(fmt = "Username too long")]
         PasswordTooLong,
    -    #[display(fmt = "Passwords don't match")]
    +    #[display(fmt = "Passwords don't match")]
         PasswordsDontMatch,
     
         /// when the a username is already taken
    -    #[display(fmt = "Username not available")]
    +    #[display(fmt = "Username not available")]
         UsernameTaken,
     
         /// email is already taken
    -    #[display(fmt = "Email not available")]
    +    #[display(fmt = "Email not available")]
         EmailTaken,
     
         /// Unable to send email
    -    #[display(fmt = "Unable to send email, contact admin")]
    +    #[display(fmt = "Unable to send email, contact admin")]
         UnableToSendEmail(SmtpErrorWrapper),
     
         /// token not found
    -    #[display(fmt = "Token not found. Is token registered?")]
    +    #[display(fmt = "Token not found. Is token registered?")]
         TokenNotFound,
     
    -    #[display(fmt = "{}", _0)]
    +    #[display(fmt = "{}", _0)]
         CaptchaError(CaptchaError),
     
    -    #[display(fmt = "{}", _0)]
    +    #[display(fmt = "{}", _0)]
         DBError(DBErrorWrapper),
     
         /// captcha not found
    -    #[display(fmt = "Captcha not found.")]
    +    #[display(fmt = "Captcha not found.")]
         CaptchaNotFound,
     
         /// Traffic pattern not found
    -    #[display(fmt = "Traffic pattern not found")]
    +    #[display(fmt = "Traffic pattern not found")]
         TrafficPatternNotFound,
     }
     
    @@ -451,7 +452,7 @@
         #[cfg(not(tarpaulin_include))]
         fn error_response(&self) -> HttpResponse {
             HttpResponseBuilder::new(self.status_code())
    -            .append_header((header::CONTENT_TYPE, "application/json; charset=UTF-8"))
    +            .append_header((header::CONTENT_TYPE, "application/json; charset=UTF-8"))
                 .body(
                     serde_json::to_string(&ErrorToResponse {
                         error: self.to_string(),
    @@ -484,7 +485,7 @@
     
                 ServiceError::TokenNotFound => StatusCode::NOT_FOUND,
                 ServiceError::CaptchaError(e) => {
    -                log::error!("{}", e);
    +                log::error!("{}", e);
                     match e {
                         CaptchaError::MailboxError => StatusCode::INTERNAL_SERVER_ERROR,
                         _ => StatusCode::BAD_REQUEST,
    @@ -492,7 +493,7 @@
                 }
     
                 ServiceError::UnableToSendEmail(e) => {
    -                log::error!("{}", e.0);
    +                log::error!("{}", e.0);
                     StatusCode::INTERNAL_SERVER_ERROR
                 }
     
    @@ -521,7 +522,7 @@
     impl From<DBError> for ServiceError {
         #[cfg(not(tarpaulin_include))]
         fn from(e: DBError) -> ServiceError {
    -        println!("from conversin: {}", e);
    +        println!("from conversin: {}", e);
             match e {
                 DBError::UsernameTaken => ServiceError::UsernameTaken,
                 DBError::SecretTaken => ServiceError::InternalServerError,
    @@ -567,7 +568,7 @@
     impl From<RecvError> for ServiceError {
         #[cfg(not(tarpaulin_include))]
         fn from(e: RecvError) -> Self {
    -        log::error!("{:?}", e);
    +        log::error!("{:?}", e);
             ServiceError::InternalServerError
         }
     }
    @@ -576,7 +577,7 @@
     impl From<MailboxError> for ServiceError {
         #[cfg(not(tarpaulin_include))]
         fn from(e: MailboxError) -> Self {
    -        log::error!("{:?}", e);
    +        log::error!("{:?}", e);
             ServiceError::InternalServerError
         }
     }
    @@ -587,10 +588,10 @@
     #[derive(Debug, Display, PartialEq, Error)]
     #[cfg(not(tarpaulin_include))]
     pub enum PageError {
    -    #[display(fmt = "Something weng wrong: Internal server error")]
    +    #[display(fmt = "Something weng wrong: Internal server error")]
         InternalServerError,
     
    -    #[display(fmt = "{}", _0)]
    +    #[display(fmt = "{}", _0)]
         ServiceError(ServiceError),
     }
     
    diff --git a/src/mcaptcha/main.rs.html b/src/mcaptcha/main.rs.html
    index 42774bf2..4a561605 100644
    --- a/src/mcaptcha/main.rs.html
    +++ b/src/mcaptcha/main.rs.html
    @@ -1,4 +1,5 @@
    -main.rs - source
    1
    +main.rs - source
    +    
    1
     2
     3
     4
    @@ -275,40 +276,40 @@
     
     lazy_static! {
         pub static ref SETTINGS: Settings = Settings::new().unwrap();
    -//    pub static ref S: String = env::var("S").unwrap();
    +//    pub static ref S: String = env::var("S").unwrap();
         pub static ref FILES: FileMap = FileMap::new();
    -    pub static ref JS: &'static str =
    -        FILES.get("./static/cache/bundle/bundle.js").unwrap();
    -    pub static ref CSS: &'static str =
    -        FILES.get("./static/cache/bundle/css/main.css").unwrap();
    -    pub static ref MOBILE_CSS: &'static str =
    -        FILES.get("./static/cache/bundle/css/mobile.css").unwrap();
    +    pub static ref JS: &'static str =
    +        FILES.get("./static/cache/bundle/bundle.js").unwrap();
    +    pub static ref CSS: &'static str =
    +        FILES.get("./static/cache/bundle/css/main.css").unwrap();
    +    pub static ref MOBILE_CSS: &'static str =
    +        FILES.get("./static/cache/bundle/css/mobile.css").unwrap();
     
    -    pub static ref VERIFICATIN_WIDGET_JS: &'static str =
    -        FILES.get("./static/cache/bundle/verificationWidget.js").unwrap();
    -    pub static ref VERIFICATIN_WIDGET_CSS: &'static str =
    -        FILES.get("./static/cache/bundle/css/widget.css").unwrap();
    +    pub static ref VERIFICATIN_WIDGET_JS: &'static str =
    +        FILES.get("./static/cache/bundle/verificationWidget.js").unwrap();
    +    pub static ref VERIFICATIN_WIDGET_CSS: &'static str =
    +        FILES.get("./static/cache/bundle/css/widget.css").unwrap();
     
         /// points to source files matching build commit
         pub static ref SOURCE_FILES_OF_INSTANCE: String = {
             let mut url = SETTINGS.source_code.clone();
    -        if !url.ends_with('/') {
    -            url.push('/');
    +        if !url.ends_with('/') {
    +            url.push('/');
             }
             let mut  base = url::Url::parse(&url).unwrap();
    -        base =  base.join("tree/").unwrap();
    +        base =  base.join("tree/").unwrap();
             base =  base.join(GIT_COMMIT_HASH).unwrap();
             base.into()
         };
     
     }
     
    -pub const COMPILED_DATE: &str = env!("COMPILED_DATE");
    -pub const GIT_COMMIT_HASH: &str = env!("GIT_HASH");
    -pub const VERSION: &str = env!("CARGO_PKG_VERSION");
    -pub const PKG_NAME: &str = env!("CARGO_PKG_NAME");
    -pub const PKG_DESCRIPTION: &str = env!("CARGO_PKG_DESCRIPTION");
    -pub const PKG_HOMEPAGE: &str = env!("CARGO_PKG_HOMEPAGE");
    +pub const COMPILED_DATE: &str = env!("COMPILED_DATE");
    +pub const GIT_COMMIT_HASH: &str = env!("GIT_HASH");
    +pub const VERSION: &str = env!("CARGO_PKG_VERSION");
    +pub const PKG_NAME: &str = env!("CARGO_PKG_NAME");
    +pub const PKG_DESCRIPTION: &str = env!("CARGO_PKG_DESCRIPTION");
    +pub const PKG_HOMEPAGE: &str = env!("CARGO_PKG_HOMEPAGE");
     
     pub const CACHE_AGE: u32 = 604800;
     
    @@ -320,13 +321,13 @@
     async fn main() -> std::io::Result<()> {
         use std::time::Duration;
     
    -    if env::var("RUST_LOG").is_err() {
    -        env::set_var("RUST_LOG", "info");
    +    if env::var("RUST_LOG").is_err() {
    +        env::set_var("RUST_LOG", "info");
         }
     
         pretty_env_logger::init();
         info!(
    -        "{}: {}.\nFor more information, see: {}\nBuild info:\nVersion: {} commit: {}",
    +        "{}: {}.\nFor more information, see: {}\nBuild info:\nVersion: {} commit: {}",
             PKG_NAME, PKG_DESCRIPTION, PKG_HOMEPAGE, VERSION, GIT_COMMIT_HASH
         );
     
    @@ -364,14 +365,14 @@
         }
     
         let ip = settings.server.get_ip();
    -    println!("Starting server on: http://{ip}");
    +    println!("Starting server on: http://{ip}");
     
         HttpServer::new(move || {
             App::new()
                 .wrap(actix_middleware::Logger::default())
                 .wrap(
                     actix_middleware::DefaultHeaders::new()
    -                    .add(("Permissions-Policy", "interest-cohort=()")),
    +                    .add(("Permissions-Policy", "interest-cohort=()")),
                 )
                 .wrap(get_identity_service(&settings))
                 .wrap(actix_middleware::Compress::default())
    @@ -411,7 +412,7 @@
     #[cfg(not(tarpaulin_include))]
     pub fn get_json_err() -> JsonConfig {
         JsonConfig::default().error_handler(|err, _| {
    -        //debug!("JSON deserialization error: {:?}", &err);
    +        //debug!("JSON deserialization error: {:?}", &err);
             InternalError::new(err, StatusCode::BAD_REQUEST).into()
         })
     }
    @@ -423,7 +424,7 @@
         let cookie_secret = &settings.server.cookie_secret;
         IdentityService::new(
             CookieIdentityPolicy::new(cookie_secret.as_bytes())
    -            .name("Authorization")
    +            .name("Authorization")
                 //TODO change cookie age
                 .max_age_secs(216000)
                 .domain(&settings.server.domain)
    @@ -438,7 +439,7 @@
             assert_eq!(
                 &*crate::SOURCE_FILES_OF_INSTANCE,
                 &format!(
    -                "https://github.com/mCaptcha/mCaptcha/tree/{}",
    +                "https://github.com/mCaptcha/mCaptcha/tree/{}",
                     crate::GIT_COMMIT_HASH
                 )
             );
    diff --git a/src/mcaptcha/pages/auth/login.rs.html b/src/mcaptcha/pages/auth/login.rs.html
    index 154fe6db..75e3a138 100644
    --- a/src/mcaptcha/pages/auth/login.rs.html
    +++ b/src/mcaptcha/pages/auth/login.rs.html
    @@ -1,4 +1,5 @@
    -login.rs - source
    1
    +login.rs - source
    +    
    1
     2
     3
     4
    @@ -44,9 +45,9 @@
     use crate::PAGES;
     
     #[derive(Clone, TemplateOnce)]
    -#[template(path = "auth/login/index.html")]
    +#[template(path = "auth/login/index.html")]
     struct IndexPage;
    -const PAGE: &str = "Login";
    +const PAGE: &str = "Login";
     
     impl Default for IndexPage {
         fn default() -> Self {
    @@ -58,10 +59,10 @@
         static ref INDEX: String = IndexPage.render_once().unwrap();
     }
     
    -#[get(path = "PAGES.auth.login")]
    +#[get(path = "PAGES.auth.login")]
     pub async fn login() -> impl Responder {
         HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .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 fc18127a..cfacd43e 100644 --- a/src/mcaptcha/pages/auth/mod.rs.html +++ b/src/mcaptcha/pages/auth/mod.rs.html @@ -1,4 +1,5 @@ -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    @@ -65,18 +66,18 @@
         use actix_auth_middleware::GetLoginRoute;
     
         pub struct Auth {
    -        pub login: &'static str,
    -        pub join: &'static str,
    +        pub login: &'static str,
    +        pub join: &'static str,
         }
         impl Auth {
             pub const fn new() -> Auth {
                 Auth {
    -                login: "/login",
    -                join: "/join",
    +                login: "/login",
    +                join: "/join",
                 }
             }
     
    -        pub const fn get_sitemap() -> [&'static str; 2] {
    +        pub const fn get_sitemap() -> [&'static str; 2] {
                 const AUTH: Auth = Auth::new();
                 [AUTH.login, AUTH.join]
             }
    @@ -86,7 +87,7 @@
             fn get_login_route(&self, src: Option<&str>) -> String {
                 if let Some(redirect_to) = src {
                     format!(
    -                    "{}?redirect_to={}",
    +                    "{}?redirect_to={}",
                         self.login,
                         urlencoding::encode(redirect_to)
                     )
    diff --git a/src/mcaptcha/pages/auth/register.rs.html b/src/mcaptcha/pages/auth/register.rs.html
    index eac2fcc2..9069c7e7 100644
    --- a/src/mcaptcha/pages/auth/register.rs.html
    +++ b/src/mcaptcha/pages/auth/register.rs.html
    @@ -1,4 +1,5 @@
    -register.rs - source
    1
    +register.rs - source
    +    
    1
     2
     3
     4
    @@ -39,10 +40,10 @@
     use sailfish::TemplateOnce;
     
     #[derive(Clone, TemplateOnce)]
    -#[template(path = "auth/register/index.html")]
    +#[template(path = "auth/register/index.html")]
     struct IndexPage;
     
    -const PAGE: &str = "Join";
    +const PAGE: &str = "Join";
     
     impl Default for IndexPage {
         fn default() -> Self {
    @@ -54,10 +55,10 @@
         static ref INDEX: String = IndexPage.render_once().unwrap();
     }
     
    -#[my_codegen::get(path = "crate::PAGES.auth.join")]
    +#[my_codegen::get(path = "crate::PAGES.auth.join")]
     pub async fn join() -> impl Responder {
         HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .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 b4294ea7..faa9bfb9 100644 --- a/src/mcaptcha/pages/auth/sudo.rs.html +++ b/src/mcaptcha/pages/auth/sudo.rs.html @@ -1,4 +1,5 @@ -sudo.rs - source
    1
    +sudo.rs - source
    +    
    1
     2
     3
     4
    @@ -42,25 +43,25 @@
     use sailfish::TemplateOnce;
     
     #[derive(Clone, TemplateOnce)]
    -#[template(path = "auth/sudo/index.html")]
    -pub struct SudoPage<'a, K, V>
    +#[template(path = "auth/sudo/index.html")]
    +pub struct SudoPage<'a, K, V>
     where
         K: Display + Render,
         V: Display + Render,
     {
    -    url: &'a str,
    +    url: &'a str,
         data: Option<Vec<(K, V)>>,
     }
     
    -pub const PAGE: &str = "Confirm Access";
    +pub const PAGE: &str = "Confirm Access";
     
    -impl<'a, K, V> SudoPage<'a, K, V>
    +impl<'a, K, V> SudoPage<'a, K, V>
     where
         K: Display + Render,
         V: Display + Render,
     {
    -    //pub fn new(url: &'a str, data: Option<Vec<(&'a str, &'a str)>>) -> Self {
    -    pub fn new(url: &'a str, data: Option<Vec<(K, V)>>) -> Self {
    +    //pub fn new(url: &'a str, data: Option<Vec<(&'a str, &'a str)>>) -> Self {
    +    pub fn new(url: &'a str, data: Option<Vec<(K, V)>>) -> Self {
             Self { url, data }
         }
     }
    diff --git a/src/mcaptcha/pages/errors.rs.html b/src/mcaptcha/pages/errors.rs.html
    index c648838c..ac2285d2 100644
    --- a/src/mcaptcha/pages/errors.rs.html
    +++ b/src/mcaptcha/pages/errors.rs.html
    @@ -1,4 +1,5 @@
    -errors.rs - source
    1
    +errors.rs - source
    +    
    1
     2
     3
     4
    @@ -118,46 +119,46 @@
     use crate::errors::PageError;
     
     #[derive(Clone, TemplateOnce)]
    -#[template(path = "errors/index.html")]
    -struct ErrorPage<'a> {
    -    title: &'a str,
    -    message: &'a str,
    +#[template(path = "errors/index.html")]
    +struct ErrorPage<'a> {
    +    title: &'a str,
    +    message: &'a str,
     }
     
    -const PAGE: &str = "Error";
    +const PAGE: &str = "Error";
     
    -impl<'a> ErrorPage<'a> {
    -    fn new(title: &'a str, message: &'a str) -> Self {
    +impl<'a> ErrorPage<'a> {
    +    fn new(title: &'a str, message: &'a str) -> Self {
             ErrorPage { title, message }
         }
     }
     
     lazy_static! {
         static ref INTERNAL_SERVER_ERROR_BODY: String = ErrorPage::new(
    -        "Internal Server Error",
    -        &format!("{}", PageError::InternalServerError),
    +        "Internal Server Error",
    +        &format!("{}", PageError::InternalServerError),
         )
         .render_once()
         .unwrap();
         static ref UNKNOWN_ERROR_BODY: String = ErrorPage::new(
    -        "Something went wrong",
    -        &format!("{}", PageError::InternalServerError),
    +        "Something went wrong",
    +        &format!("{}", PageError::InternalServerError),
         )
         .render_once()
         .unwrap();
     }
     
    -const ERROR_ROUTE: &str = "/error/{id}";
    +const ERROR_ROUTE: &str = "/error/{id}";
     
    -#[my_codegen::get(path = "ERROR_ROUTE")]
    +#[my_codegen::get(path = "ERROR_ROUTE")]
     async fn error(path: web::Path<usize>) -> impl Responder {
         let resp = match path.into_inner() {
             500 => HttpResponse::InternalServerError()
    -            .content_type("text/html; charset=utf-8")
    +            .content_type("text/html; charset=utf-8")
                 .body(&**INTERNAL_SERVER_ERROR_BODY),
     
             _ => HttpResponse::InternalServerError()
    -            .content_type("text/html; charset=utf-8")
    +            .content_type("text/html; charset=utf-8")
                 .body(&**UNKNOWN_ERROR_BODY),
         };
     
    @@ -170,15 +171,15 @@
     
     pub mod routes {
         pub struct Errors {
    -        pub internal_server_error: &'static str,
    -        pub unknown_error: &'static str,
    +        pub internal_server_error: &'static str,
    +        pub unknown_error: &'static str,
         }
     
         impl Errors {
             pub const fn new() -> Self {
                 Errors {
    -                internal_server_error: "/error/500",
    -                unknown_error: "/error/007",
    +                internal_server_error: "/error/500",
    +                unknown_error: "/error/007",
                 }
             }
         }
    diff --git a/src/mcaptcha/pages/mod.rs.html b/src/mcaptcha/pages/mod.rs.html
    index 6a42fd90..763c5a46 100644
    --- a/src/mcaptcha/pages/mod.rs.html
    +++ b/src/mcaptcha/pages/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    @@ -125,7 +126,7 @@
     pub mod routes;
     mod sitemap;
     
    -pub const NAME: &str = "mCaptcha";
    +pub const NAME: &str = "mCaptcha";
     
     pub fn services(cfg: &mut ServiceConfig) {
         auth::services(cfg);
    @@ -161,9 +162,9 @@
         }
     
         async fn protected_pages_templates_work(data: ArcData) {
    -        const NAME: &str = "templateuser";
    -        const PASSWORD: &str = "longpassword";
    -        const EMAIL: &str = "templateuser@a.com";
    +        const NAME: &str = "templateuser";
    +        const PASSWORD: &str = "longpassword";
    +        const EMAIL: &str = "templateuser@a.com";
     
             let data = &data;
             delete_user(data, NAME).await;
    diff --git a/src/mcaptcha/pages/panel/mod.rs.html b/src/mcaptcha/pages/panel/mod.rs.html
    index b2a52fee..ef86754a 100644
    --- a/src/mcaptcha/pages/panel/mod.rs.html
    +++ b/src/mcaptcha/pages/panel/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    @@ -111,7 +112,7 @@
     use crate::AppData;
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "panel/index.html")]
    +#[template(path = "panel/index.html")]
     pub struct IndexPage {
         sitekeys: Vec<Captcha>,
     }
    @@ -122,18 +123,18 @@
         }
     }
     
    -const PAGE: &str = "Dashboard";
    +const PAGE: &str = "Dashboard";
     
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.home",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.home",
    +    wrap = "crate::pages::get_middleware()"
     )]
     async fn panel(data: AppData, id: Identity) -> PageResult<impl Responder> {
         let username = id.identity().unwrap();
         let sitekeys = data.db.get_all_user_captchas(&username).await?;
         let body = IndexPage::new(sitekeys).render_once().unwrap();
         Ok(HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(body))
     }
     
    @@ -151,9 +152,9 @@
         use super::utils::routes::Utils;
     
         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,
             pub utils: Utils,
         }
    @@ -161,15 +162,15 @@
         impl Panel {
             pub const fn new() -> Self {
                 Panel {
    -                home: "/",
    +                home: "/",
                     sitekey: Sitekey::new(),
    -                notifications: "/notifications",
    +                notifications: "/notifications",
                     settings: Settings::new(),
                     utils: Utils::new(),
                 }
             }
     
    -        pub const fn get_sitemap() -> [&'static str; 6] {
    +        pub const fn get_sitemap() -> [&'static str; 6] {
                 const PANEL: Panel = Panel::new();
                 const S: [&str; 2] = Sitekey::get_sitemap();
     
    diff --git a/src/mcaptcha/pages/panel/notifications.rs.html b/src/mcaptcha/pages/panel/notifications.rs.html
    index d488a286..8e110674 100644
    --- a/src/mcaptcha/pages/panel/notifications.rs.html
    +++ b/src/mcaptcha/pages/panel/notifications.rs.html
    @@ -1,4 +1,5 @@
    -notifications.rs - source
    1
    +notifications.rs - source
    +    
    1
     2
     3
     4
    @@ -138,7 +139,7 @@
     use crate::AppData;
     
     #[derive(TemplateOnce)]
    -#[template(path = "panel/notifications/index.html")]
    +#[template(path = "panel/notifications/index.html")]
     pub struct IndexPage {
         /// notifications
         n: Vec<Notification>,
    @@ -176,15 +177,15 @@
         }
     }
     
    -const PAGE: &str = "Notifications";
    +const PAGE: &str = "Notifications";
     
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.notifications",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.notifications",
    +    wrap = "crate::pages::get_middleware()"
     )]
     pub async fn notifications(data: AppData, id: Identity) -> PageResult<impl Responder> {
         let receiver = id.identity().unwrap();
    -    // TODO handle error where payload.to doesn't exist
    +    // TODO handle error where payload.to doesn't exist
     
         //    let mut notifications = runner::get_notification(&data, &receiver).await?;
         let mut notifications = data.db.get_all_unread_notifications(&receiver).await?;
    @@ -192,7 +193,7 @@
     
         let body = IndexPage::new(notifications).render_once().unwrap();
         Ok(HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(body))
     }
     
    @@ -212,35 +213,35 @@
             };
     
             let timestamp = n.received.unix_timestamp();
    -        println!("timestamp: {}", timestamp);
    +        println!("timestamp: {}", timestamp);
     
             // seconds test
    -        assert!(n.print_date().contains("seconds ago"));
    +        assert!(n.print_date().contains("seconds ago"));
             n.received = OffsetDateTime::from_unix_timestamp(timestamp - 5).unwrap();
    -        assert!(n.print_date().contains("seconds ago"));
    +        assert!(n.print_date().contains("seconds ago"));
     
             // minutes test
             n.received =
                 OffsetDateTime::from_unix_timestamp(timestamp - MINUTE * 2).unwrap();
    -        assert!(n.print_date().contains("minutes ago"));
    +        assert!(n.print_date().contains("minutes ago"));
             n.received =
                 OffsetDateTime::from_unix_timestamp(timestamp - MINUTE * 56).unwrap();
    -        assert!(n.print_date().contains("minutes ago"));
    +        assert!(n.print_date().contains("minutes ago"));
     
             // hours test
             n.received = OffsetDateTime::from_unix_timestamp(timestamp - HOUR).unwrap();
    -        assert!(n.print_date().contains("hours ago"));
    +        assert!(n.print_date().contains("hours ago"));
             n.received = OffsetDateTime::from_unix_timestamp(timestamp - HOUR * 23).unwrap();
    -        assert!(n.print_date().contains("hours ago"));
    +        assert!(n.print_date().contains("hours ago"));
     
             // days test
             n.received = OffsetDateTime::from_unix_timestamp(timestamp - 2 * WEEK).unwrap();
    -        assert!(n.print_date().contains("days ago"));
    +        assert!(n.print_date().contains("days ago"));
     
             // date test
             n.received = OffsetDateTime::from_unix_timestamp(timestamp - 6 * WEEK).unwrap();
             let date = format!(
    -            "{}{}{}",
    +            "{}{}{}",
                 n.received.year(),
                 n.received.month(),
                 n.received.date()
    diff --git a/src/mcaptcha/pages/panel/settings.rs.html b/src/mcaptcha/pages/panel/settings.rs.html
    index f5afe1c5..02ac375e 100644
    --- a/src/mcaptcha/pages/panel/settings.rs.html
    +++ b/src/mcaptcha/pages/panel/settings.rs.html
    @@ -1,4 +1,5 @@
    -settings.rs - source
    1
    +settings.rs - source
    +    
    1
     2
     3
     4
    @@ -114,21 +115,21 @@
     
     pub mod routes {
         pub struct Settings {
    -        pub home: &'static str,
    -        pub delete_account: &'static str,
    -        pub update_secret: &'static str,
    +        pub home: &'static str,
    +        pub delete_account: &'static str,
    +        pub update_secret: &'static str,
         }
     
         impl Settings {
             pub const fn new() -> Self {
                 Settings {
    -                home: "/settings",
    -                delete_account: "/settings/account/delete",
    -                update_secret: "/settings/secret/update",
    +                home: "/settings",
    +                delete_account: "/settings/account/delete",
    +                update_secret: "/settings/secret/update",
                 }
             }
     
    -        pub const fn get_sitemap() -> [&'static str; 1] {
    +        pub const fn get_sitemap() -> [&'static str; 1] {
                 const S: Settings = Settings::new();
     
                 [S.home]
    @@ -142,19 +143,19 @@
         cfg.service(delete_account);
     }
     
    -const PAGE: &str = "Settings";
    +const PAGE: &str = "Settings";
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "panel/settings/index.html")]
    -pub struct IndexPage<'a> {
    +#[template(path = "panel/settings/index.html")]
    +pub struct IndexPage<'a> {
         email: Option<String>,
         secret: String,
    -    username: &'a str,
    +    username: &'a str,
     }
     
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.settings.home",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.settings.home",
    +    wrap = "crate::pages::get_middleware()"
     )]
     async fn settings(data: AppData, id: Identity) -> PageResult<impl Responder> {
         let username = id.identity().unwrap();
    @@ -171,33 +172,33 @@
     
         let body = data.render_once().unwrap();
         Ok(HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(body))
     }
     
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.settings.delete_account",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.settings.delete_account",
    +    wrap = "crate::pages::get_middleware()"
     )]
     async fn delete_account() -> impl Responder {
         let page = SudoPage::<u8, u8>::new(crate::V1_API_ROUTES.account.delete, None)
             .render_once()
             .unwrap();
         HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(page)
     }
     
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.settings.update_secret",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.settings.update_secret",
    +    wrap = "crate::pages::get_middleware()"
     )]
     async fn update_secret() -> impl Responder {
         let page = SudoPage::<u8, u8>::new(crate::V1_API_ROUTES.account.update_secret, None)
             .render_once()
             .unwrap();
         HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .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 55d2a3b0..e8f70529 100644 --- a/src/mcaptcha/pages/panel/sitekey/add.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/add.rs.html @@ -1,4 +1,5 @@ -add.rs - source
    1
    +add.rs - source
    +    
    1
     2
     3
     4
    @@ -85,7 +86,7 @@
     use lazy_static::lazy_static;
     use sailfish::TemplateOnce;
     
    -const PAGE: &str = "Add Sitekey";
    +const PAGE: &str = "Add Sitekey";
     
     lazy_static! {
         static ref ADVANCE_INDEX: String =
    @@ -94,19 +95,19 @@
     }
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "panel/sitekey/add/advance/index.html")]
    -pub struct AdvanceIndexPage<'a> {
    +#[template(path = "panel/sitekey/add/advance/index.html")]
    +pub struct AdvanceIndexPage<'a> {
         pub levels: usize,
    -    pub form_title: &'a str,
    -    pub form_description: &'a str,
    +    pub form_title: &'a str,
    +    pub form_description: &'a str,
         pub form_duration: usize,
     }
     
    -impl<'a> Default for AdvanceIndexPage<'a> {
    +impl<'a> Default for AdvanceIndexPage<'a> {
         fn default() -> Self {
             Self {
                 levels: 1,
    -            form_description: "",
    +            form_description: "",
                 form_title: PAGE,
                 form_duration: 30,
             }
    @@ -114,29 +115,29 @@
     }
     
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.sitekey.add_advance",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.sitekey.add_advance",
    +    wrap = "crate::pages::get_middleware()"
     )]
     pub async fn advance() -> impl Responder {
         HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(&**ADVANCE_INDEX)
     }
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "panel/sitekey/add/novice/index.html")]
    -pub struct EasyIndexPage<'a> {
    -    pub form_description: &'a str,
    -    pub form_title: &'a str,
    +#[template(path = "panel/sitekey/add/novice/index.html")]
    +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>,
     }
     
    -impl<'a> Default for EasyIndexPage<'a> {
    +impl<'a> Default for EasyIndexPage<'a> {
         fn default() -> Self {
             Self {
    -            form_description: "",
    +            form_description: "",
                 peak_sustainable_traffic: None,
                 avg_traffic: None,
                 broke_my_site_traffic: None,
    @@ -146,12 +147,12 @@
     }
     
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.sitekey.add_easy",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.sitekey.add_easy",
    +    wrap = "crate::pages::get_middleware()"
     )]
     pub async fn easy() -> impl Responder {
         HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .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 d0b8ba72..760aca15 100644 --- a/src/mcaptcha/pages/panel/sitekey/delete.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/delete.rs.html @@ -1,4 +1,5 @@ -delete.rs - source
    1
    +delete.rs - source
    +    
    1
     2
     3
     4
    @@ -37,17 +38,17 @@
     use crate::{PAGES, V1_API_ROUTES};
     
     #[get(
    -    path = "PAGES.panel.sitekey.delete",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "PAGES.panel.sitekey.delete",
    +    wrap = "crate::pages::get_middleware()"
     )]
     pub async fn delete_sitekey(path: web::Path<String>) -> impl Responder {
         let key = path.into_inner();
    -    let data = vec![("sitekey", key)];
    +    let data = vec![("sitekey", key)];
         let page = SudoPage::new(V1_API_ROUTES.captcha.delete, Some(data))
             .render_once()
             .unwrap();
         HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .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 5943e26f..47b42404 100644 --- a/src/mcaptcha/pages/panel/sitekey/edit.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/edit.rs.html @@ -1,4 +1,5 @@ -edit.rs - source
    1
    +edit.rs - source
    +    
    1
     2
     3
     4
    @@ -222,10 +223,10 @@
     use crate::errors::*;
     use crate::AppData;
     
    -const PAGE: &str = "Edit Sitekey";
    +const PAGE: &str = "Edit Sitekey";
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "panel/sitekey/edit/advance.html")]
    +#[template(path = "panel/sitekey/edit/advance.html")]
     struct AdvanceEditPage {
         duration: u32,
         name: String,
    @@ -253,8 +254,8 @@
     
     /// route handler that renders individual views for sitekeys
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.sitekey.edit_advance",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.sitekey.edit_advance",
    +    wrap = "crate::pages::get_middleware()"
     )]
     pub async fn advance(
         path: web::Path<String>,
    @@ -272,19 +273,19 @@
             .render_once()
             .unwrap();
         Ok(HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(body))
     }
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "panel/sitekey/edit/easy/index.html")]
    -pub struct EasyEditPage<'a> {
    -    pub form_title: &'a str,
    +#[template(path = "panel/sitekey/edit/easy/index.html")]
    +pub struct EasyEditPage<'a> {
    +    pub form_title: &'a str,
         pub pattern: TrafficPatternRequest,
         pub key: String,
     }
     
    -impl<'a> EasyEditPage<'a> {
    +impl<'a> EasyEditPage<'a> {
         pub fn new(key: String, pattern: TrafficPatternRequest) -> Self {
             Self {
                 form_title: PAGE,
    @@ -296,8 +297,8 @@
     
     /// route handler that renders individual views for sitekeys
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.sitekey.edit_easy",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.sitekey.edit_easy",
    +    wrap = "crate::pages::get_middleware()"
     )]
     pub async fn easy(
         path: web::Path<String>,
    @@ -322,7 +323,7 @@
     
                 let page = EasyEditPage::new(key, pattern).render_once().unwrap();
                 return Ok(HttpResponse::Ok()
    -                .content_type("text/html; charset=utf-8")
    +                .content_type("text/html; charset=utf-8")
                     .body(page));
             }
             Err(DBError::TrafficPatternNotFound) => {
    @@ -362,9 +363,9 @@
         }
     
         async fn edit_sitekey_work(data: ArcData) {
    -        const NAME: &str = "editsitekeyuser";
    -        const PASSWORD: &str = "longpassworddomain";
    -        const EMAIL: &str = "editsitekeyuser@a.com";
    +        const NAME: &str = "editsitekeyuser";
    +        const PASSWORD: &str = "longpassworddomain";
    +        const EMAIL: &str = "editsitekeyuser@a.com";
             let data = &data;
             delete_user(data, NAME).await;
     
    diff --git a/src/mcaptcha/pages/panel/sitekey/list.rs.html b/src/mcaptcha/pages/panel/sitekey/list.rs.html
    index 3419f53f..9dffbb20 100644
    --- a/src/mcaptcha/pages/panel/sitekey/list.rs.html
    +++ b/src/mcaptcha/pages/panel/sitekey/list.rs.html
    @@ -1,4 +1,5 @@
    -list.rs - source
    1
    +list.rs - source
    +    
    1
     2
     3
     4
    @@ -116,12 +117,12 @@
     use crate::AppData;
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "panel/sitekey/list/index.html")]
    +#[template(path = "panel/sitekey/list/index.html")]
     pub struct IndexPage {
         sitekeys: Vec<Captcha>,
     }
     
    -const PAGE: &str = "SiteKeys";
    +const PAGE: &str = "SiteKeys";
     
     impl IndexPage {
         fn new(sitekeys: Vec<Captcha>) -> Self {
    @@ -131,15 +132,15 @@
     
     /// render a list of all sitekeys that a user has
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.sitekey.list",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.sitekey.list",
    +    wrap = "crate::pages::get_middleware()"
     )]
     pub async fn list_sitekeys(data: AppData, id: Identity) -> PageResult<impl Responder> {
         let username = id.identity().unwrap();
         let res = data.db.get_all_user_captchas(&username).await?;
         let body = IndexPage::new(res).render_once().unwrap();
         Ok(HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(body))
     }
     
    @@ -165,9 +166,9 @@
         }
     
         async fn list_sitekeys_work(data: ArcData) {
    -        const NAME: &str = "listsitekeyuser";
    -        const PASSWORD: &str = "longpassworddomain";
    -        const EMAIL: &str = "listsitekeyuser@a.com";
    +        const NAME: &str = "listsitekeyuser";
    +        const PASSWORD: &str = "longpassworddomain";
    +        const EMAIL: &str = "listsitekeyuser@a.com";
     
             let data = &data;
             delete_user(data, NAME).await;
    diff --git a/src/mcaptcha/pages/panel/sitekey/mod.rs.html b/src/mcaptcha/pages/panel/sitekey/mod.rs.html
    index d1cb24f0..c700ba3b 100644
    --- a/src/mcaptcha/pages/panel/sitekey/mod.rs.html
    +++ b/src/mcaptcha/pages/panel/sitekey/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    @@ -98,46 +99,46 @@
     
     pub mod routes {
         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,
    +        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,
         }
     
         impl Sitekey {
             pub const fn new() -> Self {
                 Sitekey {
    -                list: "/sitekeys",
    -                add_advance: "/sitekeys/advance/add",
    -                add_easy: "/sitekeys/easy/add",
    -                view: "/sitekey/{key}",
    -                edit_advance: "/sitekey/{key}/advance/edit",
    -                edit_easy: "/sitekey/{key}/easy/edit",
    -                delete: "/sitekey/{key}/delete",
    +                list: "/sitekeys",
    +                add_advance: "/sitekeys/advance/add",
    +                add_easy: "/sitekeys/easy/add",
    +                view: "/sitekey/{key}",
    +                edit_advance: "/sitekey/{key}/advance/edit",
    +                edit_easy: "/sitekey/{key}/easy/edit",
    +                delete: "/sitekey/{key}/delete",
                 }
             }
    -        pub const fn get_sitemap() -> [&'static str; 2] {
    +        pub const fn get_sitemap() -> [&'static str; 2] {
                 const S: Sitekey = Sitekey::new();
                 [S.list, S.add_advance]
             }
     
             pub fn get_edit_easy(&self, key: &str) -> String {
    -            self.edit_easy.replace("{key}", key)
    +            self.edit_easy.replace("{key}", key)
             }
     
             pub fn get_edit_advance(&self, key: &str) -> String {
    -            self.edit_advance.replace("{key}", key)
    +            self.edit_advance.replace("{key}", key)
             }
     
             pub fn get_view(&self, key: &str) -> String {
    -            self.view.replace("{key}", key)
    +            self.view.replace("{key}", key)
             }
     
             pub fn get_delete(&self, key: &str) -> String {
    -            self.delete.replace("{key}", key)
    +            self.delete.replace("{key}", key)
             }
         }
     }
    @@ -159,12 +160,12 @@
         #[test]
         fn get_sitekey_routes_work() {
             const ROUTES: Sitekey = Sitekey::new();
    -        const KEY: &str = "foo";
    +        const KEY: &str = "foo";
             let tests = [
    -            (ROUTES.get_edit_easy(KEY), "/sitekey/foo/easy/edit"),
    -            (ROUTES.get_edit_advance(KEY), "/sitekey/foo/advance/edit"),
    -            (ROUTES.get_view(KEY), "/sitekey/foo"),
    -            (ROUTES.get_delete(KEY), "/sitekey/foo/delete"),
    +            (ROUTES.get_edit_easy(KEY), "/sitekey/foo/easy/edit"),
    +            (ROUTES.get_edit_advance(KEY), "/sitekey/foo/advance/edit"),
    +            (ROUTES.get_view(KEY), "/sitekey/foo"),
    +            (ROUTES.get_delete(KEY), "/sitekey/foo/delete"),
             ];
     
             for (r, l) in tests.iter() {
    diff --git a/src/mcaptcha/pages/panel/sitekey/view.rs.html b/src/mcaptcha/pages/panel/sitekey/view.rs.html
    index 5042dff3..2d05ea0c 100644
    --- a/src/mcaptcha/pages/panel/sitekey/view.rs.html
    +++ b/src/mcaptcha/pages/panel/sitekey/view.rs.html
    @@ -1,4 +1,5 @@
    -view.rs - source
    1
    +view.rs - source
    +    
    1
     2
     3
     4
    @@ -146,10 +147,10 @@
     use crate::stats::CaptchaStats;
     use crate::AppData;
     
    -const PAGE: &str = "SiteKeys";
    +const PAGE: &str = "SiteKeys";
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "panel/sitekey/view/index.html")]
    +#[template(path = "panel/sitekey/view/index.html")]
     struct IndexPage {
         duration: u32,
         name: String,
    @@ -180,8 +181,8 @@
     
     /// route handler that renders individual views for sitekeys
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.sitekey.view",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.sitekey.view",
    +    wrap = "crate::pages::get_middleware()"
     )]
     pub async fn view_sitekey(
         path: web::Path<String>,
    @@ -199,7 +200,7 @@
             .render_once()
             .unwrap();
         Ok(HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(body))
     }
     
    @@ -225,9 +226,9 @@
         }
     
         async fn view_sitekey_work(data: ArcData) {
    -        const NAME: &str = "viewsitekeyuser";
    -        const PASSWORD: &str = "longpassworddomain";
    -        const EMAIL: &str = "viewsitekeyuser@a.com";
    +        const NAME: &str = "viewsitekeyuser";
    +        const PASSWORD: &str = "longpassworddomain";
    +        const EMAIL: &str = "viewsitekeyuser@a.com";
     
             let data = &data;
             delete_user(data, NAME).await;
    @@ -238,7 +239,7 @@
     
             let app = get_app!(data).await;
     
    -        let url = format!("/sitekey/{}/", &key.key);
    +        let url = format!("/sitekey/{}/", &key.key);
     
             let list_sitekey_resp = test::call_service(
                 &app,
    diff --git a/src/mcaptcha/pages/panel/utils.rs.html b/src/mcaptcha/pages/panel/utils.rs.html
    index 71d3e438..35c5b57b 100644
    --- a/src/mcaptcha/pages/panel/utils.rs.html
    +++ b/src/mcaptcha/pages/panel/utils.rs.html
    @@ -1,4 +1,5 @@
    -utils.rs - source
    1
    +utils.rs - source
    +    
    1
     2
     3
     4
    @@ -294,17 +295,17 @@
     
     pub mod routes {
         pub struct Utils {
    -        pub percentile: &'static str,
    +        pub percentile: &'static str,
         }
     
         impl Utils {
             pub const fn new() -> Self {
                 Utils {
    -                percentile: "/utils/percentile",
    +                percentile: "/utils/percentile",
                 }
             }
     
    -        pub const fn get_sitemap() -> [&'static str; 1] {
    +        pub const fn get_sitemap() -> [&'static str; 1] {
                 const S: Utils = Utils::new();
                 [S.percentile]
             }
    @@ -316,10 +317,10 @@
         cfg.service(post_percentile);
     }
     
    -const PAGE: &str = "Difficulty factor statistics";
    +const PAGE: &str = "Difficulty factor statistics";
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "panel/utils/percentile/index.html")]
    +#[template(path = "panel/utils/percentile/index.html")]
     pub struct PercentilePage {
         time: Option<u32>,
         percentile: Option<f64>,
    @@ -327,8 +328,8 @@
     }
     
     #[my_codegen::get(
    -    path = "crate::PAGES.panel.utils.percentile",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.utils.percentile",
    +    wrap = "crate::pages::get_middleware()"
     )]
     async fn get_percentile(id: Identity) -> PageResult<impl Responder> {
         let data = PercentilePage {
    @@ -339,13 +340,13 @@
     
         let body = data.render_once().unwrap();
         Ok(HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(body))
     }
     
     #[my_codegen::post(
    -    path = "crate::PAGES.panel.utils.percentile",
    -    wrap = "crate::pages::get_middleware()"
    +    path = "crate::PAGES.panel.utils.percentile",
    +    wrap = "crate::pages::get_middleware()"
     )]
     async fn post_percentile(
         data: AppData,
    @@ -361,7 +362,7 @@
     
         let body = page.render_once().unwrap();
         Ok(HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(body))
     }
     
    @@ -388,12 +389,12 @@
         async fn page_stats_bench_work(data: ArcData) {
             use crate::tests::*;
     
    -        const NAME: &str = "pagebenchstatsuesr";
    -        const EMAIL: &str = "pagebenchstatsuesr@testadminuser.com";
    -        const PASSWORD: &str = "longpassword2";
    +        const NAME: &str = "pagebenchstatsuesr";
    +        const EMAIL: &str = "pagebenchstatsuesr@testadminuser.com";
    +        const PASSWORD: &str = "longpassword2";
     
    -        const DEVICE_USER_PROVIDED: &str = "foo";
    -        const DEVICE_SOFTWARE_RECOGNISED: &str = "Foobar.v2";
    +        const DEVICE_USER_PROVIDED: &str = "foo";
    +        const DEVICE_SOFTWARE_RECOGNISED: &str = "Foobar.v2";
             const THREADS: i32 = 4;
     
             let data = &data;
    @@ -432,11 +433,11 @@
                 .unwrap();
     
             for i in 1..6 {
    -            println!("[{i}] Saving analytics");
    +            println!("[{i}] Saving analytics");
                 let analytics = db_core::CreatePerformanceAnalytics {
                     time: i,
                     difficulty_factor: i,
    -                worker_type: "wasm".into(),
    +                worker_type: "wasm".into(),
                 };
                 data.db.analysis_save(&key.key, &analytics).await.unwrap();
             }
    @@ -483,7 +484,7 @@
             let body: Bytes = test::read_body(percentile_resp).await;
             let body = String::from_utf8(body.to_vec()).unwrap();
     
    -        assert!(body.contains("Maximum time taken"));
    +        assert!(body.contains("Maximum time taken"));
     
             let percentile_resp = test::call_service(
                 &app,
    @@ -499,7 +500,7 @@
             let body: Bytes = test::read_body(percentile_resp).await;
             let body = String::from_utf8(body.to_vec()).unwrap();
     
    -        assert!(body.contains("Maximum time taken"));
    +        assert!(body.contains("Maximum time taken"));
     
             // end
             // start post
    @@ -525,7 +526,7 @@
             let body = String::from_utf8(body.to_vec()).unwrap();
     
             assert!(body.contains(
    -            "Not enough inputs to compute statistics. Please try again later"
    +            "Not enough inputs to compute statistics. Please try again later"
             ));
             assert!(body.contains(&1.to_string()));
             assert!(body.contains(&99.00.to_string()));
    @@ -553,7 +554,7 @@
             let body: Bytes = test::read_body(percentile_resp).await;
             let body = String::from_utf8(body.to_vec()).unwrap();
     
    -        assert!(body.contains("Difficulty factor: 2"));
    +        assert!(body.contains("Difficulty factor: 2"));
             assert!(body.contains(&2.to_string()));
             assert!(body.contains(&100.00.to_string()));
         }
    diff --git a/src/mcaptcha/pages/routes.rs.html b/src/mcaptcha/pages/routes.rs.html
    index 1a9a9024..2a5c12c6 100644
    --- a/src/mcaptcha/pages/routes.rs.html
    +++ b/src/mcaptcha/pages/routes.rs.html
    @@ -1,4 +1,5 @@
    -routes.rs - source
    1
    +routes.rs - source
    +    
    1
     2
     3
     4
    @@ -78,16 +79,16 @@
     pub const ROUTES: Routes = Routes::new();
     
     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,
    +    pub about: &'static str,
    +    pub sitemap: &'static str,
    +    pub thanks: &'static str,
    +    pub donate: &'static str,
    +    pub security: &'static str,
    +    pub privacy: &'static str,
     }
     
     impl Routes {
    @@ -99,16 +100,16 @@
                 panel,
                 home,
                 errors: Errors::new(),
    -            about: "/about",
    -            sitemap: "/sitemap.xml",
    -            thanks: "/thanks",
    -            donate: "/donate",
    -            security: "/security",
    -            privacy: "/privacy-policy",
    +            about: "/about",
    +            sitemap: "/sitemap.xml",
    +            thanks: "/thanks",
    +            donate: "/donate",
    +            security: "/security",
    +            privacy: "/privacy-policy",
             }
         }
     
    -    pub const fn get_sitemap() -> [&'static str; 7] {
    +    pub const fn get_sitemap() -> [&'static str; 7] {
             let a = Auth::get_sitemap();
             let p = Panel::get_sitemap();
             [a[0], a[1], p[0], p[1], p[2], p[3], p[4]]
    diff --git a/src/mcaptcha/pages/sitemap.rs.html b/src/mcaptcha/pages/sitemap.rs.html
    index a6c2fdd2..cb8d97ce 100644
    --- a/src/mcaptcha/pages/sitemap.rs.html
    +++ b/src/mcaptcha/pages/sitemap.rs.html
    @@ -1,4 +1,5 @@
    -sitemap.rs - source
    1
    +sitemap.rs - source
    +    
    1
     2
     3
     4
    @@ -55,16 +56,16 @@
     use crate::PAGES;
     
     #[derive(Clone, TemplateOnce)]
    -#[template(path = "sitemap.html")]
    +#[template(path = "sitemap.html")]
     struct IndexPage {
    -    urls: [&'static str; 7],
    -    domain: &'static str,
    +    urls: [&'static str; 7],
    +    domain: &'static str,
     }
     
     impl Default for IndexPage {
         fn default() -> Self {
             let urls = Routes::get_sitemap();
    -        let domain = if crate::SETTINGS.server.domain.ends_with('/') {
    +        let domain = if crate::SETTINGS.server.domain.ends_with('/') {
                 &crate::SETTINGS.server.domain[0..crate::SETTINGS.server.domain.len() - 1]
             } else {
                 &crate::SETTINGS.server.domain
    @@ -78,10 +79,10 @@
         static ref INDEX: String = IndexPage::default().render_once().unwrap();
     }
     
    -#[get(path = "PAGES.sitemap")]
    +#[get(path = "PAGES.sitemap")]
     pub async fn sitemap() -> impl Responder {
         HttpResponse::Ok()
    -        .content_type("application/xml; charset=utf-8")
    +        .content_type("application/xml; charset=utf-8")
             .body(&**INDEX)
     }
     
    \ No newline at end of file diff --git a/src/mcaptcha/routes.rs.html b/src/mcaptcha/routes.rs.html index 46231cb3..b770d557 100644 --- a/src/mcaptcha/routes.rs.html +++ b/src/mcaptcha/routes.rs.html @@ -1,4 +1,5 @@ -routes.rs - source
    1
    +routes.rs - source
    +    
    1
     2
     3
     4
    diff --git a/src/mcaptcha/settings.rs.html b/src/mcaptcha/settings.rs.html
    index c299d4eb..f4792e52 100644
    --- a/src/mcaptcha/settings.rs.html
    +++ b/src/mcaptcha/settings.rs.html
    @@ -1,4 +1,5 @@
    -settings.rs - source
    1
    +settings.rs - source
    +    
    1
     2
     3
     4
    @@ -703,25 +704,25 @@
     impl Server {
         #[cfg(not(tarpaulin_include))]
         pub fn get_ip(&self) -> String {
    -        format!("{}:{}", self.ip, self.port)
    +        format!("{}:{}", self.ip, self.port)
         }
     }
     
     #[derive(Deserialize, Serialize, Display, Eq, PartialEq, Clone, Debug)]
    -#[serde(rename_all = "lowercase")]
    +#[serde(rename_all = "lowercase")]
     pub enum DBType {
    -    #[display(fmt = "postgres")]
    +    #[display(fmt = "postgres")]
         Postgres,
    -    #[display(fmt = "maria")]
    +    #[display(fmt = "maria")]
         Maria,
     }
     
     impl DBType {
         fn from_url(url: &Url) -> Result<Self, ConfigError> {
             match url.scheme() {
    -            "mysql" => Ok(Self::Maria),
    -            "postgres" => Ok(Self::Postgres),
    -            _ => Err(ConfigError::Message("Unknown database type".into())),
    +            "mysql" => Ok(Self::Maria),
    +            "postgres" => Ok(Self::Postgres),
    +            _ => Err(ConfigError::Message("Unknown database type".into())),
             }
         }
     }
    @@ -763,91 +764,91 @@
     
     const ENV_VAR_CONFIG: [(&str, &str); 32] = [
         /* top-level */
    -    ("debug", "MCAPTCHA_debug"),
    -    ("commercial", "MCAPTCHA_commercial"),
    -    ("source_code", "MCAPTCHA_source_code"),
    -    ("allow_registration", "MCAPTCHA_allow_registration"),
    -    ("allow_demo", "MCAPTCHA_allow_demo"),
    +    ("debug", "MCAPTCHA_debug"),
    +    ("commercial", "MCAPTCHA_commercial"),
    +    ("source_code", "MCAPTCHA_source_code"),
    +    ("allow_registration", "MCAPTCHA_allow_registration"),
    +    ("allow_demo", "MCAPTCHA_allow_demo"),
     
         /* database */
    -    ("database.url", "DATABASE_URL"),
    -    ("database.pool", "MCAPTCHA_database_POOL"),
    +    ("database.url", "DATABASE_URL"),
    +    ("database.pool", "MCAPTCHA_database_POOL"),
     
         /* redis */
    -    ("redis.url", "MCAPTCHA_redis_URL"),
    -    ("redis.pool", "MCAPTCHA_redis_POOL"),
    +    ("redis.url", "MCAPTCHA_redis_URL"),
    +    ("redis.pool", "MCAPTCHA_redis_POOL"),
     
         /* server */
    -    ("server.port", "PORT"),
    -    ("server.domain", "MCAPTCHA_server_DOMAIN"),
    -    ("server.cookie_secret", "MCAPTCHA__server_COOKIE_SECRET"),
    -    ("server.ip", "MCAPTCHA__server_IP"),
    -    ("server.proxy_has_tls", "MCAPTCHA__server_PROXY_HAS_TLS"),
    +    ("server.port", "PORT"),
    +    ("server.domain", "MCAPTCHA_server_DOMAIN"),
    +    ("server.cookie_secret", "MCAPTCHA__server_COOKIE_SECRET"),
    +    ("server.ip", "MCAPTCHA__server_IP"),
    +    ("server.proxy_has_tls", "MCAPTCHA__server_PROXY_HAS_TLS"),
     
     
         /* captcha */
    -    ("captcha.salt", "MCAPTCHA_captcha_SALT"),
    -    ("captcha.gc", "MCAPTCHA_captcha_GC"),
    -    ("captcha.runners", "MCAPTCHA_captcha_RUNNERS"),
    -    ("captcha.queue_length", "MCAPTCHA_captcha_QUEUE_LENGTH"),
    -    ("captcha.enable_stats", "MCAPTCHA_captcha_ENABLE_STATS"),
    -    ("captcha.default_difficulty_strategy.avg_traffic_difficulty", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_difficulty"),
    -    ("captcha.default_difficulty_strategy.broke_my_site_traffic_difficulty", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_difficulty"),
    -    ("captcha.default_difficulty_strategy.peak_sustainable_traffic_difficulty",
    -     "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_difficulty"),
    -    ( "captcha.default_difficulty_strategy.duration",
    -         "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_duration"
    +    ("captcha.salt", "MCAPTCHA_captcha_SALT"),
    +    ("captcha.gc", "MCAPTCHA_captcha_GC"),
    +    ("captcha.runners", "MCAPTCHA_captcha_RUNNERS"),
    +    ("captcha.queue_length", "MCAPTCHA_captcha_QUEUE_LENGTH"),
    +    ("captcha.enable_stats", "MCAPTCHA_captcha_ENABLE_STATS"),
    +    ("captcha.default_difficulty_strategy.avg_traffic_difficulty", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_difficulty"),
    +    ("captcha.default_difficulty_strategy.broke_my_site_traffic_difficulty", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_difficulty"),
    +    ("captcha.default_difficulty_strategy.peak_sustainable_traffic_difficulty",
    +     "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_difficulty"),
    +    ( "captcha.default_difficulty_strategy.duration",
    +         "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_duration"
          ),
    -    ("captcha.default_difficulty_strategy.avg_traffic_time", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_time"),
    -    ("captcha.default_difficulty_strategy.peak_sustainable_traffic_time", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_time"),
    -    ("captcha.default_difficulty_strategy.broke_my_site_traffic_time", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_time"),
    +    ("captcha.default_difficulty_strategy.avg_traffic_time", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_time"),
    +    ("captcha.default_difficulty_strategy.peak_sustainable_traffic_time", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_time"),
    +    ("captcha.default_difficulty_strategy.broke_my_site_traffic_time", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_time"),
     
     
         /* SMTP */
    -    ("smtp.from", "MCAPTCHA_smtp_FROM"),
    -    ("smtp.reply", "MCAPTCHA_smtp_REPLY"),
    -    ("smtp.url", "MCAPTCHA_smtp_URL"),
    -    ("smtp.username", "MCAPTCHA_smtp_USERNAME"),
    -    ("smtp.password", "MCAPTCHA_smtp_PASSWORD"),
    -    ("smtp.port", "MCAPTCHA_smtp_PORT"),
    +    ("smtp.from", "MCAPTCHA_smtp_FROM"),
    +    ("smtp.reply", "MCAPTCHA_smtp_REPLY"),
    +    ("smtp.url", "MCAPTCHA_smtp_URL"),
    +    ("smtp.username", "MCAPTCHA_smtp_USERNAME"),
    +    ("smtp.password", "MCAPTCHA_smtp_PASSWORD"),
    +    ("smtp.port", "MCAPTCHA_smtp_PORT"),
     
     
     
     ];
     
     const DEPRECATED_ENV_VARS: [(&str, &str); 23] = [
    -    ("debug", "MCAPTCHA_DEBUG"),
    -    ("commercial", "MCAPTCHA_COMMERCIAL"),
    -    ("source_code", "MCAPTCHA_SOURCE_CODE"),
    -    ("allow_registration", "MCAPTCHA_ALLOW_REGISTRATION"),
    -    ("allow_demo", "MCAPTCHA_ALLOW_DEMO"),
    -    ("redis.pool", "MCAPTCHA_REDIS_POOL"),
    -    ("redis.url", "MCAPTCHA_REDIS_URL"),
    -    ("server.port", "MCAPTCHA_SERVER_PORT"),
    -    ("server.ip", "MCAPTCHA_SERVER_IP"),
    -    ("server.domain", "MCAPTCHA_SERVER_DOMAIN"),
    -    ("server.cookie_secret", "MCAPTCHA_SERVER_COOKIE_SECRET"),
    -    ("server.proxy_has_tls", "MCAPTCHA_SERVER_PROXY_HAS_TLS"),
    -    ("captcha.salt", "MCAPTCHA_CAPTCHA_SALT"),
    -    ("captcha.gc", "MCAPTCHA_CAPTCHA_GC"),
    +    ("debug", "MCAPTCHA_DEBUG"),
    +    ("commercial", "MCAPTCHA_COMMERCIAL"),
    +    ("source_code", "MCAPTCHA_SOURCE_CODE"),
    +    ("allow_registration", "MCAPTCHA_ALLOW_REGISTRATION"),
    +    ("allow_demo", "MCAPTCHA_ALLOW_DEMO"),
    +    ("redis.pool", "MCAPTCHA_REDIS_POOL"),
    +    ("redis.url", "MCAPTCHA_REDIS_URL"),
    +    ("server.port", "MCAPTCHA_SERVER_PORT"),
    +    ("server.ip", "MCAPTCHA_SERVER_IP"),
    +    ("server.domain", "MCAPTCHA_SERVER_DOMAIN"),
    +    ("server.cookie_secret", "MCAPTCHA_SERVER_COOKIE_SECRET"),
    +    ("server.proxy_has_tls", "MCAPTCHA_SERVER_PROXY_HAS_TLS"),
    +    ("captcha.salt", "MCAPTCHA_CAPTCHA_SALT"),
    +    ("captcha.gc", "MCAPTCHA_CAPTCHA_GC"),
         (
    -        "captcha.default_difficulty_strategy.avg_traffic_difficulty",
    -        "MCAPTCHA_CAPTCHA_AVG_TRAFFIC_DIFFICULTY",
    +        "captcha.default_difficulty_strategy.avg_traffic_difficulty",
    +        "MCAPTCHA_CAPTCHA_AVG_TRAFFIC_DIFFICULTY",
         ),
         (
    -        "captcha.default_difficulty_strategy.peak_sustainable_traffic_difficulty",
    -        "MCAPTCHA_CAPTCHA_PEAK_TRAFFIC_DIFFICULTY",
    +        "captcha.default_difficulty_strategy.peak_sustainable_traffic_difficulty",
    +        "MCAPTCHA_CAPTCHA_PEAK_TRAFFIC_DIFFICULTY",
         ),
         (
    -        "captcha.default_difficulty_strategy.broke_my_site_traffic_difficulty",
    -        "MCAPTCHA_CAPTCHA_BROKE_MY_SITE_TRAFFIC",
    +        "captcha.default_difficulty_strategy.broke_my_site_traffic_difficulty",
    +        "MCAPTCHA_CAPTCHA_BROKE_MY_SITE_TRAFFIC",
         ),
    -    ("smtp.from", "MCAPTCHA_SMTP_FROM"),
    -    ("smtp.reply", "MCAPTCHA_SMTP_REPLY_TO"),
    -    ("smtp.url", "MCAPTCHA_SMTP_URL"),
    -    ("smtp.username", "MCAPTCHA_SMTP_USERNAME"),
    -    ("smtp.password", "MCAPTCHA_SMTP_PASSWORD"),
    -    ("smtp.port", "MCAPTCHA_SMTP_PORT"),
    +    ("smtp.from", "MCAPTCHA_SMTP_FROM"),
    +    ("smtp.reply", "MCAPTCHA_SMTP_REPLY_TO"),
    +    ("smtp.url", "MCAPTCHA_SMTP_URL"),
    +    ("smtp.username", "MCAPTCHA_SMTP_USERNAME"),
    +    ("smtp.password", "MCAPTCHA_SMTP_PASSWORD"),
    +    ("smtp.port", "MCAPTCHA_SMTP_PORT"),
     ];
     
     #[cfg(not(tarpaulin_include))]
    @@ -855,12 +856,12 @@
         pub fn new() -> Result<Self, ConfigError> {
             let mut s = Config::builder();
     
    -        const CURRENT_DIR: &str = "./config/default.toml";
    -        const ETC: &str = "/etc/mcaptcha/config.toml";
    +        const CURRENT_DIR: &str = "./config/default.toml";
    +        const ETC: &str = "/etc/mcaptcha/config.toml";
     
             s = s
    -            .set_default("capatcha.enable_stats", true.to_string())
    -            .expect("unable to set capatcha.enable_stats default config");
    +            .set_default("capatcha.enable_stats", true.to_string())
    +            .expect("unable to set capatcha.enable_stats default config");
     
             // Will be overridden after config is parsed and loaded into Settings by
             // Settings::set_database_type.
    @@ -868,29 +869,29 @@
             // inferred. But we need a default value for config lib to parse successfully, since it is
             // DBType and not Option<DBType>
             s = s
    -            .set_default("database.database_type", DBType::Postgres.to_string())
    -            .expect("unable to set database.database_type default config");
    +            .set_default("database.database_type", DBType::Postgres.to_string())
    +            .expect("unable to set database.database_type default config");
     
    -        if let Ok(path) = env::var("MCAPTCHA_CONFIG") {
    +        if let Ok(path) = env::var("MCAPTCHA_CONFIG") {
                 let absolute_path = Path::new(&path).canonicalize().unwrap();
                 log::info!(
    -                "Loading config file from {}",
    +                "Loading config file from {}",
                     absolute_path.to_str().unwrap()
                 );
                 s = s.add_source(File::with_name(absolute_path.to_str().unwrap()));
             } else if Path::new(CURRENT_DIR).exists() {
                 let absolute_path = fs::canonicalize(CURRENT_DIR).unwrap();
                 log::info!(
    -                "Loading config file from {}",
    +                "Loading config file from {}",
                     absolute_path.to_str().unwrap()
                 );
                 // merging default config from file
                 s = s.add_source(File::with_name(absolute_path.to_str().unwrap()));
             } else if Path::new(ETC).exists() {
    -            log::info!("{}", format!("Loading config file from {}", ETC));
    +            log::info!("{}", format!("Loading config file from {}", ETC));
                 s = s.add_source(File::with_name(ETC));
             } else {
    -            log::warn!("Configuration file not found");
    +            log::warn!("Configuration file not found");
             }
     
             s = Self::env_override(s);
    @@ -908,19 +909,19 @@
                 if s.broke_my_site_traffic_time.is_none()
                     || s.peak_sustainable_traffic_time.is_none()
                 {
    -                panic!("if captcha.default_difficulty_strategy.avg_traffic_time is set, then captcha.default_difficulty_strategy.broke_my_site_traffic_time and captcha.default_difficulty_strategy.peak_sustainable_traffic_time must also be set");
    +                panic!("if captcha.default_difficulty_strategy.avg_traffic_time is set, then captcha.default_difficulty_strategy.broke_my_site_traffic_time and captcha.default_difficulty_strategy.peak_sustainable_traffic_time must also be set");
                 }
             }
             if s.peak_sustainable_traffic_time.is_some() {
                 if s.avg_traffic_time.is_none() || s.peak_sustainable_traffic_time.is_none()
                 {
    -                panic!("if captcha.default_difficulty_strategy.peak_sustainable_traffic_time is set, then captcha.default_difficulty_strategy.broke_my_site_traffic_time and captcha.default_difficulty_strategy.avg_traffic_time must also be set");
    +                panic!("if captcha.default_difficulty_strategy.peak_sustainable_traffic_time is set, then captcha.default_difficulty_strategy.broke_my_site_traffic_time and captcha.default_difficulty_strategy.avg_traffic_time must also be set");
                 }
             }
             if s.broke_my_site_traffic_time.is_some() {
                 if s.avg_traffic_time.is_none() || s.peak_sustainable_traffic_time.is_none()
                 {
    -                panic!("if captcha.default_difficulty_strategy.broke_my_site_traffic_time is set, then captcha.default_difficulty_strategy.peak_sustainable_traffic_time and captcha.default_difficulty_strategy.avg_traffic_time must also be set");
    +                panic!("if captcha.default_difficulty_strategy.broke_my_site_traffic_time is set, then captcha.default_difficulty_strategy.peak_sustainable_traffic_time and captcha.default_difficulty_strategy.avg_traffic_time must also be set");
                 }
             }
         }
    @@ -929,7 +930,7 @@
             for (parameter, env_var_name) in DEPRECATED_ENV_VARS.iter() {
                 if let Ok(val) = env::var(env_var_name) {
                     log::warn!(
    -                    "Found {env_var_name}. {env_var_name} will be deprecated soon. Please see https://github.com/mCaptcha/mCaptcha/blob/master/docs/CONFIGURATION.md for latest environment variable names"
    +                    "Found {env_var_name}. {env_var_name} will be deprecated soon. Please see https://github.com/mCaptcha/mCaptcha/blob/master/docs/CONFIGURATION.md for latest environment variable names"
                     );
                     s = s.set_override(parameter, val).unwrap();
                 }
    @@ -938,7 +939,7 @@
             for (parameter, env_var_name) in ENV_VAR_CONFIG.iter() {
                 if let Ok(val) = env::var(env_var_name) {
                     log::debug!(
    -                    "Overriding [{parameter}] with environment variable {env_var_name}"
    +                    "Overriding [{parameter}] with environment variable {env_var_name}"
                     );
                     s = s.set_override(parameter, val).unwrap();
                 }
    @@ -949,13 +950,13 @@
     
         fn set_database_type(&mut self) {
             let url = Url::parse(&self.database.url)
    -            .expect("couldn't parse Database URL and detect database type");
    +            .expect("couldn't parse Database URL and detect database type");
             self.database.database_type = DBType::from_url(&url).unwrap();
         }
     
         fn check_url(&self) {
             Url::parse(&self.source_code)
    -            .expect("Please enter a URL for source_code in settings");
    +            .expect("Please enter a URL for source_code in settings");
         }
     }
     
    @@ -975,7 +976,7 @@
     
     
                 ($env:expr, $val:expr, $val_typed:expr, $($param:ident).+) => {
    -                println!("Setting env var {} to {} for test", $env, $val);
    +                println!("Setting env var {} to {} for test", $env, $val);
                     env::set_var($env, $val);
                     new_settings = get_settings();
                     assert_eq!(new_settings.$($param).+, $val_typed);
    @@ -990,21 +991,21 @@
             }
     
             /* top level */
    -        helper!("MCAPTCHA_DEBUG", !init_settings.debug, debug);
    -        helper!("MCAPTCHA_COMMERCIAL", !init_settings.commercial, commercial);
    +        helper!("MCAPTCHA_DEBUG", !init_settings.debug, debug);
    +        helper!("MCAPTCHA_COMMERCIAL", !init_settings.commercial, commercial);
             helper!(
    -            "MCAPTCHA_ALLOW_REGISTRATION",
    +            "MCAPTCHA_ALLOW_REGISTRATION",
                 !init_settings.allow_registration,
                 allow_registration
             );
    -        helper!("MCAPTCHA_ALLOW_DEMO", !init_settings.allow_demo, allow_demo);
    +        helper!("MCAPTCHA_ALLOW_DEMO", !init_settings.allow_demo, allow_demo);
     
             /* database_type */
     
             /* redis.url */
    -        let env = "MCAPTCHA_REDIS_URL";
    -        let val = "redis://redis.example.org";
    -        println!("Setting env var {} to {} for test", env, val);
    +        let env = "MCAPTCHA_REDIS_URL";
    +        let val = "redis://redis.example.org";
    +        println!("Setting env var {} to {} for test", env, val);
             env::set_var(env, val);
             new_settings = get_settings();
             assert_eq!(new_settings.redis.as_ref().unwrap().url, val);
    @@ -1015,9 +1016,9 @@
             env::remove_var(env);
     
             /* redis.pool */
    -        let env = "MCAPTCHA_REDIS_POOL";
    +        let env = "MCAPTCHA_REDIS_POOL";
             let val = 999;
    -        println!("Setting env var {} to {} for test", env, val);
    +        println!("Setting env var {} to {} for test", env, val);
             env::set_var(env, val.to_string());
             new_settings = get_settings();
             assert_eq!(new_settings.redis.as_ref().unwrap().pool, val);
    @@ -1027,41 +1028,41 @@
             );
             env::remove_var(env);
     
    -        helper!("PORT", 0, server.port);
    -        helper!("MCAPTCHA_SERVER_DOMAIN", "example.org", server.domain);
    +        helper!("PORT", 0, server.port);
    +        helper!("MCAPTCHA_SERVER_DOMAIN", "example.org", server.domain);
             helper!(
    -            "MCAPTCHA_SERVER_COOKIE_SECRET",
    -            "dafasdfsdf",
    +            "MCAPTCHA_SERVER_COOKIE_SECRET",
    +            "dafasdfsdf",
                 server.cookie_secret
             );
    -        helper!("MCAPTCHA_SERVER_IP", "9.9.9.9", server.ip);
    -        helper!("MCAPTCHA_SERVER_PROXY_HAS_TLS", true, server.proxy_has_tls);
    +        helper!("MCAPTCHA_SERVER_IP", "9.9.9.9", server.ip);
    +        helper!("MCAPTCHA_SERVER_PROXY_HAS_TLS", true, server.proxy_has_tls);
     
             /* captcha */
     
    -        helper!("MCAPTCHA_CAPTCHA_SALT", "foobarasdfasdf", captcha.salt);
    -        helper!("MCAPTCHA_CAPTCHA_GC", 500, captcha.gc);
    +        helper!("MCAPTCHA_CAPTCHA_SALT", "foobarasdfasdf", captcha.salt);
    +        helper!("MCAPTCHA_CAPTCHA_GC", 500, captcha.gc);
             helper!(
    -            "MCAPTCHA_captcha_RUNNERS",
    -            "500",
    +            "MCAPTCHA_captcha_RUNNERS",
    +            "500",
                 Some(500),
                 captcha.runners
             );
     
             helper!(
    -            "MCAPTCHA_CAPTCHA_AVG_TRAFFIC_DIFFICULTY",
    +            "MCAPTCHA_CAPTCHA_AVG_TRAFFIC_DIFFICULTY",
                 999,
                 captcha.default_difficulty_strategy.avg_traffic_difficulty
             );
             helper!(
    -            "MCAPTCHA_CAPTCHA_PEAK_TRAFFIC_DIFFICULTY",
    +            "MCAPTCHA_CAPTCHA_PEAK_TRAFFIC_DIFFICULTY",
                 999,
                 captcha
                     .default_difficulty_strategy
                     .peak_sustainable_traffic_difficulty
             );
             helper!(
    -            "MCAPTCHA_CAPTCHA_BROKE_MY_SITE_TRAFFIC",
    +            "MCAPTCHA_CAPTCHA_BROKE_MY_SITE_TRAFFIC",
                 999,
                 captcha
                     .default_difficulty_strategy
    @@ -1071,28 +1072,28 @@
             /* SMTP */
     
             let vals = [
    -            "MCAPTCHA_SMTP_FROM",
    -            "MCAPTCHA_SMTP_REPLY_TO",
    -            "MCAPTCHA_SMTP_URL",
    -            "MCAPTCHA_SMTP_USERNAME",
    -            "MCAPTCHA_SMTP_PASSWORD",
    -            "MCAPTCHA_SMTP_PORT",
    +            "MCAPTCHA_SMTP_FROM",
    +            "MCAPTCHA_SMTP_REPLY_TO",
    +            "MCAPTCHA_SMTP_URL",
    +            "MCAPTCHA_SMTP_USERNAME",
    +            "MCAPTCHA_SMTP_PASSWORD",
    +            "MCAPTCHA_SMTP_PORT",
             ];
             for env in vals.iter() {
    -            println!("Setting env var {} to {} for test", env, env);
    +            println!("Setting env var {} to {} for test", env, env);
                 env::set_var(env, env);
             }
     
             let port = 9999;
    -        env::set_var("MCAPTCHA_SMTP_PORT", port.to_string());
    +        env::set_var("MCAPTCHA_SMTP_PORT", port.to_string());
     
             new_settings = get_settings();
             let smtp_new = new_settings.smtp.as_ref().unwrap();
             let smtp_old = init_settings.smtp.as_ref().unwrap();
    -        assert_eq!(smtp_new.from, "MCAPTCHA_SMTP_FROM");
    -        assert_eq!(smtp_new.reply, "MCAPTCHA_SMTP_REPLY_TO");
    -        assert_eq!(smtp_new.username, "MCAPTCHA_SMTP_USERNAME");
    -        assert_eq!(smtp_new.password, "MCAPTCHA_SMTP_PASSWORD");
    +        assert_eq!(smtp_new.from, "MCAPTCHA_SMTP_FROM");
    +        assert_eq!(smtp_new.reply, "MCAPTCHA_SMTP_REPLY_TO");
    +        assert_eq!(smtp_new.username, "MCAPTCHA_SMTP_USERNAME");
    +        assert_eq!(smtp_new.password, "MCAPTCHA_SMTP_PASSWORD");
             assert_eq!(smtp_new.port, port);
             assert_ne!(smtp_new, smtp_old);
     
    @@ -1112,7 +1113,7 @@
     
     
                 ($env:expr, $val:expr, $val_typed:expr, $($param:ident).+) => {
    -                println!("Setting env var {} to {} for test", $env, $val);
    +                println!("Setting env var {} to {} for test", $env, $val);
                     env::set_var($env, $val);
                     new_settings = get_settings();
                     assert_eq!(new_settings.$($param).+, $val_typed);
    @@ -1127,33 +1128,33 @@
             }
     
             /* top level */
    -        helper!("MCAPTCHA_debug", false, debug);
    -        helper!("MCAPTCHA_commercial", true, commercial);
    -        helper!("MCAPTCHA_allow_registration", false, allow_registration);
    -        helper!("MCAPTCHA_allow_demo", false, allow_demo);
    +        helper!("MCAPTCHA_debug", false, debug);
    +        helper!("MCAPTCHA_commercial", true, commercial);
    +        helper!("MCAPTCHA_allow_registration", false, allow_registration);
    +        helper!("MCAPTCHA_allow_demo", false, allow_demo);
     
             /* database_type */
     
             helper!(
    -            "DATABASE_URL",
    -            "postgres://postgres:password@localhost:5432/postgres",
    +            "DATABASE_URL",
    +            "postgres://postgres:password@localhost:5432/postgres",
                 database.url
             );
             assert_eq!(new_settings.database.database_type, DBType::Postgres);
             helper!(
    -            "DATABASE_URL",
    -            "mysql://maria:password@localhost/maria",
    +            "DATABASE_URL",
    +            "mysql://maria:password@localhost/maria",
                 database.url
             );
             assert_eq!(new_settings.database.database_type, DBType::Maria);
    -        helper!("MCAPTCHA_database_POOL", 1000, database.pool);
    +        helper!("MCAPTCHA_database_POOL", 1000, database.pool);
     
             /* redis */
     
             /* redis.url */
    -        let env = "MCAPTCHA_redis_URL";
    -        let val = "redis://redis.example.org";
    -        println!("Setting env var {} to {} for test", env, val);
    +        let env = "MCAPTCHA_redis_URL";
    +        let val = "redis://redis.example.org";
    +        println!("Setting env var {} to {} for test", env, val);
             env::set_var(env, val);
             new_settings = get_settings();
             assert_eq!(new_settings.redis.as_ref().unwrap().url, val);
    @@ -1164,9 +1165,9 @@
             env::remove_var(env);
     
             /* redis.pool */
    -        let env = "MCAPTCHA_redis_POOL";
    +        let env = "MCAPTCHA_redis_POOL";
             let val = 999;
    -        println!("Setting env var {} to {} for test", env, val);
    +        println!("Setting env var {} to {} for test", env, val);
             env::set_var(env, val.to_string());
             new_settings = get_settings();
             assert_eq!(new_settings.redis.as_ref().unwrap().pool, val);
    @@ -1176,51 +1177,51 @@
             );
             env::remove_var(env);
     
    -        helper!("PORT", 0, server.port);
    -        helper!("MCAPTCHA_server_DOMAIN", "example.org", server.domain);
    +        helper!("PORT", 0, server.port);
    +        helper!("MCAPTCHA_server_DOMAIN", "example.org", server.domain);
             helper!(
    -            "MCAPTCHA__server_COOKIE_SECRET",
    -            "dafasdfsdf",
    +            "MCAPTCHA__server_COOKIE_SECRET",
    +            "dafasdfsdf",
                 server.cookie_secret
             );
    -        helper!("MCAPTCHA__server_IP", "9.9.9.9", server.ip);
    -        helper!("MCAPTCHA__server_PROXY_HAS_TLS", true, server.proxy_has_tls);
    +        helper!("MCAPTCHA__server_IP", "9.9.9.9", server.ip);
    +        helper!("MCAPTCHA__server_PROXY_HAS_TLS", true, server.proxy_has_tls);
     
             /* captcha */
     
    -        helper!("MCAPTCHA_captcha_SALT", "foobarasdfasdf", captcha.salt);
    -        helper!("MCAPTCHA_captcha_GC", 500, captcha.gc);
    +        helper!("MCAPTCHA_captcha_SALT", "foobarasdfasdf", captcha.salt);
    +        helper!("MCAPTCHA_captcha_GC", 500, captcha.gc);
             helper!(
    -            "MCAPTCHA_captcha_RUNNERS",
    -            "500",
    +            "MCAPTCHA_captcha_RUNNERS",
    +            "500",
                 Some(500),
                 captcha.runners
             );
     
    -        helper!("MCAPTCHA_captcha_QUEUE_LENGTH", 500, captcha.queue_length);
    -        helper!("MCAPTCHA_captcha_ENABLE_STATS", false, captcha.enable_stats);
    +        helper!("MCAPTCHA_captcha_QUEUE_LENGTH", 500, captcha.queue_length);
    +        helper!("MCAPTCHA_captcha_ENABLE_STATS", false, captcha.enable_stats);
             helper!(
    -            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_difficulty",
    +            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_difficulty",
                 999,
                 captcha.default_difficulty_strategy.avg_traffic_difficulty
             );
    -        helper!("MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_difficulty", 999 , captcha.default_difficulty_strategy.peak_sustainable_traffic_difficulty);
    -        helper!("MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_difficulty", 999 , captcha.default_difficulty_strategy.broke_my_site_traffic_difficulty);
    +        helper!("MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_difficulty", 999 , captcha.default_difficulty_strategy.peak_sustainable_traffic_difficulty);
    +        helper!("MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_difficulty", 999 , captcha.default_difficulty_strategy.broke_my_site_traffic_difficulty);
             helper!(
    -            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_duration",
    +            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_duration",
                 999,
                 captcha.default_difficulty_strategy.duration
             );
             helper!(
    -            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_time",
    -            "10",
    +            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_time",
    +            "10",
                 Some(10),
                 captcha.default_difficulty_strategy.avg_traffic_time
             );
     
             helper!(
    -            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_time",
    -            "20",
    +            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_time",
    +            "20",
                 Some(20),
                 captcha
                     .default_difficulty_strategy
    @@ -1228,8 +1229,8 @@
             );
     
             helper!(
    -            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_time",
    -            "30",
    +            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_time",
    +            "30",
                 Some(30),
                 captcha
                     .default_difficulty_strategy
    @@ -1239,28 +1240,28 @@
             /* SMTP */
     
             let vals = [
    -            "MCAPTCHA_smtp_FROM",
    -            "MCAPTCHA_smtp_REPLY",
    -            "MCAPTCHA_smtp_URL",
    -            "MCAPTCHA_smtp_USERNAME",
    -            "MCAPTCHA_smtp_PASSWORD",
    -            "MCAPTCHA_smtp_PORT",
    +            "MCAPTCHA_smtp_FROM",
    +            "MCAPTCHA_smtp_REPLY",
    +            "MCAPTCHA_smtp_URL",
    +            "MCAPTCHA_smtp_USERNAME",
    +            "MCAPTCHA_smtp_PASSWORD",
    +            "MCAPTCHA_smtp_PORT",
             ];
             for env in vals.iter() {
    -            println!("Setting env var {} to {} for test", env, env);
    +            println!("Setting env var {} to {} for test", env, env);
                 env::set_var(env, env);
             }
     
             let port = 9999;
    -        env::set_var("MCAPTCHA_smtp_PORT", port.to_string());
    +        env::set_var("MCAPTCHA_smtp_PORT", port.to_string());
     
             new_settings = get_settings();
             let smtp_new = new_settings.smtp.as_ref().unwrap();
             let smtp_old = init_settings.smtp.as_ref().unwrap();
    -        assert_eq!(smtp_new.from, "MCAPTCHA_smtp_FROM");
    -        assert_eq!(smtp_new.reply, "MCAPTCHA_smtp_REPLY");
    -        assert_eq!(smtp_new.username, "MCAPTCHA_smtp_USERNAME");
    -        assert_eq!(smtp_new.password, "MCAPTCHA_smtp_PASSWORD");
    +        assert_eq!(smtp_new.from, "MCAPTCHA_smtp_FROM");
    +        assert_eq!(smtp_new.reply, "MCAPTCHA_smtp_REPLY");
    +        assert_eq!(smtp_new.username, "MCAPTCHA_smtp_USERNAME");
    +        assert_eq!(smtp_new.password, "MCAPTCHA_smtp_PASSWORD");
             assert_eq!(smtp_new.port, port);
             assert_ne!(smtp_new, smtp_old);
     
    @@ -1273,9 +1274,9 @@
         //    fn url_prefix_test() {
         //        let mut settings = Settings::new().unwrap();
         //        assert!(settings.server.url_prefix.is_none());
    -    //        settings.server.url_prefix = Some("test".into());
    +    //        settings.server.url_prefix = Some("test".into());
         //        settings.server.check_url_prefix();
    -    //        settings.server.url_prefix = Some("    ".into());
    +    //        settings.server.url_prefix = Some("    ".into());
         //        settings.server.check_url_prefix();
         //        assert!(settings.server.url_prefix.is_none());
         //    }
    @@ -1284,8 +1285,8 @@
         //    fn smtp_config_works() {
         //        let settings = Settings::new().unwrap();
         //        assert!(settings.smtp.is_some());
    -    //        assert_eq!(settings.smtp.as_ref().unwrap().password, "password");
    -    //        assert_eq!(settings.smtp.as_ref().unwrap().username, "admin");
    +    //        assert_eq!(settings.smtp.as_ref().unwrap().password, "password");
    +    //        assert_eq!(settings.smtp.as_ref().unwrap().username, "admin");
         //    }
     }
     
    \ 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 3f70a04f..f220f2e2 100644 --- a/src/mcaptcha/static_assets/filemap.rs.html +++ b/src/mcaptcha/static_assets/filemap.rs.html @@ -1,4 +1,5 @@ -filemap.rs - source
    1
    +filemap.rs - source
    +    
    1
     2
     3
     4
    @@ -47,11 +48,11 @@
     impl FileMap {
         #[allow(clippy::new_without_default)]
         pub fn new() -> Self {
    -        let map = include_str!("../libcachebust_data.json");
    +        let map = include_str!("../libcachebust_data.json");
             let files = Files::new(map);
             Self { files }
         }
    -    pub fn get<'a>(&'a self, path: &'a str) -> Option<&'a str> {
    +    pub fn get<'a>(&'a self, path: &'a str) -> Option<&'a str> {
             let file_path = self.files.get_full_path(path);
             file_path.map(|file_path| &file_path[1..])
         }
    @@ -63,9 +64,9 @@
         #[test]
         fn filemap_works() {
             let files = super::FileMap::new();
    -        let css = files.get("./static/cache/bundle/css/main.css").unwrap();
    -        println!("{}", css);
    -        assert!(css.contains("/assets/bundle/css"));
    +        let css = files.get("./static/cache/bundle/css/main.css").unwrap();
    +        println!("{}", css);
    +        assert!(css.contains("/assets/bundle/css"));
         }
     }
     
    \ 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 7e90eed0..f4f9dd22 100644 --- a/src/mcaptcha/static_assets/mod.rs.html +++ b/src/mcaptcha/static_assets/mod.rs.html @@ -1,4 +1,5 @@ -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    diff --git a/src/mcaptcha/static_assets/static_files.rs.html b/src/mcaptcha/static_assets/static_files.rs.html
    index 946a0fda..9be31e2f 100644
    --- a/src/mcaptcha/static_assets/static_files.rs.html
    +++ b/src/mcaptcha/static_assets/static_files.rs.html
    @@ -1,4 +1,5 @@
    -static_files.rs - source
    1
    +static_files.rs - source
    +    
    1
     2
     3
     4
    @@ -175,54 +176,54 @@
     
         use crate::FILES;
     
    -    type Img = (&'static str, &'static str);
    +    type Img = (&'static str, &'static str);
     
         lazy_static! {
             pub static ref KEY: Img =
    -            (FILES.get("./static/cache/img/svg/key.svg").unwrap(), "key");
    +            (FILES.get("./static/cache/img/svg/key.svg").unwrap(), "key");
             pub static ref GITHUB: Img = (
    -            FILES.get("./static/cache/img/svg/github.svg").unwrap(),
    -            "Source code"
    +            FILES.get("./static/cache/img/svg/github.svg").unwrap(),
    +            "Source code"
             );
             pub static ref HOME: Img = (
    -            FILES.get("./static/cache/img/svg/home.svg").unwrap(),
    -            "Home"
    +            FILES.get("./static/cache/img/svg/home.svg").unwrap(),
    +            "Home"
             );
             pub static ref SETTINGS_ICON: Img = (
    -            FILES.get("./static/cache/img/svg/settings.svg").unwrap(),
    -            "Settings"
    +            FILES.get("./static/cache/img/svg/settings.svg").unwrap(),
    +            "Settings"
             );
             pub static ref CREDIT_CARD: Img = (
    -            FILES.get("./static/cache/img/svg/credit-card.svg").unwrap(),
    -            "Payment"
    +            FILES.get("./static/cache/img/svg/credit-card.svg").unwrap(),
    +            "Payment"
             );
             pub static ref HELP_CIRCLE: Img = (
    -            FILES.get("./static/cache/img/svg/help-circle.svg").unwrap(),
    -            "Help"
    +            FILES.get("./static/cache/img/svg/help-circle.svg").unwrap(),
    +            "Help"
             );
             pub static ref MESSAGE: Img = (
                 FILES
    -                .get("./static/cache/img/svg/message-square.svg")
    +                .get("./static/cache/img/svg/message-square.svg")
                     .unwrap(),
    -            "Message"
    +            "Message"
             );
             pub static ref DOCS_ICON: Img = (
    -            FILES.get("./static/cache/img/svg/file-text.svg").unwrap(),
    -            "Documentation"
    +            FILES.get("./static/cache/img/svg/file-text.svg").unwrap(),
    +            "Documentation"
             );
             pub static ref MCAPTCHA_TRANS_ICON: Img = (
    -            FILES.get("./static/cache/img/icon-trans.png").unwrap(),
    -            "Logo"
    +            FILES.get("./static/cache/img/icon-trans.png").unwrap(),
    +            "Logo"
             );
             pub static ref BAR_CHART: Img = (
    -            FILES.get("./static/cache/img/svg/bar-chart.svg").unwrap(),
    -            "Statistics"
    +            FILES.get("./static/cache/img/svg/bar-chart.svg").unwrap(),
    +            "Statistics"
             );
         }
     }
     
     #[derive(RustEmbed)]
    -#[folder = "assets/"]
    +#[folder = "assets/"]
     struct Asset;
     
     fn handle_assets(path: &str) -> HttpResponse {
    @@ -236,23 +237,23 @@
                 HttpResponse::Ok()
                     .insert_header(header::CacheControl(vec![
                         header::CacheDirective::Public,
    -                    header::CacheDirective::Extension("immutable".into(), None),
    +                    header::CacheDirective::Extension("immutable".into(), None),
                         header::CacheDirective::MaxAge(CACHE_AGE),
                     ]))
                     .content_type(from_path(path).first_or_octet_stream().as_ref())
                     .body(body)
             }
    -        None => HttpResponse::NotFound().body("404 Not Found"),
    +        None => HttpResponse::NotFound().body("404 Not Found"),
         }
     }
     
    -#[get("/assets/{_:.*}")]
    +#[get("/assets/{_:.*}")]
     pub async fn static_files(path: web::Path<String>) -> impl Responder {
         handle_assets(&path)
     }
     
     #[derive(RustEmbed)]
    -#[folder = "static/favicons/"]
    +#[folder = "static/favicons/"]
     struct Favicons;
     
     fn handle_favicons(path: &str) -> HttpResponse {
    @@ -266,19 +267,19 @@
                 HttpResponse::Ok()
                     .insert_header(header::CacheControl(vec![
                         header::CacheDirective::Public,
    -                    header::CacheDirective::Extension("immutable".into(), None),
    +                    header::CacheDirective::Extension("immutable".into(), None),
                         header::CacheDirective::MaxAge(CACHE_AGE),
                     ]))
                     .content_type(from_path(path).first_or_octet_stream().as_ref())
                     .body(body)
             }
    -        None => HttpResponse::NotFound().body("404 Not Found"),
    +        None => HttpResponse::NotFound().body("404 Not Found"),
         }
     }
     
    -#[get("/{file}")]
    +#[get("/{file}")]
     pub async fn favicons(path: web::Path<String>) -> impl Responder {
    -    debug!("searching favicons");
    +    debug!("searching favicons");
         handle_favicons(&path)
     }
     
    @@ -298,13 +299,13 @@
                 *crate::VERIFICATIN_WIDGET_JS,
                 *crate::VERIFICATIN_WIDGET_CSS,
                 crate::FILES
    -                .get("./static/cache/img/icon-trans.png")
    +                .get("./static/cache/img/icon-trans.png")
                     .unwrap(),
    -            "/favicon.ico",
    +            "/favicon.ico",
             ];
     
             for u in urls.iter() {
    -            println!("[*] Testing static asset at URL: {u}");
    +            println!("[*] Testing static asset at URL: {u}");
                 let resp =
                     test::call_service(&app, test::TestRequest::get().uri(u).to_request())
                         .await;
    diff --git a/src/mcaptcha/stats.rs.html b/src/mcaptcha/stats.rs.html
    index 1ffaad28..09bcbf3a 100644
    --- a/src/mcaptcha/stats.rs.html
    +++ b/src/mcaptcha/stats.rs.html
    @@ -1,4 +1,5 @@
    -stats.rs - source
    1
    +stats.rs - source
    +    
    1
     2
     3
     4
    @@ -151,7 +152,7 @@
     
     impl<T> CloneStats for T
     where
    -    T: Stats + Clone + 'static,
    +    T: Stats + Clone + 'static,
     {
         fn clone_stats(&self) -> Box<dyn Stats> {
             Box::new(self.clone())
    diff --git a/src/mcaptcha/survey.rs.html b/src/mcaptcha/survey.rs.html
    index c7ba87a8..ae23e08c 100644
    --- a/src/mcaptcha/survey.rs.html
    +++ b/src/mcaptcha/survey.rs.html
    @@ -1,4 +1,5 @@
    -survey.rs - source
    1
    +survey.rs - source
    +    
    1
     2
     3
     4
    @@ -267,7 +268,7 @@
     impl Survey {
         pub fn new(app_ctx: AppData) -> Self {
             if app_ctx.settings.survey.is_none() {
    -            panic!("Survey uploader shouldn't be initialized it isn't configured, please report this bug")
    +            panic!("Survey uploader shouldn't be initialized it isn't configured, please report this bug")
             }
             Survey {
                 client: Client::new(),
    @@ -292,7 +293,7 @@
             let fut = async move {
                 loop {
                     if !can_run(&mut rx) {
    -                    log::info!("Stopping survey uploads");
    +                    log::info!("Stopping survey uploads");
                         break;
                     }
     
    @@ -310,7 +311,7 @@
     
                     for i in 0..this.app_ctx.settings.survey.as_ref().unwrap().rate_limit {
                         if !can_run(&mut rx) {
    -                        log::info!("Stopping survey uploads");
    +                        log::info!("Stopping survey uploads");
                             break;
                         }
                         sleep(Duration::new(1, 0)).await;
    @@ -319,10 +320,10 @@
     
                     // for url in this.app_ctx.settings.survey.as_ref().unwrap().nodes.iter() {
                     //     if !can_run(&mut rx) {
    -                //         log::info!("Stopping survey uploads");
    +                //         log::info!("Stopping survey uploads");
                     //         break;
                     //     }
    -                //     log::info!("Uploading to survey instance {}", url);
    +                //     log::info!("Uploading to survey instance {}", url);
                     // }
                 }
             };
    @@ -333,7 +334,7 @@
             let res = self
                 .client
                 .get(format!(
    -                "http://{}{}",
    +                "http://{}{}",
                     self.app_ctx.settings.server.get_ip(),
                     V1_API_ROUTES.meta.health
                 ))
    @@ -344,7 +345,7 @@
         }
     
         async fn schedule_upload_job(&self) -> ServiceResult<()> {
    -        log::debug!("Running upload job");
    +        log::debug!("Running upload job");
             #[derive(Serialize)]
             struct Secret {
                 secret: String,
    @@ -353,7 +354,7 @@
             loop {
                 let psuedo_ids = self.app_ctx.db.analytics_get_all_psuedo_ids(page).await?;
                 if psuedo_ids.is_empty() {
    -                log::debug!("upload job complete, no more IDs to upload");
    +                log::debug!("upload job complete, no more IDs to upload");
                     break;
                 }
                 for id in psuedo_ids {
    @@ -361,12 +362,12 @@
                         if let Some(secret) = self.app_ctx.survey_secrets.get(url.as_str()) {
                             let payload = Secret { secret };
     
    -                        log::info!("Uploading to survey instance {} campaign {id}", url);
    +                        log::info!("Uploading to survey instance {} campaign {id}", url);
                             let mut url = url.clone();
    -                        url.set_path(&format!("/mcaptcha/api/v1/{id}/upload"));
    +                        url.set_path(&format!("/mcaptcha/api/v1/{id}/upload"));
                             let resp =
                                 self.client.post(url).json(&payload).send().await.unwrap();
    -                        println!("{}", resp.text().await.unwrap());
    +                        println!("{}", resp.text().await.unwrap());
                         }
                     }
                 }
    @@ -410,7 +411,7 @@
                     .survey_secrets
                     .set(secret_upload_auth_token, url.to_string());
                 let mut url = url.clone();
    -            url.set_path("/mcaptcha/api/v1/register");
    +            url.set_path("/mcaptcha/api/v1/register");
                 let resp = self.client.post(url).json(&payload).send().await.unwrap();
             }
             Ok(())
    diff --git a/src/mcaptcha/widget/mod.rs.html b/src/mcaptcha/widget/mod.rs.html
    index 281583cf..02cd7614 100644
    --- a/src/mcaptcha/widget/mod.rs.html
    +++ b/src/mcaptcha/widget/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source
    +    
    1
     2
     3
     4
    @@ -84,23 +85,23 @@
     
     pub mod routes {
         pub struct Widget {
    -        pub verification_widget: &'static str,
    +        pub verification_widget: &'static str,
         }
     
         impl Widget {
             pub const fn new() -> Self {
                 Widget {
    -                verification_widget: "/widget",
    +                verification_widget: "/widget",
                 }
             }
         }
     }
     
     #[derive(TemplateOnce, Clone)]
    -#[template(path = "widget/index.html")]
    +#[template(path = "widget/index.html")]
     pub struct IndexPage;
     
    -const PAGE: &str = "mCaptcha CAPTCHA verification";
    +const PAGE: &str = "mCaptcha CAPTCHA verification";
     
     impl IndexPage {
         fn new() -> Self {
    @@ -113,10 +114,10 @@
     }
     
     /// render a client side widget for CAPTCHA verification
    -#[my_codegen::get(path = "crate::WIDGET_ROUTES.verification_widget")] //, wrap = "crate::CheckLogin")]
    +#[my_codegen::get(path = "crate::WIDGET_ROUTES.verification_widget")] //, wrap = "crate::CheckLogin")]
     async fn show_widget() -> PageResult<impl Responder> {
         Ok(HttpResponse::Ok()
    -        .content_type("text/html; charset=utf-8")
    +        .content_type("text/html; charset=utf-8")
             .body(&**INDEX_PAGE))
     }
     
    diff --git a/static.files/main-305769736d49e732.js b/static.files/main-305769736d49e732.js
    new file mode 100644
    index 00000000..b8b91afa
    --- /dev/null
    +++ b/static.files/main-305769736d49e732.js
    @@ -0,0 +1,11 @@
    +"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerText=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search)},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}})}}}}function onHashChange(ev){hideSidebar();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 handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","));for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
    "+window.NOTABLE_TRAITS[notable_ty]+"
    "}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ +the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","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(x=>"
    "+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
    "+x[1]+"
    ").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";const infos=[`For a full list of all search features, take a look here.`,"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, \ + and const.","Search functions by type signature (e.g., vec -> usize or \ + -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ + your request: \"string\"","Look for functions that accept or return \ + slices and \ + arrays by writing \ + square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

    "+x+"

    ").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-sidebar.offsetLeft-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px")},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/static.files/main-9dd44ab47b99a0fb.js b/static.files/main-9dd44ab47b99a0fb.js deleted file mode 100644 index cfb9a38f..00000000 --- a/static.files/main-9dd44ab47b99a0fb.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function elemIsInParent(elem,parent){while(elem&&elem!==document.body){if(elem===parent){return true}elem=elem.parentElement}return false}function blurHandler(event,parentElem,hideCallback){if(!elemIsInParent(document.activeElement,parentElem)&&!elemIsInParent(event.relatedTarget,parentElem)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.body,"crate")){mobileTitle.innerText=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search)},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}})}}}}function onHashChange(ev){hideSidebar();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 handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.body,"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(link.href===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","));for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";if(window.rootPath!=="./"&&crate===window.currentCrate){link.className="current"}link.textContent=crate;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
    "+window.NOTABLE_TRAITS[notable_ty]+"
    "}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!elemIsInParent(ev.relatedTarget,e)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!elemIsInParent(document.activeElement,window.CURRENT_TOOLTIP_ELEMENT)&&!elemIsInParent(event.relatedTarget,window.CURRENT_TOOLTIP_ELEMENT)&&!elemIsInParent(document.activeElement,window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE)&&!elemIsInParent(event.relatedTarget,window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!elemIsInParent(ev.relatedTarget,window.CURRENT_TOOLTIP_ELEMENT)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ -the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","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(x=>"
    "+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
    "+x[1]+"
    ").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";const infos=[`For a full list of all search features, take a look here.`,"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, \ - and const.","Search functions by type signature (e.g., vec -> usize or \ - -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","Look for functions that accept or return \ - slices and \ - arrays by writing \ - square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

    "+x+"

    ").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/static.files/noscript-5d8b3c7633ad77ba.css b/static.files/noscript-5d8b3c7633ad77ba.css deleted file mode 100644 index 8c63ef06..00000000 --- a/static.files/noscript-5d8b3c7633ad77ba.css +++ /dev/null @@ -1 +0,0 @@ - #main-content .attributes{margin-left:0 !important;}#copy-path{display:none;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);}@media (prefers-color-scheme:dark){:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);}} \ No newline at end of file diff --git a/static.files/noscript-feafe1bb7466e4bd.css b/static.files/noscript-feafe1bb7466e4bd.css new file mode 100644 index 00000000..7bbe07f1 --- /dev/null +++ b/static.files/noscript-feafe1bb7466e4bd.css @@ -0,0 +1 @@ + #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file diff --git a/static.files/rustdoc-9ee3a5e31a2afa3e.css b/static.files/rustdoc-9ee3a5e31a2afa3e.css deleted file mode 100644 index 8749d0eb..00000000 --- a/static.files/rustdoc-9ee3a5e31a2afa3e.css +++ /dev/null @@ -1,10 +0,0 @@ - :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-46f98efaafac5295.ttf.woff2") format("woff2");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-acdfaf1a8af734b1.ttf.woff2") format("woff2");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-a2c9cd1067f8b328.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}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:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;flex-grow:1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{display:flex;flex-wrap:wrap;padding-bottom:6px;margin-bottom:15px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-name>a,.out-of-band,span.since,a.src,#help-button>a,summary.hideme,.scraped-example-list,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.small-section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.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;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap pre.src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.sub-logo-container,.logo-container{line-height:0;display:block;}.sub-logo-container{margin-right:32px;}.sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 200px;overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;}.rustdoc.src .sidebar{flex-basis:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;z-index:1;}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}#src-sidebar-toggle>button:hover,#src-sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.src .sidebar>*:not(#src-sidebar-toggle){visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:300px;}.src-sidebar-expanded .src .sidebar>*:not(#src-sidebar-toggle){visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li{padding:0;margin:0;list-style:none;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-left:-0.25rem;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:24px;}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 -16px 0 -16px;text-align:center;}.sidebar-crate h2 a{display:block;margin:0 calc(-24px + 0.25rem) 0 -0.5rem;padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.5rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;margin-top:calc((-16px + 0.57rem ) / 2 );}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.rustdoc:not(.src) .example-wrap pre{overflow:auto hidden;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap pre.src-line-numbers{flex-grow:0;min-width:fit-content;overflow:initial;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;color:var(--src-line-numbers-span-color);}.rustdoc .example-wrap pre.src-line-numbers{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.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(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.out-of-band{flex-grow:0;font-size:1.125rem;}.docblock code,.docblock-short code,pre,.rustdoc.src .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}.method .where,.fn .where,.where.fmt-newline{display:block;white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 25px 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.src nav.sub{margin:0 0 15px 0;}.small-section-header{display:block;position:relative;}.small-section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.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;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.docblock-short a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block a.current{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;padding:0;margin:0;}.item-table>li{display:table-row;}.item-table>li>div{display:table-cell;}.item-table>li>.item-name{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}#crate-search-div{position:relative;min-width:5em;}#crate-search{min-width:115px;padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml, \ - ');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:2;margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\ - \ - ');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{min-height:36px;display:flex;padding:3px;margin-bottom:5px;align-items:center;vertical-align:text-bottom;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji{font-size:1.25rem;margin-right:0.3rem;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.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;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar-toggle{position:sticky;top:0;left:0;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:stretch;align-items:stretch;z-index:10;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:6px;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}#src-sidebar-toggle>button{font-size:inherit;font-weight:bold;background:none;color:inherit;text-align:center;border:none;outline:none;flex:1 1;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;display:flex;}#settings-menu>a,#help-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus{border-color:var(--settings-button-border-focus);}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,') no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,') no-repeat top left;}details.toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}@media (max-width:850px){#search-tabs .count{display:block;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .logo-container,.sidebar .location{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;}.mobile-topbar h2 a{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;color:var(--main-color);}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#src-sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;border:1px solid;border-left:0;}.src-sidebar-expanded #src-sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#copy-path,#help-button{display:none;}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{max-width:100vw;width:100vw;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}.sub-logo-container>img{height:35px;width:35px;margin-bottom:var(--nav-sub-mobile-padding);}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"]{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a,:root[data-theme="ayu"] #source-sidebar>.title{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img{filter:invert(100);} \ No newline at end of file diff --git a/static.files/rustdoc-ac92e1bbe349e143.css b/static.files/rustdoc-ac92e1bbe349e143.css new file mode 100644 index 00000000..27e3d9d5 --- /dev/null +++ b/static.files/rustdoc-ac92e1bbe349e143.css @@ -0,0 +1,18 @@ + :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;--desktop-sidebar-width:200px;--src-sidebar-width:300px;--desktop-sidebar-z-index:100;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-46f98efaafac5295.ttf.woff2") format("woff2");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-acdfaf1a8af734b1.ttf.woff2") format("woff2");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-a2c9cd1067f8b328.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}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:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;flex-grow:1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{display:flex;flex-wrap:wrap;padding-bottom:6px;margin-bottom:15px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-name>a,.out-of-band,span.since,a.src,#help-button>a,summary.hideme,.scraped-example-list,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.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;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap pre.src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.sub-logo-container,.logo-container{line-height:0;display:block;}.sub-logo-container{margin-right:32px;}.sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 var(--desktop-sidebar-width);width:var(--desktop-sidebar-width);overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;z-index:var(--desktop-sidebar-z-index);}.rustdoc.src .sidebar{flex-basis:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.hide-sidebar .sidebar,.hide-sidebar .sidebar-resizer{display:none;}.sidebar-resizer{touch-action:none;width:9px;cursor:col-resize;z-index:calc(var(--desktop-sidebar-z-index) + 1);position:fixed;height:100%;left:calc(var(--desktop-sidebar-width) + 1px);}.rustdoc.src .sidebar-resizer{left:49px;}.src-sidebar-expanded .rustdoc.src .sidebar-resizer{left:var(--src-sidebar-width);}.sidebar-resizing{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.sidebar-resizing*{cursor:col-resize !important;}.sidebar-resizing .sidebar{position:fixed;}.sidebar-resizing>body{padding-left:var(--resizing-sidebar-width);}.sidebar-resizer:hover,.sidebar-resizer:active,.sidebar-resizer:focus,.sidebar-resizer.active{width:10px;margin:0;left:var(--desktop-sidebar-width);border-left:solid 1px var(--sidebar-resizer-hover);}.src-sidebar-expanded .rustdoc.src .sidebar-resizer:hover,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:active,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:focus,.src-sidebar-expanded .rustdoc.src .sidebar-resizer.active{left:calc(var(--src-sidebar-width) - 1px);}@media (pointer:coarse){.sidebar-resizer{display:none !important;}}.sidebar-resizer.active{padding:0 140px;width:2px;margin-left:-140px;border-left:none;}.sidebar-resizer.active:before{border-left:solid 2px var(--sidebar-resizer-active);display:block;height:100%;content:"";}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}#src-sidebar-toggle>button:hover,#src-sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.src .sidebar>*:not(#src-sidebar-toggle){visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:var(--src-sidebar-width);width:var(--src-sidebar-width);}.src-sidebar-expanded .src .sidebar>*:not(#src-sidebar-toggle){visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li{padding:0;margin:0;list-style:none;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-left:-0.25rem;margin-right:0.25rem;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:24px;}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 -16px 0 -16px;text-align:center;}.sidebar-crate h2 a{display:block;margin:0 calc(-24px + 0.25rem) 0 -0.5rem;padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.5rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;margin-top:calc((-16px + 0.57rem ) / 2 );}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.rustdoc:not(.src) .example-wrap pre{overflow:auto hidden;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap pre.src-line-numbers{flex-grow:0;min-width:fit-content;overflow:initial;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;color:var(--src-line-numbers-span-color);}.rustdoc .example-wrap pre.src-line-numbers{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.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(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.out-of-band{flex-grow:0;font-size:1.125rem;}.docblock code,.docblock-short code,pre,.rustdoc.src .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}div.where{white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 25px 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.src nav.sub{margin:0 0 15px 0;}.section-header{display:block;position:relative;}.section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.section-header>.anchor{left:-15px;padding-right:8px;}h2.section-header>.anchor{padding-right:6px;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.docblock-short a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block li.current a{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;padding:0;margin:0;}.item-table>li{display:table-row;}.item-table>li>div{display:table-cell;}.item-table>li>.item-name{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}#crate-search-div{position:relative;min-width:5em;}#crate-search{min-width:115px;padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml, \ + ');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\ + \ + ');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.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;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar-toggle{position:sticky;top:0;left:0;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:stretch;align-items:stretch;z-index:10;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:6px;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}#src-sidebar-toggle>button{font-size:inherit;font-weight:bold;background:none;color:inherit;text-align:center;border:none;outline:none;flex:1 1;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;}.hide-sidebar #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,') no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,') no-repeat top left;}details.toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}@media (max-width:850px){#search-tabs .count{display:block;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.hide-sidebar #sidebar-button{position:static;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;}.mobile-topbar h2 a{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;color:var(--main-color);}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#src-sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;border:1px solid;border-left:0;}.src-sidebar-expanded #src-sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#copy-path,#help-button{display:none;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');width:22px;height:22px;}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{max-width:100vw;width:100vw;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}.sub-logo-container>img{height:35px;width:35px;margin-bottom:var(--nav-sub-mobile-padding);}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"]{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a,:root[data-theme="ayu"] #source-sidebar>.title{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file diff --git a/static.files/search-2b6ce74ff89ae146.js b/static.files/search-2b6ce74ff89ae146.js new file mode 100644 index 00000000..05459703 --- /dev/null +++ b/static.files/search-2b6ce74ff89ae146.js @@ -0,0 +1,5 @@ +"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let functionTypeFingerprint;let currentResults;let typeNameIdMap;const ALIASES=new Map();let typeNameIdOfArray;let typeNameIdOfSlice;let typeNameIdOfArrayOrSlice;function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-]".indexOf(c)!==-1}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return{name:"never",id:null,fullPath:["never"],pathWithoutLast:[],pathLast:"never",normalizedPathLast:"never",generics:[],bindings:new Map(),typeFilter:"primitive",bindingName,}}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){bindings.set(gen.bindingName.name,[gen,...gen.bindingName.generics]);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let start=parserState.pos;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;start=parserState.pos;getNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;let start=parserState.pos;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}throw["Unexpected ",c]}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}else if(query.elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=query.elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;foundStopChar=true;continue}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;start=parserState.pos;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}duplicates.add(obj.fullPath);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){if(results.size===0){return[]}const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=aaa.item.deprecated;b=bbb.item.deprecated;if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb){const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb);if(passesUnification){return true}}return false});if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false});return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens){if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens)}return false}function checkIfInList(list,elem,whereClause,mgens){for(const entry of list){if(checkType(entry,elem,whereClause,mgens)){return true}}return false}function checkType(row,elem,whereClause,mgens){if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens)}}return unifyFunctionTypes([row],[elem],whereClause,mgens)}function checkPath(contains,ty,maxEditDistance){if(contains.length===0){return 0}let ret_dist=maxEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxEditDistance){continue pathiter}dist_total+=dist}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,deprecated:item.deprecated,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row,maxEditDistance);if(path_dist>maxEditDistance){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist+path_dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens)})){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){let queryLen=0;for(const elem of parsedQuery.elems){queryLen+=elem.name.length}for(const elem of parsedQuery.returned){queryLen+=elem.name.length}const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}))}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
    \ +${item.alias} - see \ +
    `}resultName.insertAdjacentHTML("beforeend",`
    ${alias}\ +${item.displayPath}${name}\ +
    `);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in 
    "}let output=`

    Results${crates}

    `;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

    Query parser error: "${error.join("")}".

    `;output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+"
    ";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    "}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
    "+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
    ";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

    "+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

    `}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

    "+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

    `}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));showResults(execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.map(type=>buildItemSearchType(type,lowercasePaths))}function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=[];bindings=new Map()}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths);if(type.length>BINDINGS_DATA){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=new Map()}}if(pathIndex<0){return{id:pathIndex,ty:TY_GENERIC,path:null,generics,bindings,}}if(pathIndex===0){return{id:null,ty:null,path:null,generics,bindings,}}const item=lowercasePaths[pathIndex-1];return{id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,generics,bindings,}}function buildFunctionSearchType(functionSearchType,lowercasePaths){const INPUTS_DATA=0;const OUTPUT_DATA=1;if(functionSearchType===0){return null}let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:[],bindings:new Map(),};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}function buildIndex(rawSearchIndex){searchIndex=[];typeNameIdMap=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;typeNameIdOfArray=buildTypeMapIndex("array");typeNameIdOfSlice=buildTypeMapIndex("slice");typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const crateRow={crate:crate,ty:3,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),deprecated:null,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionSearchTypes=crateCorpus.f;const deprecatedItems=new Set(crateCorpus.c);const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}lowercasePaths.push({ty:ty,name:name.toLowerCase(),path:path});paths[i]={ty:ty,name:name,path:path}}lastPath="";len=itemTypes.length;for(let i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type,id:id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),deprecated:deprecatedItems.has(i),implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length}}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file diff --git a/static.files/search-8fbf244ebcf71464.js b/static.files/search-8fbf244ebcf71464.js deleted file mode 100644 index 168023b4..00000000 --- a/static.files/search-8fbf244ebcf71464.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias","generic",];const longItemTypes=["module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","primitive type","assoc type","constant","assoc const","union","foreign type","keyword","existential type","attribute macro","derive macro","trait alias",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_KEYWORD=itemTypes.indexOf("keyword");const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function hasOwnPropertyRustdoc(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let currentResults;let typeNameIdMap;const ALIASES=new Map();let typeNameIdOfArray;let typeNameIdOfSlice;let typeNameIdOfArrayOrSlice;function buildTypeMapIndex(name){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){return typeNameIdMap.get(name)}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,id);return id}}function isWhitespace(c){return" \t\n\r".indexOf(c)!==-1}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return",>-]".indexOf(c)!==-1}function isStopCharacter(c){return isEndCharacter(c)}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","}function isPathSeparator(c){return c===":"||isWhitespace(c)}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(!isWhitespace(c)){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}return{name:"never",id:null,fullPath:["never"],pathWithoutLast:[],pathLast:"never",generics:[],typeFilter:"primitive",}}if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(path.includes("::::")){throw["Unexpected ","::::"]}else if(path.includes(" ::")){throw["Unexpected "," ::"]}else if(path.includes(":: ")){throw["Unexpected ",":: "]}const pathSegments=path.split(/::|\s+/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast:pathSegments[pathSegments.length-1],generics:generics,typeFilter,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let start=parserState.pos;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",","," or ",endChar,...extra,", found ",c,]}throw["Expected ",",",...extra,", found ",c,]}const posBefore=parserState.pos;start=parserState.pos;getNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;parserState.typeFilter=oldTypeFilter}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;let start=parserState.pos;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}throw["Unexpected ",c]}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}else if(query.elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=query.elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;foundStopChar=true;continue}else if(isWhitespace(c)){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;start=parserState.pos;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}}userQuery=userQuery.trim();const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,searchWords,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}duplicates.add(obj.fullPath);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){if(results.size===0){return[]}const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.word=searchWords[result.id];result.item=searchIndex[result.id]||{};result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=aaa.item.deprecated;b=bbb.item.deprecated;if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});let nameSplit=null;if(parsedQuery.elems.length===1){const hasPath=typeof parsedQuery.elems[0].path==="undefined";nameSplit=hasPath?null:parsedQuery.elems[0].path}for(const result of result_list){if(result.dontValidate){continue}const name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(!isType&&!validateResult(name,path,nameSplit,parent)){result.id=-1}}return transformResults(result_list)}function checkGenerics(fnType,queryElem,whereClause,mgensInout){return unifyFunctionTypes(fnType.generics,queryElem.generics,whereClause,mgensInout,mgens=>{if(mgensInout){for(const[fid,qid]of mgens.entries()){mgensInout.set(fid,qid)}}return true})}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb){let mgens=new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;let fl=fnTypesIn.length;let fnTypes=fnTypesIn.slice();const backtracking=[];let i=0;let j=0;const backtrack=()=>{while(backtracking.length!==0){const{fnTypesScratch,mgensScratch,queryElemsOffset,fnTypesOffset,unbox,}=backtracking.pop();mgens=new Map(mgensScratch);const fnType=fnTypesScratch[fnTypesOffset];const queryElem=queryElems[queryElemsOffset];if(unbox){if(fnType.id<0){if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}mgens.set(fnType.id,0)}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;fnTypes=fnTypesScratch.toSpliced(fnTypesOffset,1,...generics);fl=fnTypes.length;i=queryElemsOffset-1}else{if(fnType.id<0){if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}mgens.set(fnType.id,queryElem.id)}fnTypes=fnTypesScratch.slice();fl=fnTypes.length;const tmp=fnTypes[queryElemsOffset];fnTypes[queryElemsOffset]=fnTypes[fnTypesOffset];fnTypes[fnTypesOffset]=tmp;i=queryElemsOffset}return true}return false};for(i=0;i!==ql;++i){const queryElem=queryElems[i];const matchCandidates=[];let fnTypesScratch=null;let mgensScratch=null;for(j=i;j!==fl;++j){const fnType=fnTypes[j];if(unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){if(!fnTypesScratch){fnTypesScratch=fnTypes.slice()}unifyFunctionTypes(fnType.generics,queryElem.generics,whereClause,mgens,mgensScratch=>{matchCandidates.push({fnTypesScratch,mgensScratch,queryElemsOffset:i,fnTypesOffset:j,unbox:false,});return false})}if(unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){if(!fnTypesScratch){fnTypesScratch=fnTypes.slice()}if(!mgensScratch){mgensScratch=new Map(mgens)}backtracking.push({fnTypesScratch,mgensScratch,queryElemsOffset:i,fnTypesOffset:j,unbox:true,})}}if(matchCandidates.length===0){if(backtrack()){continue}else{return false}}const{fnTypesOffset:candidate,mgensScratch:mgensNew}=matchCandidates.pop();if(fnTypes[candidate].id<0&&queryElems[i].id<0){mgens.set(fnTypes[candidate].id,queryElems[i].id)}for(const[fid,qid]of mgensNew){mgens.set(fid,qid)}const tmp=fnTypes[candidate];fnTypes[candidate]=fnTypes[i];fnTypes[i]=tmp;for(const otherCandidate of matchCandidates){backtracking.push(otherCandidate)}while(i===(ql-1)&&solutionCb&&!solutionCb(mgens)){if(!backtrack()){return false}}}return true}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgens.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(fnType.id!==queryElem.id){return false}if(fnType.generics.length===0&&queryElem.generics.length!==0){return false}const queryElemPathLength=queryElem.pathWithoutLast.length;if(queryElemPathLength>0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i=0){if(!whereClause){return false}if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause)}else if(fnType.generics&&fnType.generics.length>0){return checkIfInList(fnType.generics,queryElem,whereClause)}return false}function checkIfInList(list,elem,whereClause){for(const entry of list){if(checkType(entry,elem,whereClause)){return true}}return false}function checkType(row,elem,whereClause){if(row.id===null){return row.generics.length>0?checkIfInList(row.generics,elem,whereClause):false}if(row.id<0&&elem.id>=0){const gid=(-row.id)-1;return checkIfInList(whereClause[gid],elem,whereClause)}if(row.id<0&&elem.id<0){return true}const matchesExact=row.id===elem.id;const matchesArrayOrSlice=elem.id===typeNameIdOfArrayOrSlice&&(row.id===typeNameIdOfSlice||row.id===typeNameIdOfArray);if((matchesExact||matchesArrayOrSlice)&&typePassesFilter(elem.typeFilter,row.ty)){if(elem.generics.length>0){return checkGenerics(row,elem,whereClause,new Map())}return true}return checkIfInList(row.generics,elem,whereClause)}function checkPath(contains,ty,maxEditDistance){if(contains.length===0){return 0}let ret_dist=maxEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;if(clength>length){return maxEditDistance+1}for(let i=0;ilength){break}let dist_total=0;let aborted=false;for(let x=0;xmaxEditDistance){aborted=true;break}dist_total+=dist}if(!aborted){ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}}return ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,deprecated:item.deprecated,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){const inBounds=dist<=maxEditDistance||index!==-1;if(dist===0||(!parsedQuery.literalSearch&&inBounds)){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let index=-1,path_dist=0;const fullId=row.id;const searchWord=searchWords[pos];const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause);if(in_args){addIntoResults(results_in_args,fullId,pos,-1,0,0,maxEditDistance)}const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause);if(returned){addIntoResults(results_returned,fullId,pos,-1,0,0,maxEditDistance)}if(!typePassesFilter(elem.typeFilter,row.ty)){return}const row_index=row.normalizedName.indexOf(elem.pathLast);const word_index=searchWord.indexOf(elem.pathLast);if(row_index===-1){index=word_index}else if(word_index===-1){index=row_index}else if(word_index1){path_dist=checkPath(elem.pathWithoutLast,row,maxEditDistance);if(path_dist>maxEditDistance){return}}if(parsedQuery.literalSearch){if(searchWord===elem.name){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(searchWord,elem.pathLast,maxEditDistance);if(index===-1&&dist+path_dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens)})){return}addIntoResults(results,row.id,pos,0,0,0,Number.MAX_VALUE)}function innerRunQuery(){let elem,i,nSearchWords,in_returned,row;let queryLen=0;for(const elem of parsedQuery.elems){queryLen+=elem.name.length}for(const elem of parsedQuery.returned){queryLen+=elem.name.length}const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem){if(typeNameIdMap.has(elem.pathLast)){elem.id=typeNameIdMap.get(elem.pathLast)}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,id]of typeNameIdMap){const dist=editDistance(name,elem.pathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}}for(const elem of parsedQuery.elems){convertNameToId(elem)}for(const elem of parsedQuery.returned){convertNameToId(elem)}if(parsedQuery.foundElems===1){if(parsedQuery.elems.length===1){elem=parsedQuery.elems[0];for(i=0,nSearchWords=searchWords.length;i0){for(i=0,nSearchWords=searchWords.length;i-1||path.indexOf(key)>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(key)>-1)||editDistance(name,key,maxEditDistance)<=maxEditDistance)){return false}}return true}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){let extraClass="";if(display===true){extraClass=" active"}const output=document.createElement("div");let length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";length+=1;const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
    \ -${item.alias} - see \ -
    `}resultName.insertAdjacentHTML("beforeend",`
    ${alias}\ -${item.displayPath}${name}\ -
    `);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";const crates_list=Object.keys(rawSearchIndex);if(crates_list.length>1){crates=" in 
    "}let output=`

    Results${crates}

    `;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

    Query parser error: "${error.join("")}".

    `;output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+"
    ";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    "}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
    "+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
    ";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

    "+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

    `}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

    "+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

    `}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}function search(e,forced){if(e){e.preventDefault()}const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));showResults(execQuery(query,searchWords,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.map(type=>buildItemSearchType(type,lowercasePaths))}function buildItemSearchType(type,lowercasePaths){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;let pathIndex,generics;if(typeof type==="number"){pathIndex=type;generics=[]}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths)}if(pathIndex<0){return{id:pathIndex,ty:TY_GENERIC,path:null,generics,}}if(pathIndex===0){return{id:null,ty:null,path:null,generics,}}const item=lowercasePaths[pathIndex-1];return{id:buildTypeMapIndex(item.name),ty:item.ty,path:item.path,generics,}}function buildFunctionSearchType(functionSearchType,lowercasePaths){const INPUTS_DATA=0;const OUTPUT_DATA=1;if(functionSearchType===0){return null}let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}lowercasePaths.push({ty:ty,name:name.toLowerCase(),path:path});paths[i]={ty:ty,name:name,path:path}}lastPath="";len=itemTypes.length;for(let i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:buildFunctionSearchType(itemFunctionSearchTypes[i],lowercasePaths),id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),deprecated:deprecatedItems.has(i),implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=crateSize}return searchWords}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;search(e)}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(undefined,true)}const searchWords=buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}return searchWords}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch({})}})() \ No newline at end of file diff --git a/static.files/settings-4313503d2e1961c2.js b/static.files/settings-4313503d2e1961c2.js new file mode 100644 index 00000000..ab425fe4 --- /dev/null +++ b/static.files/settings-4313503d2e1961c2.js @@ -0,0 +1,17 @@ +"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break;case"hide-sidebar":if(value===true){addClass(document.documentElement,"hide-sidebar")}else{removeClass(document.documentElement,"hide-sidebar")}break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme"),"hidden");removeClass(document.getElementById("preferred-dark-theme"),"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme"),"hidden");addClass(document.getElementById("preferred-dark-theme"),"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=()=>{changeSetting(toggle.id,toggle.checked)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){settingValue=useSystem==="false"?"light":"system preference"}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\ +
    +
    ${setting_name}
    +
    `;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\ + `});output+=`\ +
    +
    `}else{const checked=setting["default"]===true?" checked":"";output+=`\ +
    \ + \ +
    `}}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Hide persistent navigation bar","js_name":"hide-sidebar","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`
    ${buildSettingsPageSections(settings)}
    `;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display="";onEachLazy(settingsMenu.querySelectorAll("input[type='checkbox']"),el=>{const val=getSettingValue(el.id);const checked=val==="true";if(checked!==el.checked&&val!==null){el.checked=checked}})}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=event=>{event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=event=>{if(settingsMenu.contains(event.target)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file diff --git a/static.files/settings-74424d7eec62a23e.js b/static.files/settings-74424d7eec62a23e.js deleted file mode 100644 index 3014f75c..00000000 --- a/static.files/settings-74424d7eec62a23e.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme"),"hidden");removeClass(document.getElementById("preferred-dark-theme"),"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme"),"hidden");addClass(document.getElementById("preferred-dark-theme"),"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=()=>{changeSetting(toggle.id,toggle.checked)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){settingValue=useSystem==="false"?"light":"system preference"}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\ -
    -
    ${setting_name}
    -
    `;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\ - `});output+=`\ -
    -
    `}else{const checked=setting["default"]===true?" checked":"";output+=`\ -
    \ - \ -
    `}}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`
    ${buildSettingsPageSections(settings)}
    `;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display=""}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=event=>{event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=event=>{if(elemIsInParent(event.target,settingsMenu)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file diff --git a/static.files/src-script-3280b574d94e47b4.js b/static.files/src-script-3280b574d94e47b4.js deleted file mode 100644 index 9ea88921..00000000 --- a/static.files/src-script-3280b574d94e47b4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(function(){const rootPath=getVar("root-path");const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;const RUSTDOC_MOBILE_BREAKPOINT=700;function closeSidebarIfMobile(){if(window.innerWidth"){addClass(document.documentElement,"src-sidebar-expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{removeClass(document.documentElement,"src-sidebar-expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="src-sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSrcSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="src-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(srcIndex).forEach(key=>{srcIndex[key][NAME_OFFSET]=key;hasFoundFile=createDirEntry(srcIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSrcLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSrcHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSrcLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const 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",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSrcLines(match)}});onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSrcHighlight)});highlightSrcLines();window.createSrcSidebar=createSrcSidebar})() \ No newline at end of file diff --git a/static.files/src-script-39ed315d46fb705f.js b/static.files/src-script-39ed315d46fb705f.js new file mode 100644 index 00000000..ef74f361 --- /dev/null +++ b/static.files/src-script-39ed315d46fb705f.js @@ -0,0 +1 @@ +"use strict";(function(){const rootPath=getVar("root-path");const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;const RUSTDOC_MOBILE_BREAKPOINT=700;function closeSidebarIfMobile(){if(window.innerWidth{removeClass(document.documentElement,"src-sidebar-expanded");getToggleLabel().innerText=">";updateLocalStorage("source-sidebar-show","false")};window.rustdocShowSourceSidebar=()=>{addClass(document.documentElement,"src-sidebar-expanded");getToggleLabel().innerText="<";updateLocalStorage("source-sidebar-show","true")};function toggleSidebar(){const child=this.parentNode.children[0];if(child.innerText===">"){window.rustdocShowSourceSidebar()}else{window.rustdocCloseSourceSidebar()}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="src-sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSrcSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="src-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);for(const[key,source]of srcIndex){source[NAME_OFFSET]=key;hasFoundFile=createDirEntry(source,sidebar,"",hasFoundFile)}container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}function highlightSrcLines(){const match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSrcHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSrcLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const 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",highlightSrcLines);onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSrcHighlight)});highlightSrcLines();window.createSrcSidebar=createSrcSidebar})() \ No newline at end of file diff --git a/static.files/storage-f2adc0d6ca4d09fb.js b/static.files/storage-f2adc0d6ca4d09fb.js new file mode 100644 index 00000000..17233608 --- /dev/null +++ b/static.files/storage-f2adc0d6ca4d09fb.js @@ -0,0 +1 @@ +"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+newThemeName+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px")}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px")}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}}) \ No newline at end of file diff --git a/static.files/storage-fec3eaa3851e447d.js b/static.files/storage-fec3eaa3851e447d.js deleted file mode 100644 index a687118f..00000000 --- a/static.files/storage-fec3eaa3851e447d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func,reversed){if(arr&&arr.length>0){if(reversed){for(let i=arr.length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(const elem of arr){if(func(elem)){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+newThemeName+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0)}}) \ No newline at end of file diff --git a/trait.impl/actix_auth_middleware/trait.GetLoginRoute.js b/trait.impl/actix_auth_middleware/trait.GetLoginRoute.js index 50fda351..6f7cfc11 100644 --- a/trait.impl/actix_auth_middleware/trait.GetLoginRoute.js +++ b/trait.impl/actix_auth_middleware/trait.GetLoginRoute.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mcaptcha":[["impl GetLoginRoute for Routes"],["impl GetLoginRoute for Routes"],["impl GetLoginRoute for Auth"],["impl GetLoginRoute for Auth"]] +"mcaptcha":[["impl GetLoginRoute for Auth"],["impl GetLoginRoute for Auth"],["impl GetLoginRoute for Routes"],["impl GetLoginRoute for Routes"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/actix_web/service/trait.HttpServiceFactory.js b/trait.impl/actix_web/service/trait.HttpServiceFactory.js index 5d33801b..b1034722 100644 --- a/trait.impl/actix_web/service/trait.HttpServiceFactory.js +++ b/trait.impl/actix_web/service/trait.HttpServiceFactory.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mcaptcha":[["impl HttpServiceFactory for login"],["impl HttpServiceFactory for signout"],["impl HttpServiceFactory for view_sitekey"],["impl HttpServiceFactory for advance"],["impl HttpServiceFactory for spec"],["impl HttpServiceFactory for get_percentile"],["impl HttpServiceFactory for sitemap"],["impl HttpServiceFactory for update"],["impl HttpServiceFactory for create"],["impl HttpServiceFactory for post_percentile"],["impl HttpServiceFactory for health"],["impl HttpServiceFactory for error"],["impl HttpServiceFactory for panel"],["impl HttpServiceFactory for download"],["impl HttpServiceFactory for delete_sitekey"],["impl HttpServiceFactory for get_secret"],["impl HttpServiceFactory for update_key"],["impl HttpServiceFactory for get_captcha"],["impl HttpServiceFactory for set_username"],["impl HttpServiceFactory for login"],["impl HttpServiceFactory for static_files"],["impl HttpServiceFactory for update_secret"],["impl HttpServiceFactory for easy"],["impl HttpServiceFactory for notifications"],["impl HttpServiceFactory for get_config"],["impl HttpServiceFactory for username_exists"],["impl HttpServiceFactory for easy"],["impl HttpServiceFactory for percentile_benches"],["impl HttpServiceFactory for delete_account"],["impl HttpServiceFactory for list_sitekeys"],["impl HttpServiceFactory for validate_captcha_token"],["impl HttpServiceFactory for join"],["impl HttpServiceFactory for get_notification"],["impl HttpServiceFactory for build_details"],["impl HttpServiceFactory for secret"],["impl HttpServiceFactory for verify_pow"],["impl HttpServiceFactory for index"],["impl HttpServiceFactory for update_user_password"],["impl HttpServiceFactory for get"],["impl HttpServiceFactory for email_exists"],["impl HttpServiceFactory for delete_account"],["impl HttpServiceFactory for update_captcha"],["impl HttpServiceFactory for advance"],["impl HttpServiceFactory for dist"],["impl HttpServiceFactory for create"],["impl HttpServiceFactory for register"],["impl HttpServiceFactory for settings"],["impl HttpServiceFactory for set_email"],["impl HttpServiceFactory for delete"],["impl HttpServiceFactory for favicons"],["impl HttpServiceFactory for show_widget"],["impl HttpServiceFactory for mark_read"],["impl HttpServiceFactory for update_user_secret"],["impl HttpServiceFactory for add_notification"]] +"mcaptcha":[["impl HttpServiceFactory for percentile_benches"],["impl HttpServiceFactory for secret"],["impl HttpServiceFactory for join"],["impl HttpServiceFactory for get_percentile"],["impl HttpServiceFactory for update_user_password"],["impl HttpServiceFactory for easy"],["impl HttpServiceFactory for easy"],["impl HttpServiceFactory for build_details"],["impl HttpServiceFactory for update_user_secret"],["impl HttpServiceFactory for delete_account"],["impl HttpServiceFactory for update"],["impl HttpServiceFactory for login"],["impl HttpServiceFactory for validate_captcha_token"],["impl HttpServiceFactory for delete_sitekey"],["impl HttpServiceFactory for post_percentile"],["impl HttpServiceFactory for advance"],["impl HttpServiceFactory for username_exists"],["impl HttpServiceFactory for mark_read"],["impl HttpServiceFactory for add_notification"],["impl HttpServiceFactory for signout"],["impl HttpServiceFactory for register"],["impl HttpServiceFactory for sitemap"],["impl HttpServiceFactory for notifications"],["impl HttpServiceFactory for get"],["impl HttpServiceFactory for get_notification"],["impl HttpServiceFactory for static_files"],["impl HttpServiceFactory for error"],["impl HttpServiceFactory for spec"],["impl HttpServiceFactory for delete"],["impl HttpServiceFactory for settings"],["impl HttpServiceFactory for get_config"],["impl HttpServiceFactory for get_captcha"],["impl HttpServiceFactory for view_sitekey"],["impl HttpServiceFactory for create"],["impl HttpServiceFactory for verify_pow"],["impl HttpServiceFactory for download"],["impl HttpServiceFactory for delete_account"],["impl HttpServiceFactory for advance"],["impl HttpServiceFactory for update_captcha"],["impl HttpServiceFactory for get_secret"],["impl HttpServiceFactory for dist"],["impl HttpServiceFactory for update_secret"],["impl HttpServiceFactory for login"],["impl HttpServiceFactory for health"],["impl HttpServiceFactory for create"],["impl HttpServiceFactory for list_sitekeys"],["impl HttpServiceFactory for set_email"],["impl HttpServiceFactory for panel"],["impl HttpServiceFactory for email_exists"],["impl HttpServiceFactory for favicons"],["impl HttpServiceFactory for show_widget"],["impl HttpServiceFactory for update_key"],["impl HttpServiceFactory for index"],["impl HttpServiceFactory for set_username"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js index 64a4946c..48c6c615 100644 --- a/trait.impl/core/clone/trait.Clone.js +++ b/trait.impl/core/clone/trait.Clone.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"db_core":[["impl Clone for EasyCaptcha"],["impl<'a> Clone for Login<'a>"],["impl Clone for CreatePerformanceAnalytics"],["impl<'a> Clone for AddNotification<'a>"],["impl Clone for Captcha"],["impl<'a> Clone for UpdateEmail<'a>"],["impl Clone for TrafficPattern"],["impl Clone for Secret"],["impl Clone for StatsUnixTimestamp"],["impl Clone for Box<dyn MCDatabase>"],["impl Clone for NameHash"],["impl<'a> Clone for Register<'a>"],["impl<'a> Clone for CreateCaptcha<'a>"],["impl Clone for Notification"],["impl Clone for PerformanceAnalytics"]], -"db_sqlx_maria":[["impl Clone for Database"],["impl Clone for InnerNotification"]], -"db_sqlx_postgres":[["impl Clone for InnerNotification"],["impl Clone for Database"]], -"mcaptcha":[["impl Clone for Register"],["impl Clone for Redis"],["impl<'a> Clone for ErrorPage<'a>"],["impl Clone for ApiWork"],["impl Clone for DefaultDifficultyStrategy"],["impl<'a> Clone for AdvanceIndexPage<'a>"],["impl Clone for IndexPage"],["impl Clone for VerifyCaptchaResultPayload"],["impl<'a> Clone for IndexPage<'a>"],["impl Clone for Stats"],["impl Clone for Page"],["impl Clone for CaptchaStats"],["impl Clone for IndexPage"],["impl<'a> Clone for EasyEditPage<'a>"],["impl Clone for MCaptchaDetails"],["impl Clone for PercentileRespBuilder"],["impl Clone for Real"],["impl Clone for PercentilePage"],["impl Clone for AccountCheckResp"],["impl Clone for SecretsStore"],["impl Clone for IndexPage"],["impl Clone for IndexPage"],["impl Clone for IndexPage"],["impl Clone for StatsPayload"],["impl Clone for Settings"],["impl Clone for AdvanceEditPage"],["impl Clone for Password"],["impl Clone for ValidationToken"],["impl Clone for DeleteCaptcha"],["impl Clone for PercentileReq"],["impl Clone for IndexPage"],["impl Clone for NotificationResp"],["impl Clone for TrafficPatternRequest"],["impl<'a, K, V> Clone for SudoPage<'a, K, V>where\n K: Display + Render + Clone,\n V: Display + Render + Clone,"],["impl Clone for IndexPage"],["impl Clone for Survey"],["impl Clone for Captcha"],["impl Clone for AccountCheckPayload"],["impl Clone for Database"],["impl Clone for Smtp"],["impl Clone for BuildDetailsBuilder"],["impl Clone for ApiPoWConfig"],["impl Clone for Date"],["impl Clone for UpdateTrafficPattern"],["impl Clone for I32Levels"],["impl Clone for Survey"],["impl Clone for Username"],["impl Clone for AddNotificationRequest"],["impl Clone for Login"],["impl Clone for Levels"],["impl Clone for Dummy"],["impl Clone for GetConfigPayload"],["impl Clone for DBType"],["impl Clone for PercentileResp"],["impl<'a> Clone for EasyIndexPage<'a>"],["impl Clone for HealthBuilder"],["impl Clone for Server"],["impl Clone for PercentileReqBuilder"],["impl Clone for ChangePasswordReqest"],["impl Clone for BuildDetails"],["impl<'a> Clone for IndexPage<'a>"],["impl Clone for BuildDetailsBuilder"],["impl Clone for BuildDetails"],["impl Clone for CaptchaValidateResp"],["impl Clone for Email"],["impl Clone for Health"]] +"db_core":[["impl Clone for Secret"],["impl Clone for StatsUnixTimestamp"],["impl Clone for EasyCaptcha"],["impl Clone for Box<dyn MCDatabase>"],["impl Clone for Notification"],["impl<'a> Clone for UpdateEmail<'a>"],["impl Clone for NameHash"],["impl Clone for TrafficPattern"],["impl<'a> Clone for Register<'a>"],["impl Clone for CreatePerformanceAnalytics"],["impl<'a> Clone for AddNotification<'a>"],["impl Clone for PerformanceAnalytics"],["impl<'a> Clone for CreateCaptcha<'a>"],["impl Clone for Captcha"],["impl<'a> Clone for Login<'a>"]], +"db_sqlx_maria":[["impl Clone for Database"],["impl Clone for InnerNotification"]], +"db_sqlx_postgres":[["impl Clone for InnerNotification"],["impl Clone for Database"]], +"mcaptcha":[["impl Clone for ApiWork"],["impl Clone for Survey"],["impl Clone for Stats"],["impl Clone for I32Levels"],["impl<'a> Clone for AdvanceIndexPage<'a>"],["impl Clone for Survey"],["impl Clone for AdvanceEditPage"],["impl Clone for IndexPage"],["impl Clone for PercentileReqBuilder"],["impl Clone for UpdateTrafficPattern"],["impl Clone for CaptchaValidateResp"],["impl Clone for BuildDetailsBuilder"],["impl Clone for MCaptchaDetails"],["impl Clone for IndexPage"],["impl Clone for Page"],["impl Clone for PercentileRespBuilder"],["impl Clone for Password"],["impl Clone for DefaultDifficultyStrategy"],["impl Clone for Smtp"],["impl Clone for PercentileReq"],["impl Clone for Email"],["impl Clone for Register"],["impl Clone for SecretsStore"],["impl<'a, K, V> Clone for SudoPage<'a, K, V>
    where\n K: Display + Render + Clone,\n V: Display + Render + Clone,
    "],["impl Clone for AddNotificationRequest"],["impl Clone for ValidationToken"],["impl Clone for DBType"],["impl Clone for Date"],["impl Clone for DeleteCaptcha"],["impl Clone for NotificationResp"],["impl Clone for IndexPage"],["impl Clone for PercentileResp"],["impl Clone for IndexPage"],["impl Clone for Captcha"],["impl<'a> Clone for ErrorPage<'a>"],["impl Clone for ApiPoWConfig"],["impl Clone for Redis"],["impl Clone for Server"],["impl Clone for BuildDetails"],["impl Clone for AccountCheckResp"],["impl Clone for Dummy"],["impl Clone for Username"],["impl Clone for Levels"],["impl<'a> Clone for EasyIndexPage<'a>"],["impl Clone for Settings"],["impl Clone for GetConfigPayload"],["impl Clone for IndexPage"],["impl Clone for IndexPage"],["impl Clone for CaptchaStats"],["impl Clone for AccountCheckPayload"],["impl Clone for Database"],["impl Clone for PercentilePage"],["impl Clone for TrafficPatternRequest"],["impl Clone for VerifyCaptchaResultPayload"],["impl Clone for Real"],["impl Clone for HealthBuilder"],["impl Clone for Health"],["impl Clone for Login"],["impl Clone for BuildDetailsBuilder"],["impl Clone for BuildDetails"],["impl Clone for IndexPage"],["impl<'a> Clone for IndexPage<'a>"],["impl<'a> Clone for IndexPage<'a>"],["impl Clone for StatsPayload"],["impl<'a> Clone for EasyEditPage<'a>"],["impl Clone for ChangePasswordReqest"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.Eq.js b/trait.impl/core/cmp/trait.Eq.js index a8aa458d..594c5894 100644 --- a/trait.impl/core/cmp/trait.Eq.js +++ b/trait.impl/core/cmp/trait.Eq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mcaptcha":[["impl Eq for Survey"],["impl Eq for Database"],["impl Eq for DefaultDifficultyStrategy"],["impl Eq for Page"],["impl Eq for Server"],["impl Eq for Redis"],["impl Eq for Stats"],["impl Eq for Smtp"],["impl Eq for DBType"],["impl Eq for Settings"],["impl Eq for Captcha"]] +"mcaptcha":[["impl Eq for Smtp"],["impl Eq for Redis"],["impl Eq for Stats"],["impl Eq for DBType"],["impl Eq for Captcha"],["impl Eq for Survey"],["impl Eq for Settings"],["impl Eq for Page"],["impl Eq for DefaultDifficultyStrategy"],["impl Eq for Server"],["impl Eq for Database"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.PartialEq.js b/trait.impl/core/cmp/trait.PartialEq.js index 3bd1d8c2..55d0c610 100644 --- a/trait.impl/core/cmp/trait.PartialEq.js +++ b/trait.impl/core/cmp/trait.PartialEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"db_core":[["impl PartialEq for PerformanceAnalytics"],["impl<'a> PartialEq for UpdateEmail<'a>"],["impl PartialEq for TrafficPattern"],["impl PartialEq for NameHash"],["impl PartialEq for EasyCaptcha"],["impl<'a> PartialEq for Login<'a>"],["impl<'a> PartialEq for Register<'a>"],["impl PartialEq for Secret"],["impl<'a> PartialEq for AddNotification<'a>"],["impl<'a> PartialEq for CreateCaptcha<'a>"],["impl PartialEq for CreatePerformanceAnalytics"],["impl PartialEq for Captcha"],["impl PartialEq for StatsUnixTimestamp"],["impl PartialEq for Notification"]], -"db_sqlx_maria":[["impl PartialEq for InnerNotification"]], -"db_sqlx_postgres":[["impl PartialEq for InnerNotification"]], -"mcaptcha":[["impl PartialEq for Survey"],["impl PartialEq for SmtpErrorWrapper"],["impl PartialEq for Stats"],["impl PartialEq for AddNotificationRequest"],["impl PartialEq for Redis"],["impl PartialEq for Server"],["impl PartialEq for DBErrorWrapper"],["impl PartialEq for Page"],["impl PartialEq for PageError"],["impl PartialEq for CaptchaStats"],["impl PartialEq for NotificationResp"],["impl PartialEq for Settings"],["impl PartialEq for ServiceError"],["impl PartialEq for Dummy"],["impl PartialEq for Real"],["impl PartialEq for Smtp"],["impl PartialEq for DefaultDifficultyStrategy"],["impl PartialEq for Captcha"],["impl PartialEq for DBType"],["impl PartialEq for Database"]] +"db_core":[["impl<'a> PartialEq for Register<'a>"],["impl PartialEq for EasyCaptcha"],["impl<'a> PartialEq for UpdateEmail<'a>"],["impl PartialEq for PerformanceAnalytics"],["impl<'a> PartialEq for Login<'a>"],["impl PartialEq for NameHash"],["impl<'a> PartialEq for AddNotification<'a>"],["impl PartialEq for StatsUnixTimestamp"],["impl<'a> PartialEq for CreateCaptcha<'a>"],["impl PartialEq for TrafficPattern"],["impl PartialEq for Captcha"],["impl PartialEq for Secret"],["impl PartialEq for CreatePerformanceAnalytics"],["impl PartialEq for Notification"]], +"db_sqlx_maria":[["impl PartialEq for InnerNotification"]], +"db_sqlx_postgres":[["impl PartialEq for InnerNotification"]], +"mcaptcha":[["impl PartialEq for Redis"],["impl PartialEq for CaptchaStats"],["impl PartialEq for PageError"],["impl PartialEq for ServiceError"],["impl PartialEq for SmtpErrorWrapper"],["impl PartialEq for AddNotificationRequest"],["impl PartialEq for Settings"],["impl PartialEq for Page"],["impl PartialEq for DBType"],["impl PartialEq for Smtp"],["impl PartialEq for Captcha"],["impl PartialEq for Database"],["impl PartialEq for Real"],["impl PartialEq for DefaultDifficultyStrategy"],["impl PartialEq for NotificationResp"],["impl PartialEq for Stats"],["impl PartialEq for Server"],["impl PartialEq for Survey"],["impl PartialEq for Dummy"],["impl PartialEq for DBErrorWrapper"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js index 1ec1e357..95778b1b 100644 --- a/trait.impl/core/convert/trait.From.js +++ b/trait.impl/core/convert/trait.From.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"db_sqlx_maria":[["impl From<InnerNotification> for Notification"]], -"db_sqlx_postgres":[["impl From<InnerNotification> for Notification"]], -"mcaptcha":[["impl From<ChangePasswordReqest> for UpdatePassword"],["impl From<Notification> for NotificationResp"],["impl From<CaptchaError> for ServiceError"],["impl From<UninitializedFieldError> for PercentileReqBuilderError"],["impl From<String> for BuildDetailsBuilderError"],["impl From<UninitializedFieldError> for PercentileRespBuilderError"],["impl From<MailboxError> for ServiceError"],["impl From<String> for HealthBuilderError"],["impl From<String> for BuildDetailsBuilderError"],["impl From<RecvError> for ServiceError"],["impl From<ValidationErrors> for ServiceError"],["impl From<VerifyCaptchaResultPayload> for VerifyCaptchaResult"],["impl From<ServiceError> for PageError"],["impl From<UninitializedFieldError> for BuildDetailsBuilderError"],["impl From<ParseError> for ServiceError"],["impl From<&TrafficPatternRequest> for TrafficPattern"],["impl From<ApiWork> for Work"],["impl From<UninitializedFieldError> for BuildDetailsBuilderError"],["impl From<String> for PercentileReqBuilderError"],["impl From<UninitializedFieldError> for HealthBuilderError"],["impl From<DBError> for PageError"],["impl From<Error> for ServiceError"],["impl From<DBError> for ServiceError"],["impl From<String> for PercentileRespBuilderError"],["impl From<CredsError> for ServiceError"],["impl From<Notification> for Notification"]] +"db_sqlx_maria":[["impl From<InnerNotification> for Notification"]], +"db_sqlx_postgres":[["impl From<InnerNotification> for Notification"]], +"mcaptcha":[["impl From<DBError> for PageError"],["impl From<UninitializedFieldError> for BuildDetailsBuilderError"],["impl From<UninitializedFieldError> for PercentileRespBuilderError"],["impl From<ParseError> for ServiceError"],["impl From<ServiceError> for PageError"],["impl From<&TrafficPatternRequest> for TrafficPattern"],["impl From<VerifyCaptchaResultPayload> for VerifyCaptchaResult"],["impl From<Error> for ServiceError"],["impl From<Notification> for Notification"],["impl From<ChangePasswordReqest> for UpdatePassword"],["impl From<UninitializedFieldError> for PercentileReqBuilderError"],["impl From<ApiWork> for Work"],["impl From<UninitializedFieldError> for BuildDetailsBuilderError"],["impl From<String> for HealthBuilderError"],["impl From<String> for BuildDetailsBuilderError"],["impl From<Notification> for NotificationResp"],["impl From<UninitializedFieldError> for HealthBuilderError"],["impl From<CaptchaError> for ServiceError"],["impl From<DBError> for ServiceError"],["impl From<MailboxError> for ServiceError"],["impl From<ValidationErrors> for ServiceError"],["impl From<RecvError> for ServiceError"],["impl From<String> for PercentileReqBuilderError"],["impl From<String> for BuildDetailsBuilderError"],["impl From<CredsError> for ServiceError"],["impl From<String> for PercentileRespBuilderError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/default/trait.Default.js b/trait.impl/core/default/trait.Default.js index 5d7b5d22..fdc0fa4f 100644 --- a/trait.impl/core/default/trait.Default.js +++ b/trait.impl/core/default/trait.Default.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"db_core":[["impl Default for CreatePerformanceAnalytics"],["impl Default for Captcha"],["impl<'a> Default for CreateCaptcha<'a>"],["impl Default for TrafficPattern"],["impl Default for Secret"],["impl<'a> Default for AddNotification<'a>"],["impl Default for EasyCaptcha"],["impl Default for PerformanceAnalytics"],["impl Default for StatsUnixTimestamp"],["impl Default for Notification"]], -"db_sqlx_postgres":[["impl Default for InnerNotification"]], -"mcaptcha":[["impl Default for IndexPage"],["impl Default for HealthBuilder"],["impl<'a> Default for AdvanceIndexPage<'a>"],["impl<'a> Default for EasyIndexPage<'a>"],["impl Default for IndexPage"],["impl Default for AddNotificationRequest"],["impl Default for IndexPage"],["impl Default for Real"],["impl Default for SecretsStore"],["impl Default for TrafficPatternRequest"],["impl Default for NotificationResp"],["impl Default for Dummy"],["impl Default for PercentileRespBuilder"],["impl Default for CaptchaStats"],["impl Default for BuildDetailsBuilder"],["impl Default for BuildDetailsBuilder"],["impl Default for PercentileReqBuilder"]] +"db_core":[["impl Default for Captcha"],["impl Default for EasyCaptcha"],["impl Default for Notification"],["impl Default for Secret"],["impl Default for PerformanceAnalytics"],["impl Default for CreatePerformanceAnalytics"],["impl Default for StatsUnixTimestamp"],["impl<'a> Default for CreateCaptcha<'a>"],["impl Default for TrafficPattern"],["impl<'a> Default for AddNotification<'a>"]], +"db_sqlx_postgres":[["impl Default for InnerNotification"]], +"mcaptcha":[["impl Default for PercentileReqBuilder"],["impl Default for PercentileRespBuilder"],["impl<'a> Default for EasyIndexPage<'a>"],["impl Default for HealthBuilder"],["impl Default for CaptchaStats"],["impl Default for TrafficPatternRequest"],["impl<'a> Default for AdvanceIndexPage<'a>"],["impl Default for NotificationResp"],["impl Default for Dummy"],["impl Default for BuildDetailsBuilder"],["impl Default for AddNotificationRequest"],["impl Default for IndexPage"],["impl Default for SecretsStore"],["impl Default for Real"],["impl Default for IndexPage"],["impl Default for IndexPage"],["impl Default for BuildDetailsBuilder"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/error/trait.Error.js b/trait.impl/core/error/trait.Error.js index b60d1e6b..d59b7c4c 100644 --- a/trait.impl/core/error/trait.Error.js +++ b/trait.impl/core/error/trait.Error.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"db_core":[["impl Error for DBError"]], -"mcaptcha":[["impl Error for BuildDetailsBuilderError"],["impl Error for DBErrorWrapper"],["impl Error for PercentileReqBuilderError"],["impl Error for SmtpErrorWrapper"],["impl Error for BuildDetailsBuilderError"],["impl Error for HealthBuilderError"],["impl Error for PageError"],["impl Error for PercentileRespBuilderError"],["impl Error for ServiceError"]] +"db_core":[["impl Error for DBError"]], +"mcaptcha":[["impl Error for PercentileRespBuilderError"],["impl Error for HealthBuilderError"],["impl Error for SmtpErrorWrapper"],["impl Error for PageError"],["impl Error for BuildDetailsBuilderError"],["impl Error for BuildDetailsBuilderError"],["impl Error for ServiceError"],["impl Error for DBErrorWrapper"],["impl Error for PercentileReqBuilderError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js index 05e0af71..e2396494 100644 --- a/trait.impl/core/fmt/trait.Debug.js +++ b/trait.impl/core/fmt/trait.Debug.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"db_core":[["impl<'a> Debug for Login<'a>"],["impl<'a> Debug for UpdateEmail<'a>"],["impl Debug for CreatePerformanceAnalytics"],["impl Debug for PerformanceAnalytics"],["impl Debug for Notification"],["impl Debug for DBError"],["impl Debug for Captcha"],["impl Debug for NameHash"],["impl Debug for StatsUnixTimestamp"],["impl<'a> Debug for Register<'a>"],["impl<'a> Debug for AddNotification<'a>"],["impl<'a> Debug for CreateCaptcha<'a>"],["impl Debug for Secret"],["impl Debug for TrafficPattern"],["impl Debug for EasyCaptcha"]], -"db_sqlx_maria":[["impl Debug for InnerNotification"]], -"db_sqlx_postgres":[["impl Debug for InnerNotification"]], -"mcaptcha":[["impl Debug for Username"],["impl Debug for ServiceError"],["impl Debug for Server"],["impl Debug for Redis"],["impl Debug for BuildDetailsBuilderError"],["impl Debug for Dummy"],["impl Debug for TrafficPatternRequest"],["impl Debug for DBType"],["impl Debug for I32Levels"],["impl Debug for PercentileReqBuilderError"],["impl Debug for SecretsStore"],["impl Debug for Health"],["impl Debug for PercentileRespBuilderError"],["impl Debug for PageError"],["impl Debug for DBErrorWrapper"],["impl Debug for DefaultDifficultyStrategy"],["impl Debug for Levels"],["impl Debug for AccountCheckResp"],["impl Debug for AccountCheckPayload"],["impl Debug for ValidationToken"],["impl Debug for GetConfigPayload"],["impl Debug for Page"],["impl Debug for Survey"],["impl Debug for ApiPoWConfig"],["impl Debug for BuildDetailsBuilderError"],["impl Debug for Login"],["impl Debug for Real"],["impl Debug for PercentileReq"],["impl Debug for DeleteCaptcha"],["impl Debug for Database"],["impl Debug for Captcha"],["impl Debug for Date"],["impl Debug for ApiWork"],["impl Debug for Register"],["impl Debug for AddNotificationRequest"],["impl Debug for PercentileResp"],["impl Debug for Email"],["impl Debug for SmtpErrorWrapper"],["impl Debug for VerifyCaptchaResultPayload"],["impl Debug for Settings"],["impl Debug for StatsPayload"],["impl Debug for CaptchaValidateResp"],["impl Debug for BuildDetails"],["impl Debug for BuildDetails"],["impl Debug for HealthBuilderError"],["impl Debug for UpdateTrafficPattern"],["impl Debug for Smtp"],["impl Debug for Password"],["impl Debug for CaptchaStats"],["impl Debug for Stats"],["impl Debug for MCaptchaDetails"],["impl Debug for ChangePasswordReqest"]] +"db_core":[["impl Debug for Captcha"],["impl<'a> Debug for Login<'a>"],["impl Debug for EasyCaptcha"],["impl<'a> Debug for AddNotification<'a>"],["impl Debug for Notification"],["impl Debug for StatsUnixTimestamp"],["impl Debug for DBError"],["impl<'a> Debug for CreateCaptcha<'a>"],["impl<'a> Debug for UpdateEmail<'a>"],["impl Debug for Secret"],["impl Debug for PerformanceAnalytics"],["impl Debug for TrafficPattern"],["impl Debug for CreatePerformanceAnalytics"],["impl<'a> Debug for Register<'a>"],["impl Debug for NameHash"]], +"db_sqlx_maria":[["impl Debug for InnerNotification"]], +"db_sqlx_postgres":[["impl Debug for InnerNotification"]], +"mcaptcha":[["impl Debug for UpdateTrafficPattern"],["impl Debug for AddNotificationRequest"],["impl Debug for CaptchaValidateResp"],["impl Debug for ValidationToken"],["impl Debug for ApiPoWConfig"],["impl Debug for Password"],["impl Debug for Database"],["impl Debug for Stats"],["impl Debug for PercentileResp"],["impl Debug for Smtp"],["impl Debug for BuildDetailsBuilderError"],["impl Debug for Levels"],["impl Debug for DefaultDifficultyStrategy"],["impl Debug for Email"],["impl Debug for DeleteCaptcha"],["impl Debug for BuildDetailsBuilderError"],["impl Debug for CaptchaStats"],["impl Debug for AccountCheckResp"],["impl Debug for SecretsStore"],["impl Debug for Real"],["impl Debug for BuildDetails"],["impl Debug for PercentileRespBuilderError"],["impl Debug for ServiceError"],["impl Debug for VerifyCaptchaResultPayload"],["impl Debug for PageError"],["impl Debug for I32Levels"],["impl Debug for Page"],["impl Debug for MCaptchaDetails"],["impl Debug for Register"],["impl Debug for HealthBuilderError"],["impl Debug for Dummy"],["impl Debug for Username"],["impl Debug for ChangePasswordReqest"],["impl Debug for Captcha"],["impl Debug for SmtpErrorWrapper"],["impl Debug for AccountCheckPayload"],["impl Debug for PercentileReqBuilderError"],["impl Debug for DBErrorWrapper"],["impl Debug for ApiWork"],["impl Debug for Survey"],["impl Debug for Server"],["impl Debug for GetConfigPayload"],["impl Debug for StatsPayload"],["impl Debug for Redis"],["impl Debug for Settings"],["impl Debug for Health"],["impl Debug for Date"],["impl Debug for Login"],["impl Debug for PercentileReq"],["impl Debug for DBType"],["impl Debug for BuildDetails"],["impl Debug for TrafficPatternRequest"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Display.js b/trait.impl/core/fmt/trait.Display.js index e27ac0b2..cda1a921 100644 --- a/trait.impl/core/fmt/trait.Display.js +++ b/trait.impl/core/fmt/trait.Display.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"db_core":[["impl Display for DBError"]], -"mcaptcha":[["impl Display for DBErrorWrapper"],["impl Display for DBType"],["impl Display for SmtpErrorWrapper"],["impl Display for BuildDetailsBuilderError"],["impl Display for PercentileReqBuilderError"],["impl Display for BuildDetailsBuilderError"],["impl Display for PageError"],["impl Display for PercentileRespBuilderError"],["impl Display for HealthBuilderError"],["impl Display for ServiceError"]] +"db_core":[["impl Display for DBError"]], +"mcaptcha":[["impl Display for PercentileRespBuilderError"],["impl Display for DBErrorWrapper"],["impl Display for DBType"],["impl Display for PercentileReqBuilderError"],["impl Display for PageError"],["impl Display for SmtpErrorWrapper"],["impl Display for BuildDetailsBuilderError"],["impl Display for BuildDetailsBuilderError"],["impl Display for ServiceError"],["impl Display for HealthBuilderError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js index f6ba2187..129ab6e1 100644 --- a/trait.impl/core/marker/trait.Freeze.js +++ b/trait.impl/core/marker/trait.Freeze.js @@ -2,5 +2,5 @@ "db_core":[["impl Freeze for DBError",1,["db_core::errors::DBError"]],["impl<'a> Freeze for Register<'a>",1,["db_core::Register"]],["impl<'a> Freeze for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Freeze for Login<'a>",1,["db_core::Login"]],["impl Freeze for NameHash",1,["db_core::NameHash"]],["impl Freeze for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Freeze for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Freeze for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Freeze for Notification",1,["db_core::Notification"]],["impl<'a> Freeze for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Freeze for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Freeze for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Freeze for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Freeze for Captcha",1,["db_core::Captcha"]],["impl Freeze for Secret",1,["db_core::Secret"]]], "db_sqlx_maria":[["impl Freeze for Database",1,["db_sqlx_maria::Database"]],["impl Freeze for Conn",1,["db_sqlx_maria::Conn"]],["impl Freeze for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Freeze for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Freeze for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], "db_sqlx_postgres":[["impl Freeze for Database",1,["db_sqlx_postgres::Database"]],["impl Freeze for Conn",1,["db_sqlx_postgres::Conn"]],["impl Freeze for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Freeze for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Freeze for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], -"mcaptcha":[["impl Freeze for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Freeze for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Freeze for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Freeze for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Freeze for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Freeze for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Freeze for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Freeze for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Freeze for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Freeze for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Freeze for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Freeze for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Freeze for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Freeze for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Freeze for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Freeze for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Freeze for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Freeze for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Freeze for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Freeze for register",1,["mcaptcha::api::v1::auth::register"]],["impl Freeze for login",1,["mcaptcha::api::v1::auth::login"]],["impl Freeze for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Freeze for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Freeze for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Freeze for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Freeze for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Freeze for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Freeze for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Freeze for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Freeze for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Freeze for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Freeze for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Freeze for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Freeze for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Freeze for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Freeze for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Freeze for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Freeze for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Freeze for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Freeze for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Freeze for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Freeze for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Freeze for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Freeze for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Freeze for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Freeze for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Freeze for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Freeze for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Freeze for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Freeze for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Freeze for health",1,["mcaptcha::api::v1::meta::health"]],["impl Freeze for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Freeze for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Freeze for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Freeze for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Freeze for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Freeze for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Freeze for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Freeze for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Freeze for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Freeze for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Freeze for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Freeze for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Freeze for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Freeze for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Freeze for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Freeze for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Freeze for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Freeze for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Freeze for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Freeze for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Freeze for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Freeze for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Freeze for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Freeze for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Freeze for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Freeze for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Freeze for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Freeze for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Freeze for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Freeze for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Freeze for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Freeze for download",1,["mcaptcha::api::v1::survey::download"]],["impl Freeze for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Freeze for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Freeze for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Freeze for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Freeze for Data",1,["mcaptcha::data::Data"]],["impl Freeze for Date",1,["mcaptcha::date::Date"]],["impl Freeze for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Freeze for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Freeze for Asset",1,["mcaptcha::docs::Asset"]],["impl Freeze for dist",1,["mcaptcha::docs::dist"]],["impl Freeze for spec",1,["mcaptcha::docs::spec"]],["impl Freeze for index",1,["mcaptcha::docs::index"]],["impl Freeze for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Freeze for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Freeze for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Freeze for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Freeze for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Freeze for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Freeze for PageError",1,["mcaptcha::errors::PageError"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Freeze for login",1,["mcaptcha::pages::auth::login::login"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Freeze for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Freeze for SudoPage<'a, K, V>",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Freeze for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Freeze for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Freeze for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Freeze for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Freeze for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Freeze for error",1,["mcaptcha::pages::errors::error"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Freeze for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Freeze for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Freeze for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Freeze for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Freeze for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Freeze for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Freeze for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Freeze for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Freeze for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Freeze for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Freeze for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Freeze for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Freeze for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Freeze for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Freeze for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Freeze for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Freeze for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Freeze for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Freeze for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Freeze for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Freeze for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Freeze for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Freeze for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Freeze for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Freeze for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Freeze for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Freeze for panel",1,["mcaptcha::pages::panel::panel"]],["impl Freeze for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Freeze for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Freeze for Server",1,["mcaptcha::settings::Server"]],["impl Freeze for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Freeze for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Freeze for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Freeze for DBType",1,["mcaptcha::settings::DBType"]],["impl Freeze for Database",1,["mcaptcha::settings::Database"]],["impl Freeze for Redis",1,["mcaptcha::settings::Redis"]],["impl Freeze for Survey",1,["mcaptcha::settings::Survey"]],["impl Freeze for Settings",1,["mcaptcha::settings::Settings"]],["impl Freeze for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Freeze for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Freeze for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Freeze for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Freeze for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Freeze for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Freeze for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Freeze for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Freeze for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Freeze for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Freeze for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Freeze for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Freeze for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Freeze for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Freeze for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Freeze for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Freeze for Real",1,["mcaptcha::stats::Real"]],["impl Freeze for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Freeze for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Freeze for Survey",1,["mcaptcha::survey::Survey"]],["impl Freeze for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Freeze for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Freeze for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Freeze for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Freeze for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Freeze for FILES",1,["mcaptcha::FILES"]],["impl Freeze for JS",1,["mcaptcha::JS"]],["impl Freeze for CSS",1,["mcaptcha::CSS"]],["impl Freeze for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Freeze for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Freeze for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Freeze for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] +"mcaptcha":[["impl Freeze for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Freeze for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Freeze for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Freeze for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Freeze for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Freeze for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Freeze for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Freeze for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Freeze for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Freeze for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Freeze for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Freeze for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Freeze for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Freeze for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Freeze for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Freeze for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Freeze for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Freeze for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Freeze for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Freeze for register",1,["mcaptcha::api::v1::auth::register"]],["impl Freeze for login",1,["mcaptcha::api::v1::auth::login"]],["impl Freeze for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Freeze for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Freeze for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Freeze for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Freeze for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Freeze for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Freeze for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Freeze for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Freeze for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Freeze for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Freeze for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Freeze for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Freeze for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Freeze for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Freeze for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Freeze for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Freeze for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Freeze for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Freeze for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Freeze for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Freeze for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Freeze for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Freeze for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Freeze for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Freeze for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Freeze for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Freeze for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Freeze for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Freeze for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Freeze for health",1,["mcaptcha::api::v1::meta::health"]],["impl Freeze for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Freeze for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Freeze for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Freeze for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Freeze for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Freeze for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Freeze for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Freeze for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Freeze for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Freeze for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Freeze for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Freeze for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Freeze for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Freeze for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Freeze for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Freeze for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Freeze for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Freeze for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Freeze for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Freeze for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Freeze for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Freeze for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Freeze for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Freeze for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Freeze for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Freeze for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Freeze for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Freeze for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Freeze for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Freeze for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Freeze for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Freeze for download",1,["mcaptcha::api::v1::survey::download"]],["impl Freeze for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Freeze for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Freeze for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Freeze for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Freeze for Data",1,["mcaptcha::data::Data"]],["impl Freeze for Date",1,["mcaptcha::date::Date"]],["impl Freeze for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Freeze for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Freeze for Asset",1,["mcaptcha::docs::Asset"]],["impl Freeze for dist",1,["mcaptcha::docs::dist"]],["impl Freeze for spec",1,["mcaptcha::docs::spec"]],["impl Freeze for index",1,["mcaptcha::docs::index"]],["impl Freeze for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Freeze for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Freeze for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Freeze for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Freeze for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Freeze for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Freeze for PageError",1,["mcaptcha::errors::PageError"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Freeze for login",1,["mcaptcha::pages::auth::login::login"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Freeze for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Freeze for SudoPage<'a, K, V>",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Freeze for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Freeze for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Freeze for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Freeze for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Freeze for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Freeze for error",1,["mcaptcha::pages::errors::error"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Freeze for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Freeze for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Freeze for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Freeze for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Freeze for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Freeze for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Freeze for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Freeze for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Freeze for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Freeze for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Freeze for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Freeze for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Freeze for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Freeze for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Freeze for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Freeze for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Freeze for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Freeze for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Freeze for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Freeze for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Freeze for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Freeze for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Freeze for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Freeze for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Freeze for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Freeze for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Freeze for panel",1,["mcaptcha::pages::panel::panel"]],["impl Freeze for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Freeze for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Freeze for Server",1,["mcaptcha::settings::Server"]],["impl Freeze for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Freeze for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Freeze for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Freeze for DBType",1,["mcaptcha::settings::DBType"]],["impl Freeze for Database",1,["mcaptcha::settings::Database"]],["impl Freeze for Redis",1,["mcaptcha::settings::Redis"]],["impl Freeze for Survey",1,["mcaptcha::settings::Survey"]],["impl Freeze for Settings",1,["mcaptcha::settings::Settings"]],["impl Freeze for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Freeze for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Freeze for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Freeze for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Freeze for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Freeze for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Freeze for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Freeze for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Freeze for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Freeze for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Freeze for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Freeze for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Freeze for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Freeze for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Freeze for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Freeze for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Freeze for Real",1,["mcaptcha::stats::Real"]],["impl Freeze for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Freeze for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Freeze for Survey",1,["mcaptcha::survey::Survey"]],["impl Freeze for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Freeze for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Freeze for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Freeze for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Freeze for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Freeze for FILES",1,["mcaptcha::FILES"]],["impl Freeze for JS",1,["mcaptcha::JS"]],["impl Freeze for CSS",1,["mcaptcha::CSS"]],["impl Freeze for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Freeze for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Freeze for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Freeze for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index 0a4fc728..f1e4a336 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"db_core":[["impl Send for DBError",1,["db_core::errors::DBError"]],["impl<'a> Send for Register<'a>",1,["db_core::Register"]],["impl<'a> Send for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Send for Login<'a>",1,["db_core::Login"]],["impl Send for NameHash",1,["db_core::NameHash"]],["impl Send for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Send for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Send for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Send for Notification",1,["db_core::Notification"]],["impl<'a> Send for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Send for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Send for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Send for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Send for Captcha",1,["db_core::Captcha"]],["impl Send for Secret",1,["db_core::Secret"]]], -"db_sqlx_maria":[["impl Send for Database",1,["db_sqlx_maria::Database"]],["impl Send for Conn",1,["db_sqlx_maria::Conn"]],["impl Send for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Send for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Send for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], -"db_sqlx_postgres":[["impl Send for Database",1,["db_sqlx_postgres::Database"]],["impl Send for Conn",1,["db_sqlx_postgres::Conn"]],["impl Send for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Send for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Send for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], -"mcaptcha":[["impl Send for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Send for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Send for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Send for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Send for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Send for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Send for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Send for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Send for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Send for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Send for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Send for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Send for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Send for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Send for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Send for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Send for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Send for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Send for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Send for register",1,["mcaptcha::api::v1::auth::register"]],["impl Send for login",1,["mcaptcha::api::v1::auth::login"]],["impl Send for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Send for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Send for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Send for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Send for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Send for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Send for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Send for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Send for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Send for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Send for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Send for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Send for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Send for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Send for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Send for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Send for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Send for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Send for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Send for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Send for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Send for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Send for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Send for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Send for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Send for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Send for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Send for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Send for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Send for health",1,["mcaptcha::api::v1::meta::health"]],["impl Send for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Send for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Send for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Send for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Send for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Send for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Send for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Send for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Send for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Send for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Send for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Send for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Send for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Send for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Send for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Send for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Send for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Send for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Send for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Send for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Send for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Send for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Send for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Send for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Send for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Send for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Send for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Send for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Send for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Send for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Send for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Send for download",1,["mcaptcha::api::v1::survey::download"]],["impl Send for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Send for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Send for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Send for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Send for Data",1,["mcaptcha::data::Data"]],["impl Send for Date",1,["mcaptcha::date::Date"]],["impl Send for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Send for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Send for Asset",1,["mcaptcha::docs::Asset"]],["impl Send for dist",1,["mcaptcha::docs::dist"]],["impl Send for spec",1,["mcaptcha::docs::spec"]],["impl Send for index",1,["mcaptcha::docs::index"]],["impl Send for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Send for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Send for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Send for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Send for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Send for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Send for PageError",1,["mcaptcha::errors::PageError"]],["impl Send for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Send for login",1,["mcaptcha::pages::auth::login::login"]],["impl Send for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Send for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Send for SudoPage<'a, K, V>where\n K: Send,\n V: Send,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Send for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Send for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Send for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Send for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Send for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Send for error",1,["mcaptcha::pages::errors::error"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Send for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Send for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Send for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Send for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Send for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Send for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Send for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Send for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Send for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Send for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Send for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Send for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Send for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Send for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Send for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Send for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Send for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Send for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Send for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Send for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Send for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Send for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Send for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Send for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Send for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Send for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Send for panel",1,["mcaptcha::pages::panel::panel"]],["impl Send for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Send for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Send for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Send for Server",1,["mcaptcha::settings::Server"]],["impl Send for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Send for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Send for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Send for DBType",1,["mcaptcha::settings::DBType"]],["impl Send for Database",1,["mcaptcha::settings::Database"]],["impl Send for Redis",1,["mcaptcha::settings::Redis"]],["impl Send for Survey",1,["mcaptcha::settings::Survey"]],["impl Send for Settings",1,["mcaptcha::settings::Settings"]],["impl Send for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Send for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Send for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Send for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Send for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Send for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Send for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Send for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Send for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Send for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Send for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Send for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Send for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Send for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Send for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Send for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Send for Real",1,["mcaptcha::stats::Real"]],["impl Send for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Send for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Send for Survey",1,["mcaptcha::survey::Survey"]],["impl Send for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Send for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Send for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Send for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Send for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Send for FILES",1,["mcaptcha::FILES"]],["impl Send for JS",1,["mcaptcha::JS"]],["impl Send for CSS",1,["mcaptcha::CSS"]],["impl Send for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Send for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Send for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Send for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] +"db_core":[["impl Send for DBError",1,["db_core::errors::DBError"]],["impl<'a> Send for Register<'a>",1,["db_core::Register"]],["impl<'a> Send for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Send for Login<'a>",1,["db_core::Login"]],["impl Send for NameHash",1,["db_core::NameHash"]],["impl Send for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Send for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Send for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Send for Notification",1,["db_core::Notification"]],["impl<'a> Send for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Send for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Send for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Send for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Send for Captcha",1,["db_core::Captcha"]],["impl Send for Secret",1,["db_core::Secret"]]], +"db_sqlx_maria":[["impl Send for Database",1,["db_sqlx_maria::Database"]],["impl Send for Conn",1,["db_sqlx_maria::Conn"]],["impl Send for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Send for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Send for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], +"db_sqlx_postgres":[["impl Send for Database",1,["db_sqlx_postgres::Database"]],["impl Send for Conn",1,["db_sqlx_postgres::Conn"]],["impl Send for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Send for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Send for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], +"mcaptcha":[["impl Send for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Send for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Send for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Send for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Send for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Send for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Send for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Send for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Send for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Send for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Send for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Send for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Send for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Send for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Send for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Send for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Send for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Send for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Send for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Send for register",1,["mcaptcha::api::v1::auth::register"]],["impl Send for login",1,["mcaptcha::api::v1::auth::login"]],["impl Send for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Send for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Send for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Send for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Send for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Send for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Send for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Send for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Send for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Send for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Send for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Send for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Send for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Send for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Send for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Send for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Send for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Send for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Send for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Send for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Send for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Send for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Send for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Send for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Send for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Send for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Send for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Send for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Send for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Send for health",1,["mcaptcha::api::v1::meta::health"]],["impl Send for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Send for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Send for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Send for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Send for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Send for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Send for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Send for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Send for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Send for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Send for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Send for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Send for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Send for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Send for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Send for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Send for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Send for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Send for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Send for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Send for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Send for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Send for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Send for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Send for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Send for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Send for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Send for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Send for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Send for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Send for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Send for download",1,["mcaptcha::api::v1::survey::download"]],["impl Send for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Send for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Send for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Send for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Send for Data",1,["mcaptcha::data::Data"]],["impl Send for Date",1,["mcaptcha::date::Date"]],["impl Send for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Send for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Send for Asset",1,["mcaptcha::docs::Asset"]],["impl Send for dist",1,["mcaptcha::docs::dist"]],["impl Send for spec",1,["mcaptcha::docs::spec"]],["impl Send for index",1,["mcaptcha::docs::index"]],["impl Send for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Send for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Send for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Send for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Send for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Send for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Send for PageError",1,["mcaptcha::errors::PageError"]],["impl Send for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Send for login",1,["mcaptcha::pages::auth::login::login"]],["impl Send for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Send for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Send for SudoPage<'a, K, V>
    where\n K: Send,\n V: Send,
    ",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Send for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Send for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Send for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Send for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Send for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Send for error",1,["mcaptcha::pages::errors::error"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Send for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Send for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Send for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Send for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Send for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Send for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Send for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Send for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Send for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Send for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Send for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Send for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Send for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Send for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Send for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Send for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Send for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Send for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Send for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Send for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Send for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Send for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Send for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Send for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Send for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Send for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Send for panel",1,["mcaptcha::pages::panel::panel"]],["impl Send for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Send for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Send for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Send for Server",1,["mcaptcha::settings::Server"]],["impl Send for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Send for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Send for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Send for DBType",1,["mcaptcha::settings::DBType"]],["impl Send for Database",1,["mcaptcha::settings::Database"]],["impl Send for Redis",1,["mcaptcha::settings::Redis"]],["impl Send for Survey",1,["mcaptcha::settings::Survey"]],["impl Send for Settings",1,["mcaptcha::settings::Settings"]],["impl Send for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Send for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Send for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Send for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Send for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Send for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Send for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Send for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Send for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Send for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Send for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Send for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Send for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Send for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Send for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Send for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Send for Real",1,["mcaptcha::stats::Real"]],["impl Send for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Send for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Send for Survey",1,["mcaptcha::survey::Survey"]],["impl Send for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Send for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Send for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Send for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Send for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Send for FILES",1,["mcaptcha::FILES"]],["impl Send for JS",1,["mcaptcha::JS"]],["impl Send for CSS",1,["mcaptcha::CSS"]],["impl Send for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Send for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Send for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Send for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.StructuralEq.js b/trait.impl/core/marker/trait.StructuralEq.js index 532c5f01..1d761108 100644 --- a/trait.impl/core/marker/trait.StructuralEq.js +++ b/trait.impl/core/marker/trait.StructuralEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mcaptcha":[["impl StructuralEq for Page"],["impl StructuralEq for DefaultDifficultyStrategy"],["impl StructuralEq for Captcha"],["impl StructuralEq for Survey"],["impl StructuralEq for DBType"],["impl StructuralEq for Stats"],["impl StructuralEq for Server"],["impl StructuralEq for Database"],["impl StructuralEq for Redis"],["impl StructuralEq for Smtp"],["impl StructuralEq for Settings"]] +"mcaptcha":[["impl StructuralEq for Database"],["impl StructuralEq for Settings"],["impl StructuralEq for Smtp"],["impl StructuralEq for Stats"],["impl StructuralEq for Captcha"],["impl StructuralEq for DefaultDifficultyStrategy"],["impl StructuralEq for Redis"],["impl StructuralEq for Survey"],["impl StructuralEq for DBType"],["impl StructuralEq for Page"],["impl StructuralEq for Server"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.StructuralPartialEq.js b/trait.impl/core/marker/trait.StructuralPartialEq.js index 66821f08..43cab6de 100644 --- a/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"db_core":[["impl<'a> StructuralPartialEq for AddNotification<'a>"],["impl StructuralPartialEq for Secret"],["impl StructuralPartialEq for Notification"],["impl<'a> StructuralPartialEq for Register<'a>"],["impl<'a> StructuralPartialEq for UpdateEmail<'a>"],["impl StructuralPartialEq for PerformanceAnalytics"],["impl<'a> StructuralPartialEq for CreateCaptcha<'a>"],["impl StructuralPartialEq for EasyCaptcha"],["impl StructuralPartialEq for StatsUnixTimestamp"],["impl StructuralPartialEq for Captcha"],["impl StructuralPartialEq for NameHash"],["impl StructuralPartialEq for CreatePerformanceAnalytics"],["impl<'a> StructuralPartialEq for Login<'a>"],["impl StructuralPartialEq for TrafficPattern"]], -"db_sqlx_maria":[["impl StructuralPartialEq for InnerNotification"]], -"db_sqlx_postgres":[["impl StructuralPartialEq for InnerNotification"]], -"mcaptcha":[["impl StructuralPartialEq for Smtp"],["impl StructuralPartialEq for NotificationResp"],["impl StructuralPartialEq for Page"],["impl StructuralPartialEq for ServiceError"],["impl StructuralPartialEq for DBType"],["impl StructuralPartialEq for Redis"],["impl StructuralPartialEq for Real"],["impl StructuralPartialEq for DefaultDifficultyStrategy"],["impl StructuralPartialEq for Database"],["impl StructuralPartialEq for PageError"],["impl StructuralPartialEq for CaptchaStats"],["impl StructuralPartialEq for AddNotificationRequest"],["impl StructuralPartialEq for Server"],["impl StructuralPartialEq for Settings"],["impl StructuralPartialEq for Survey"],["impl StructuralPartialEq for Captcha"],["impl StructuralPartialEq for Dummy"],["impl StructuralPartialEq for Stats"]] +"db_core":[["impl StructuralPartialEq for Captcha"],["impl StructuralPartialEq for CreatePerformanceAnalytics"],["impl<'a> StructuralPartialEq for CreateCaptcha<'a>"],["impl StructuralPartialEq for StatsUnixTimestamp"],["impl<'a> StructuralPartialEq for UpdateEmail<'a>"],["impl StructuralPartialEq for NameHash"],["impl<'a> StructuralPartialEq for Login<'a>"],["impl StructuralPartialEq for PerformanceAnalytics"],["impl<'a> StructuralPartialEq for AddNotification<'a>"],["impl<'a> StructuralPartialEq for Register<'a>"],["impl StructuralPartialEq for Notification"],["impl StructuralPartialEq for Secret"],["impl StructuralPartialEq for EasyCaptcha"],["impl StructuralPartialEq for TrafficPattern"]], +"db_sqlx_maria":[["impl StructuralPartialEq for InnerNotification"]], +"db_sqlx_postgres":[["impl StructuralPartialEq for InnerNotification"]], +"mcaptcha":[["impl StructuralPartialEq for AddNotificationRequest"],["impl StructuralPartialEq for CaptchaStats"],["impl StructuralPartialEq for Survey"],["impl StructuralPartialEq for Real"],["impl StructuralPartialEq for Database"],["impl StructuralPartialEq for Smtp"],["impl StructuralPartialEq for DefaultDifficultyStrategy"],["impl StructuralPartialEq for Dummy"],["impl StructuralPartialEq for Redis"],["impl StructuralPartialEq for PageError"],["impl StructuralPartialEq for Page"],["impl StructuralPartialEq for Server"],["impl StructuralPartialEq for ServiceError"],["impl StructuralPartialEq for DBType"],["impl StructuralPartialEq for NotificationResp"],["impl StructuralPartialEq for Settings"],["impl StructuralPartialEq for Captcha"],["impl StructuralPartialEq for Stats"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index c083a354..ed520d5f 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"db_core":[["impl Sync for DBError",1,["db_core::errors::DBError"]],["impl<'a> Sync for Register<'a>",1,["db_core::Register"]],["impl<'a> Sync for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Sync for Login<'a>",1,["db_core::Login"]],["impl Sync for NameHash",1,["db_core::NameHash"]],["impl Sync for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Sync for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Sync for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Sync for Notification",1,["db_core::Notification"]],["impl<'a> Sync for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Sync for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Sync for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Sync for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Sync for Captcha",1,["db_core::Captcha"]],["impl Sync for Secret",1,["db_core::Secret"]]], -"db_sqlx_maria":[["impl Sync for Database",1,["db_sqlx_maria::Database"]],["impl Sync for Conn",1,["db_sqlx_maria::Conn"]],["impl Sync for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Sync for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Sync for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], -"db_sqlx_postgres":[["impl Sync for Database",1,["db_sqlx_postgres::Database"]],["impl Sync for Conn",1,["db_sqlx_postgres::Conn"]],["impl Sync for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Sync for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Sync for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], -"mcaptcha":[["impl Sync for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Sync for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Sync for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Sync for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Sync for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Sync for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Sync for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Sync for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Sync for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Sync for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Sync for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Sync for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Sync for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Sync for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Sync for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Sync for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Sync for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Sync for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Sync for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Sync for register",1,["mcaptcha::api::v1::auth::register"]],["impl Sync for login",1,["mcaptcha::api::v1::auth::login"]],["impl Sync for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Sync for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Sync for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Sync for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Sync for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Sync for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Sync for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Sync for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Sync for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Sync for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Sync for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Sync for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Sync for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Sync for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Sync for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Sync for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Sync for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Sync for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Sync for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Sync for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Sync for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Sync for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Sync for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Sync for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Sync for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Sync for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Sync for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Sync for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Sync for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Sync for health",1,["mcaptcha::api::v1::meta::health"]],["impl Sync for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Sync for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Sync for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Sync for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Sync for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Sync for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Sync for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Sync for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Sync for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Sync for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Sync for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Sync for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Sync for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Sync for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Sync for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Sync for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Sync for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Sync for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Sync for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Sync for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Sync for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Sync for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Sync for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Sync for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Sync for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Sync for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Sync for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Sync for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Sync for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Sync for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Sync for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Sync for download",1,["mcaptcha::api::v1::survey::download"]],["impl Sync for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Sync for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Sync for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Sync for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Sync for Data",1,["mcaptcha::data::Data"]],["impl Sync for Date",1,["mcaptcha::date::Date"]],["impl Sync for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Sync for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Sync for Asset",1,["mcaptcha::docs::Asset"]],["impl Sync for dist",1,["mcaptcha::docs::dist"]],["impl Sync for spec",1,["mcaptcha::docs::spec"]],["impl Sync for index",1,["mcaptcha::docs::index"]],["impl Sync for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Sync for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Sync for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Sync for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Sync for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Sync for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Sync for PageError",1,["mcaptcha::errors::PageError"]],["impl Sync for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Sync for login",1,["mcaptcha::pages::auth::login::login"]],["impl Sync for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Sync for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Sync for SudoPage<'a, K, V>where\n K: Sync,\n V: Sync,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Sync for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Sync for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Sync for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Sync for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Sync for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Sync for error",1,["mcaptcha::pages::errors::error"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Sync for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Sync for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Sync for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Sync for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Sync for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Sync for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Sync for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Sync for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Sync for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Sync for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Sync for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Sync for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Sync for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Sync for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Sync for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Sync for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Sync for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Sync for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Sync for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Sync for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Sync for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Sync for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Sync for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Sync for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Sync for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Sync for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Sync for panel",1,["mcaptcha::pages::panel::panel"]],["impl Sync for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Sync for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Sync for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Sync for Server",1,["mcaptcha::settings::Server"]],["impl Sync for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Sync for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Sync for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Sync for DBType",1,["mcaptcha::settings::DBType"]],["impl Sync for Database",1,["mcaptcha::settings::Database"]],["impl Sync for Redis",1,["mcaptcha::settings::Redis"]],["impl Sync for Survey",1,["mcaptcha::settings::Survey"]],["impl Sync for Settings",1,["mcaptcha::settings::Settings"]],["impl Sync for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Sync for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Sync for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Sync for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Sync for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Sync for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Sync for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Sync for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Sync for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Sync for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Sync for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Sync for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Sync for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Sync for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Sync for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Sync for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Sync for Real",1,["mcaptcha::stats::Real"]],["impl Sync for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Sync for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Sync for Survey",1,["mcaptcha::survey::Survey"]],["impl Sync for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Sync for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Sync for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Sync for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Sync for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Sync for FILES",1,["mcaptcha::FILES"]],["impl Sync for JS",1,["mcaptcha::JS"]],["impl Sync for CSS",1,["mcaptcha::CSS"]],["impl Sync for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Sync for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Sync for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Sync for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] +"db_core":[["impl Sync for DBError",1,["db_core::errors::DBError"]],["impl<'a> Sync for Register<'a>",1,["db_core::Register"]],["impl<'a> Sync for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Sync for Login<'a>",1,["db_core::Login"]],["impl Sync for NameHash",1,["db_core::NameHash"]],["impl Sync for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Sync for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Sync for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Sync for Notification",1,["db_core::Notification"]],["impl<'a> Sync for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Sync for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Sync for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Sync for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Sync for Captcha",1,["db_core::Captcha"]],["impl Sync for Secret",1,["db_core::Secret"]]], +"db_sqlx_maria":[["impl Sync for Database",1,["db_sqlx_maria::Database"]],["impl Sync for Conn",1,["db_sqlx_maria::Conn"]],["impl Sync for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Sync for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Sync for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], +"db_sqlx_postgres":[["impl Sync for Database",1,["db_sqlx_postgres::Database"]],["impl Sync for Conn",1,["db_sqlx_postgres::Conn"]],["impl Sync for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Sync for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Sync for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], +"mcaptcha":[["impl Sync for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Sync for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Sync for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Sync for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Sync for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Sync for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Sync for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Sync for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Sync for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Sync for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Sync for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Sync for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Sync for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Sync for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Sync for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Sync for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Sync for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Sync for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Sync for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Sync for register",1,["mcaptcha::api::v1::auth::register"]],["impl Sync for login",1,["mcaptcha::api::v1::auth::login"]],["impl Sync for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Sync for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Sync for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Sync for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Sync for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Sync for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Sync for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Sync for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Sync for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Sync for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Sync for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Sync for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Sync for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Sync for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Sync for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Sync for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Sync for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Sync for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Sync for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Sync for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Sync for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Sync for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Sync for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Sync for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Sync for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Sync for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Sync for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Sync for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Sync for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Sync for health",1,["mcaptcha::api::v1::meta::health"]],["impl Sync for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Sync for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Sync for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Sync for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Sync for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Sync for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Sync for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Sync for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Sync for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Sync for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Sync for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Sync for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Sync for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Sync for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Sync for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Sync for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Sync for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Sync for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Sync for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Sync for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Sync for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Sync for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Sync for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Sync for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Sync for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Sync for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Sync for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Sync for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Sync for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Sync for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Sync for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Sync for download",1,["mcaptcha::api::v1::survey::download"]],["impl Sync for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Sync for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Sync for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Sync for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Sync for Data",1,["mcaptcha::data::Data"]],["impl Sync for Date",1,["mcaptcha::date::Date"]],["impl Sync for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Sync for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Sync for Asset",1,["mcaptcha::docs::Asset"]],["impl Sync for dist",1,["mcaptcha::docs::dist"]],["impl Sync for spec",1,["mcaptcha::docs::spec"]],["impl Sync for index",1,["mcaptcha::docs::index"]],["impl Sync for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Sync for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Sync for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Sync for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Sync for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Sync for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Sync for PageError",1,["mcaptcha::errors::PageError"]],["impl Sync for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Sync for login",1,["mcaptcha::pages::auth::login::login"]],["impl Sync for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Sync for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Sync for SudoPage<'a, K, V>
    where\n K: Sync,\n V: Sync,
    ",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Sync for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Sync for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Sync for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Sync for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Sync for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Sync for error",1,["mcaptcha::pages::errors::error"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Sync for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Sync for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Sync for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Sync for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Sync for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Sync for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Sync for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Sync for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Sync for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Sync for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Sync for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Sync for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Sync for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Sync for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Sync for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Sync for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Sync for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Sync for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Sync for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Sync for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Sync for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Sync for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Sync for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Sync for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Sync for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Sync for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Sync for panel",1,["mcaptcha::pages::panel::panel"]],["impl Sync for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Sync for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Sync for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Sync for Server",1,["mcaptcha::settings::Server"]],["impl Sync for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Sync for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Sync for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Sync for DBType",1,["mcaptcha::settings::DBType"]],["impl Sync for Database",1,["mcaptcha::settings::Database"]],["impl Sync for Redis",1,["mcaptcha::settings::Redis"]],["impl Sync for Survey",1,["mcaptcha::settings::Survey"]],["impl Sync for Settings",1,["mcaptcha::settings::Settings"]],["impl Sync for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Sync for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Sync for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Sync for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Sync for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Sync for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Sync for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Sync for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Sync for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Sync for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Sync for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Sync for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Sync for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Sync for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Sync for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Sync for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Sync for Real",1,["mcaptcha::stats::Real"]],["impl Sync for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Sync for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Sync for Survey",1,["mcaptcha::survey::Survey"]],["impl Sync for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Sync for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Sync for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Sync for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Sync for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Sync for FILES",1,["mcaptcha::FILES"]],["impl Sync for JS",1,["mcaptcha::JS"]],["impl Sync for CSS",1,["mcaptcha::CSS"]],["impl Sync for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Sync for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Sync for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Sync for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index 47a59227..d0fd3a3d 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"db_core":[["impl Unpin for DBError",1,["db_core::errors::DBError"]],["impl<'a> Unpin for Register<'a>",1,["db_core::Register"]],["impl<'a> Unpin for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Unpin for Login<'a>",1,["db_core::Login"]],["impl Unpin for NameHash",1,["db_core::NameHash"]],["impl Unpin for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Unpin for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Unpin for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Unpin for Notification",1,["db_core::Notification"]],["impl<'a> Unpin for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Unpin for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Unpin for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Unpin for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Unpin for Captcha",1,["db_core::Captcha"]],["impl Unpin for Secret",1,["db_core::Secret"]]], -"db_sqlx_maria":[["impl Unpin for Database",1,["db_sqlx_maria::Database"]],["impl Unpin for Conn",1,["db_sqlx_maria::Conn"]],["impl Unpin for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Unpin for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Unpin for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], -"db_sqlx_postgres":[["impl Unpin for Database",1,["db_sqlx_postgres::Database"]],["impl Unpin for Conn",1,["db_sqlx_postgres::Conn"]],["impl Unpin for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Unpin for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Unpin for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], -"mcaptcha":[["impl Unpin for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Unpin for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Unpin for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Unpin for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Unpin for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Unpin for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Unpin for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Unpin for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Unpin for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Unpin for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Unpin for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Unpin for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Unpin for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Unpin for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Unpin for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Unpin for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Unpin for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Unpin for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Unpin for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Unpin for register",1,["mcaptcha::api::v1::auth::register"]],["impl Unpin for login",1,["mcaptcha::api::v1::auth::login"]],["impl Unpin for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Unpin for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Unpin for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Unpin for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Unpin for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Unpin for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Unpin for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Unpin for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Unpin for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Unpin for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Unpin for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Unpin for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Unpin for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Unpin for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Unpin for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Unpin for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Unpin for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Unpin for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Unpin for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Unpin for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Unpin for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Unpin for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Unpin for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Unpin for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Unpin for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Unpin for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Unpin for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Unpin for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Unpin for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Unpin for health",1,["mcaptcha::api::v1::meta::health"]],["impl Unpin for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Unpin for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Unpin for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Unpin for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Unpin for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Unpin for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Unpin for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Unpin for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Unpin for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Unpin for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Unpin for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Unpin for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Unpin for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Unpin for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Unpin for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Unpin for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Unpin for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Unpin for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Unpin for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Unpin for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Unpin for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Unpin for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Unpin for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Unpin for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Unpin for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Unpin for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Unpin for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Unpin for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Unpin for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Unpin for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Unpin for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Unpin for download",1,["mcaptcha::api::v1::survey::download"]],["impl Unpin for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Unpin for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Unpin for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Unpin for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Unpin for Data",1,["mcaptcha::data::Data"]],["impl Unpin for Date",1,["mcaptcha::date::Date"]],["impl Unpin for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Unpin for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Unpin for Asset",1,["mcaptcha::docs::Asset"]],["impl Unpin for dist",1,["mcaptcha::docs::dist"]],["impl Unpin for spec",1,["mcaptcha::docs::spec"]],["impl Unpin for index",1,["mcaptcha::docs::index"]],["impl Unpin for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Unpin for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Unpin for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Unpin for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Unpin for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Unpin for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Unpin for PageError",1,["mcaptcha::errors::PageError"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Unpin for login",1,["mcaptcha::pages::auth::login::login"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Unpin for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Unpin for SudoPage<'a, K, V>where\n K: Unpin,\n V: Unpin,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Unpin for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Unpin for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Unpin for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Unpin for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Unpin for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Unpin for error",1,["mcaptcha::pages::errors::error"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Unpin for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Unpin for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Unpin for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Unpin for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Unpin for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Unpin for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Unpin for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Unpin for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Unpin for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Unpin for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Unpin for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Unpin for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Unpin for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Unpin for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Unpin for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Unpin for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Unpin for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Unpin for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Unpin for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Unpin for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Unpin for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Unpin for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Unpin for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Unpin for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Unpin for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Unpin for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Unpin for panel",1,["mcaptcha::pages::panel::panel"]],["impl Unpin for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Unpin for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Unpin for Server",1,["mcaptcha::settings::Server"]],["impl Unpin for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Unpin for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Unpin for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Unpin for DBType",1,["mcaptcha::settings::DBType"]],["impl Unpin for Database",1,["mcaptcha::settings::Database"]],["impl Unpin for Redis",1,["mcaptcha::settings::Redis"]],["impl Unpin for Survey",1,["mcaptcha::settings::Survey"]],["impl Unpin for Settings",1,["mcaptcha::settings::Settings"]],["impl Unpin for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Unpin for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Unpin for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Unpin for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Unpin for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Unpin for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Unpin for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Unpin for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Unpin for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Unpin for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Unpin for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Unpin for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Unpin for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Unpin for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Unpin for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Unpin for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Unpin for Real",1,["mcaptcha::stats::Real"]],["impl Unpin for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Unpin for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Unpin for Survey",1,["mcaptcha::survey::Survey"]],["impl Unpin for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Unpin for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Unpin for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Unpin for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Unpin for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Unpin for FILES",1,["mcaptcha::FILES"]],["impl Unpin for JS",1,["mcaptcha::JS"]],["impl Unpin for CSS",1,["mcaptcha::CSS"]],["impl Unpin for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Unpin for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Unpin for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Unpin for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] +"db_core":[["impl Unpin for DBError",1,["db_core::errors::DBError"]],["impl<'a> Unpin for Register<'a>",1,["db_core::Register"]],["impl<'a> Unpin for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Unpin for Login<'a>",1,["db_core::Login"]],["impl Unpin for NameHash",1,["db_core::NameHash"]],["impl Unpin for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Unpin for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Unpin for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Unpin for Notification",1,["db_core::Notification"]],["impl<'a> Unpin for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Unpin for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Unpin for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Unpin for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Unpin for Captcha",1,["db_core::Captcha"]],["impl Unpin for Secret",1,["db_core::Secret"]]], +"db_sqlx_maria":[["impl Unpin for Database",1,["db_sqlx_maria::Database"]],["impl Unpin for Conn",1,["db_sqlx_maria::Conn"]],["impl Unpin for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Unpin for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Unpin for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], +"db_sqlx_postgres":[["impl Unpin for Database",1,["db_sqlx_postgres::Database"]],["impl Unpin for Conn",1,["db_sqlx_postgres::Conn"]],["impl Unpin for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Unpin for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Unpin for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], +"mcaptcha":[["impl Unpin for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Unpin for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Unpin for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Unpin for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Unpin for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Unpin for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Unpin for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Unpin for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Unpin for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Unpin for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Unpin for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Unpin for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Unpin for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Unpin for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Unpin for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Unpin for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Unpin for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Unpin for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Unpin for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Unpin for register",1,["mcaptcha::api::v1::auth::register"]],["impl Unpin for login",1,["mcaptcha::api::v1::auth::login"]],["impl Unpin for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Unpin for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Unpin for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Unpin for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Unpin for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Unpin for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Unpin for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Unpin for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Unpin for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Unpin for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Unpin for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Unpin for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Unpin for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Unpin for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Unpin for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Unpin for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Unpin for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Unpin for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Unpin for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Unpin for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Unpin for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Unpin for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Unpin for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Unpin for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Unpin for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Unpin for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Unpin for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Unpin for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Unpin for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Unpin for health",1,["mcaptcha::api::v1::meta::health"]],["impl Unpin for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Unpin for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Unpin for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Unpin for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Unpin for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Unpin for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Unpin for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Unpin for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Unpin for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Unpin for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Unpin for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Unpin for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Unpin for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Unpin for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Unpin for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Unpin for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Unpin for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Unpin for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Unpin for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Unpin for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Unpin for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Unpin for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Unpin for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Unpin for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Unpin for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Unpin for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Unpin for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Unpin for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Unpin for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Unpin for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Unpin for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Unpin for download",1,["mcaptcha::api::v1::survey::download"]],["impl Unpin for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Unpin for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Unpin for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Unpin for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Unpin for Data",1,["mcaptcha::data::Data"]],["impl Unpin for Date",1,["mcaptcha::date::Date"]],["impl Unpin for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Unpin for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Unpin for Asset",1,["mcaptcha::docs::Asset"]],["impl Unpin for dist",1,["mcaptcha::docs::dist"]],["impl Unpin for spec",1,["mcaptcha::docs::spec"]],["impl Unpin for index",1,["mcaptcha::docs::index"]],["impl Unpin for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Unpin for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Unpin for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Unpin for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Unpin for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Unpin for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Unpin for PageError",1,["mcaptcha::errors::PageError"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Unpin for login",1,["mcaptcha::pages::auth::login::login"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Unpin for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Unpin for SudoPage<'a, K, V>
    where\n K: Unpin,\n V: Unpin,
    ",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Unpin for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Unpin for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Unpin for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Unpin for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Unpin for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Unpin for error",1,["mcaptcha::pages::errors::error"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Unpin for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Unpin for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Unpin for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Unpin for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Unpin for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Unpin for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Unpin for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Unpin for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Unpin for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Unpin for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Unpin for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Unpin for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Unpin for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Unpin for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Unpin for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Unpin for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Unpin for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Unpin for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Unpin for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Unpin for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Unpin for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Unpin for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Unpin for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Unpin for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Unpin for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Unpin for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Unpin for panel",1,["mcaptcha::pages::panel::panel"]],["impl Unpin for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Unpin for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Unpin for Server",1,["mcaptcha::settings::Server"]],["impl Unpin for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Unpin for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Unpin for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Unpin for DBType",1,["mcaptcha::settings::DBType"]],["impl Unpin for Database",1,["mcaptcha::settings::Database"]],["impl Unpin for Redis",1,["mcaptcha::settings::Redis"]],["impl Unpin for Survey",1,["mcaptcha::settings::Survey"]],["impl Unpin for Settings",1,["mcaptcha::settings::Settings"]],["impl Unpin for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Unpin for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Unpin for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Unpin for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Unpin for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Unpin for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Unpin for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Unpin for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Unpin for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Unpin for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Unpin for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Unpin for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Unpin for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Unpin for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Unpin for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Unpin for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Unpin for Real",1,["mcaptcha::stats::Real"]],["impl Unpin for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Unpin for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Unpin for Survey",1,["mcaptcha::survey::Survey"]],["impl Unpin for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Unpin for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Unpin for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Unpin for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Unpin for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Unpin for FILES",1,["mcaptcha::FILES"]],["impl Unpin for JS",1,["mcaptcha::JS"]],["impl Unpin for CSS",1,["mcaptcha::CSS"]],["impl Unpin for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Unpin for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Unpin for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Unpin for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/deref/trait.Deref.js b/trait.impl/core/ops/deref/trait.Deref.js index 2eb1c176..31056363 100644 --- a/trait.impl/core/ops/deref/trait.Deref.js +++ b/trait.impl/core/ops/deref/trait.Deref.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mcaptcha":[["impl Deref for INDEX"],["impl Deref for INTERNAL_SERVER_ERROR_BODY"],["impl Deref for MCAPTCHA_TRANS_ICON"],["impl Deref for VERIFICATIN_WIDGET_JS"],["impl Deref for SOURCE_FILES_OF_INSTANCE"],["impl Deref for MESSAGE"],["impl Deref for INDEX_PAGE"],["impl Deref for JS"],["impl Deref for CSS"],["impl Deref for MOBILE_CSS"],["impl Deref for VERIFICATIN_WIDGET_CSS"],["impl Deref for CREDIT_CARD"],["impl Deref for BAR_CHART"],["impl Deref for EASY_INDEX"],["impl Deref for GITHUB"],["impl Deref for UNKNOWN_ERROR_BODY"],["impl Deref for SETTINGS"],["impl Deref for INDEX"],["impl Deref for HELP_CIRCLE"],["impl Deref for ADVANCE_INDEX"],["impl Deref for KEY"],["impl Deref for INDEX"],["impl Deref for FILES"],["impl Deref for DOCS_ICON"],["impl Deref for HOME"],["impl Deref for SETTINGS_ICON"]] +"mcaptcha":[["impl Deref for KEY"],["impl Deref for MESSAGE"],["impl Deref for SETTINGS"],["impl Deref for DOCS_ICON"],["impl Deref for HELP_CIRCLE"],["impl Deref for SOURCE_FILES_OF_INSTANCE"],["impl Deref for INDEX_PAGE"],["impl Deref for BAR_CHART"],["impl Deref for ADVANCE_INDEX"],["impl Deref for VERIFICATIN_WIDGET_CSS"],["impl Deref for JS"],["impl Deref for VERIFICATIN_WIDGET_JS"],["impl Deref for INDEX"],["impl Deref for HOME"],["impl Deref for INTERNAL_SERVER_ERROR_BODY"],["impl Deref for SETTINGS_ICON"],["impl Deref for INDEX"],["impl Deref for FILES"],["impl Deref for MCAPTCHA_TRANS_ICON"],["impl Deref for CSS"],["impl Deref for GITHUB"],["impl Deref for MOBILE_CSS"],["impl Deref for CREDIT_CARD"],["impl Deref for INDEX"],["impl Deref for UNKNOWN_ERROR_BODY"],["impl Deref for EASY_INDEX"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 2feb9a74..d5849729 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"db_core":[["impl !RefUnwindSafe for DBError",1,["db_core::errors::DBError"]],["impl<'a> RefUnwindSafe for Register<'a>",1,["db_core::Register"]],["impl<'a> RefUnwindSafe for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> RefUnwindSafe for Login<'a>",1,["db_core::Login"]],["impl RefUnwindSafe for NameHash",1,["db_core::NameHash"]],["impl RefUnwindSafe for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl RefUnwindSafe for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl RefUnwindSafe for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl RefUnwindSafe for Notification",1,["db_core::Notification"]],["impl<'a> RefUnwindSafe for AddNotification<'a>",1,["db_core::AddNotification"]],["impl RefUnwindSafe for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl RefUnwindSafe for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> RefUnwindSafe for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl RefUnwindSafe for Captcha",1,["db_core::Captcha"]],["impl RefUnwindSafe for Secret",1,["db_core::Secret"]]], -"db_sqlx_maria":[["impl !RefUnwindSafe for Database",1,["db_sqlx_maria::Database"]],["impl !RefUnwindSafe for Conn",1,["db_sqlx_maria::Conn"]],["impl !RefUnwindSafe for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl !RefUnwindSafe for Fresh",1,["db_sqlx_maria::Fresh"]],["impl RefUnwindSafe for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], -"db_sqlx_postgres":[["impl !RefUnwindSafe for Database",1,["db_sqlx_postgres::Database"]],["impl !RefUnwindSafe for Conn",1,["db_sqlx_postgres::Conn"]],["impl !RefUnwindSafe for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl !RefUnwindSafe for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl RefUnwindSafe for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], -"mcaptcha":[["impl RefUnwindSafe for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl RefUnwindSafe for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl RefUnwindSafe for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl RefUnwindSafe for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl RefUnwindSafe for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl RefUnwindSafe for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl RefUnwindSafe for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl RefUnwindSafe for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl RefUnwindSafe for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl RefUnwindSafe for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl RefUnwindSafe for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl RefUnwindSafe for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl RefUnwindSafe for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl RefUnwindSafe for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl RefUnwindSafe for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl RefUnwindSafe for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl RefUnwindSafe for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl RefUnwindSafe for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl RefUnwindSafe for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl RefUnwindSafe for register",1,["mcaptcha::api::v1::auth::register"]],["impl RefUnwindSafe for login",1,["mcaptcha::api::v1::auth::login"]],["impl RefUnwindSafe for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl RefUnwindSafe for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl RefUnwindSafe for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl RefUnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl RefUnwindSafe for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl RefUnwindSafe for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl RefUnwindSafe for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl RefUnwindSafe for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl RefUnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl RefUnwindSafe for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl RefUnwindSafe for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl RefUnwindSafe for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl RefUnwindSafe for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl RefUnwindSafe for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl RefUnwindSafe for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl RefUnwindSafe for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl RefUnwindSafe for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl RefUnwindSafe for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl RefUnwindSafe for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl RefUnwindSafe for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl RefUnwindSafe for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl RefUnwindSafe for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl RefUnwindSafe for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl RefUnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl RefUnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl RefUnwindSafe for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl RefUnwindSafe for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl RefUnwindSafe for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl RefUnwindSafe for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl RefUnwindSafe for health",1,["mcaptcha::api::v1::meta::health"]],["impl RefUnwindSafe for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl RefUnwindSafe for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl RefUnwindSafe for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl RefUnwindSafe for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl RefUnwindSafe for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl RefUnwindSafe for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl RefUnwindSafe for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl RefUnwindSafe for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl RefUnwindSafe for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl RefUnwindSafe for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl RefUnwindSafe for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl RefUnwindSafe for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl RefUnwindSafe for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl RefUnwindSafe for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl RefUnwindSafe for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl RefUnwindSafe for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl RefUnwindSafe for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl RefUnwindSafe for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl RefUnwindSafe for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl RefUnwindSafe for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl RefUnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl RefUnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl RefUnwindSafe for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl RefUnwindSafe for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl RefUnwindSafe for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl RefUnwindSafe for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl RefUnwindSafe for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl RefUnwindSafe for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl RefUnwindSafe for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl RefUnwindSafe for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl RefUnwindSafe for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl RefUnwindSafe for download",1,["mcaptcha::api::v1::survey::download"]],["impl RefUnwindSafe for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl RefUnwindSafe for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl RefUnwindSafe for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl !RefUnwindSafe for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl !RefUnwindSafe for Data",1,["mcaptcha::data::Data"]],["impl RefUnwindSafe for Date",1,["mcaptcha::date::Date"]],["impl !RefUnwindSafe for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl RefUnwindSafe for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl RefUnwindSafe for Asset",1,["mcaptcha::docs::Asset"]],["impl RefUnwindSafe for dist",1,["mcaptcha::docs::dist"]],["impl RefUnwindSafe for spec",1,["mcaptcha::docs::spec"]],["impl RefUnwindSafe for index",1,["mcaptcha::docs::index"]],["impl !RefUnwindSafe for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> RefUnwindSafe for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl !RefUnwindSafe for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl !RefUnwindSafe for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl !RefUnwindSafe for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl RefUnwindSafe for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl !RefUnwindSafe for PageError",1,["mcaptcha::errors::PageError"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl RefUnwindSafe for login",1,["mcaptcha::pages::auth::login::login"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl RefUnwindSafe for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V>where\n K: RefUnwindSafe,\n V: RefUnwindSafe,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl RefUnwindSafe for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl RefUnwindSafe for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> RefUnwindSafe for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl RefUnwindSafe for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl RefUnwindSafe for error",1,["mcaptcha::pages::errors::error"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl RefUnwindSafe for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl RefUnwindSafe for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl RefUnwindSafe for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> RefUnwindSafe for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl RefUnwindSafe for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl RefUnwindSafe for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl RefUnwindSafe for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl RefUnwindSafe for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl RefUnwindSafe for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl RefUnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> RefUnwindSafe for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl RefUnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl RefUnwindSafe for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl RefUnwindSafe for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl RefUnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> RefUnwindSafe for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl RefUnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl RefUnwindSafe for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl RefUnwindSafe for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl RefUnwindSafe for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl RefUnwindSafe for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl RefUnwindSafe for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl RefUnwindSafe for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl RefUnwindSafe for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl RefUnwindSafe for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl RefUnwindSafe for panel",1,["mcaptcha::pages::panel::panel"]],["impl RefUnwindSafe for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl RefUnwindSafe for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl RefUnwindSafe for Server",1,["mcaptcha::settings::Server"]],["impl RefUnwindSafe for Captcha",1,["mcaptcha::settings::Captcha"]],["impl RefUnwindSafe for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl RefUnwindSafe for Smtp",1,["mcaptcha::settings::Smtp"]],["impl RefUnwindSafe for DBType",1,["mcaptcha::settings::DBType"]],["impl RefUnwindSafe for Database",1,["mcaptcha::settings::Database"]],["impl RefUnwindSafe for Redis",1,["mcaptcha::settings::Redis"]],["impl RefUnwindSafe for Survey",1,["mcaptcha::settings::Survey"]],["impl RefUnwindSafe for Settings",1,["mcaptcha::settings::Settings"]],["impl RefUnwindSafe for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl RefUnwindSafe for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl RefUnwindSafe for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl RefUnwindSafe for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl RefUnwindSafe for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl RefUnwindSafe for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl RefUnwindSafe for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl RefUnwindSafe for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl RefUnwindSafe for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl RefUnwindSafe for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl RefUnwindSafe for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl RefUnwindSafe for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl RefUnwindSafe for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl RefUnwindSafe for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl RefUnwindSafe for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl RefUnwindSafe for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl RefUnwindSafe for Real",1,["mcaptcha::stats::Real"]],["impl RefUnwindSafe for Dummy",1,["mcaptcha::stats::Dummy"]],["impl RefUnwindSafe for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl !RefUnwindSafe for Survey",1,["mcaptcha::survey::Survey"]],["impl RefUnwindSafe for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl RefUnwindSafe for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl RefUnwindSafe for show_widget",1,["mcaptcha::widget::show_widget"]],["impl RefUnwindSafe for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl RefUnwindSafe for FILES",1,["mcaptcha::FILES"]],["impl RefUnwindSafe for JS",1,["mcaptcha::JS"]],["impl RefUnwindSafe for CSS",1,["mcaptcha::CSS"]],["impl RefUnwindSafe for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl RefUnwindSafe for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] +"db_core":[["impl !RefUnwindSafe for DBError",1,["db_core::errors::DBError"]],["impl<'a> RefUnwindSafe for Register<'a>",1,["db_core::Register"]],["impl<'a> RefUnwindSafe for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> RefUnwindSafe for Login<'a>",1,["db_core::Login"]],["impl RefUnwindSafe for NameHash",1,["db_core::NameHash"]],["impl RefUnwindSafe for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl RefUnwindSafe for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl RefUnwindSafe for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl RefUnwindSafe for Notification",1,["db_core::Notification"]],["impl<'a> RefUnwindSafe for AddNotification<'a>",1,["db_core::AddNotification"]],["impl RefUnwindSafe for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl RefUnwindSafe for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> RefUnwindSafe for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl RefUnwindSafe for Captcha",1,["db_core::Captcha"]],["impl RefUnwindSafe for Secret",1,["db_core::Secret"]]], +"db_sqlx_maria":[["impl !RefUnwindSafe for Database",1,["db_sqlx_maria::Database"]],["impl !RefUnwindSafe for Conn",1,["db_sqlx_maria::Conn"]],["impl !RefUnwindSafe for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl !RefUnwindSafe for Fresh",1,["db_sqlx_maria::Fresh"]],["impl RefUnwindSafe for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], +"db_sqlx_postgres":[["impl !RefUnwindSafe for Database",1,["db_sqlx_postgres::Database"]],["impl !RefUnwindSafe for Conn",1,["db_sqlx_postgres::Conn"]],["impl !RefUnwindSafe for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl !RefUnwindSafe for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl RefUnwindSafe for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], +"mcaptcha":[["impl RefUnwindSafe for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl RefUnwindSafe for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl RefUnwindSafe for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl RefUnwindSafe for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl RefUnwindSafe for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl RefUnwindSafe for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl RefUnwindSafe for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl RefUnwindSafe for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl RefUnwindSafe for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl RefUnwindSafe for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl RefUnwindSafe for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl RefUnwindSafe for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl RefUnwindSafe for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl RefUnwindSafe for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl RefUnwindSafe for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl RefUnwindSafe for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl RefUnwindSafe for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl RefUnwindSafe for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl RefUnwindSafe for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl RefUnwindSafe for register",1,["mcaptcha::api::v1::auth::register"]],["impl RefUnwindSafe for login",1,["mcaptcha::api::v1::auth::login"]],["impl RefUnwindSafe for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl RefUnwindSafe for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl RefUnwindSafe for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl RefUnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl RefUnwindSafe for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl RefUnwindSafe for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl RefUnwindSafe for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl RefUnwindSafe for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl RefUnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl RefUnwindSafe for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl RefUnwindSafe for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl RefUnwindSafe for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl RefUnwindSafe for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl RefUnwindSafe for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl RefUnwindSafe for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl RefUnwindSafe for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl RefUnwindSafe for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl RefUnwindSafe for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl RefUnwindSafe for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl RefUnwindSafe for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl RefUnwindSafe for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl RefUnwindSafe for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl RefUnwindSafe for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl RefUnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl RefUnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl RefUnwindSafe for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl RefUnwindSafe for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl RefUnwindSafe for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl RefUnwindSafe for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl RefUnwindSafe for health",1,["mcaptcha::api::v1::meta::health"]],["impl RefUnwindSafe for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl RefUnwindSafe for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl RefUnwindSafe for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl RefUnwindSafe for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl RefUnwindSafe for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl RefUnwindSafe for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl RefUnwindSafe for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl RefUnwindSafe for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl RefUnwindSafe for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl RefUnwindSafe for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl RefUnwindSafe for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl RefUnwindSafe for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl RefUnwindSafe for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl RefUnwindSafe for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl RefUnwindSafe for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl RefUnwindSafe for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl RefUnwindSafe for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl RefUnwindSafe for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl RefUnwindSafe for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl RefUnwindSafe for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl RefUnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl RefUnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl RefUnwindSafe for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl RefUnwindSafe for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl RefUnwindSafe for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl RefUnwindSafe for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl RefUnwindSafe for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl RefUnwindSafe for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl RefUnwindSafe for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl RefUnwindSafe for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl RefUnwindSafe for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl RefUnwindSafe for download",1,["mcaptcha::api::v1::survey::download"]],["impl RefUnwindSafe for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl RefUnwindSafe for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl RefUnwindSafe for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl !RefUnwindSafe for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl !RefUnwindSafe for Data",1,["mcaptcha::data::Data"]],["impl RefUnwindSafe for Date",1,["mcaptcha::date::Date"]],["impl !RefUnwindSafe for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl RefUnwindSafe for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl RefUnwindSafe for Asset",1,["mcaptcha::docs::Asset"]],["impl RefUnwindSafe for dist",1,["mcaptcha::docs::dist"]],["impl RefUnwindSafe for spec",1,["mcaptcha::docs::spec"]],["impl RefUnwindSafe for index",1,["mcaptcha::docs::index"]],["impl !RefUnwindSafe for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> RefUnwindSafe for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl !RefUnwindSafe for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl !RefUnwindSafe for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl !RefUnwindSafe for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl RefUnwindSafe for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl !RefUnwindSafe for PageError",1,["mcaptcha::errors::PageError"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl RefUnwindSafe for login",1,["mcaptcha::pages::auth::login::login"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl RefUnwindSafe for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V>
    where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
    ",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl RefUnwindSafe for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl RefUnwindSafe for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> RefUnwindSafe for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl RefUnwindSafe for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl RefUnwindSafe for error",1,["mcaptcha::pages::errors::error"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl RefUnwindSafe for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl RefUnwindSafe for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl RefUnwindSafe for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> RefUnwindSafe for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl RefUnwindSafe for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl RefUnwindSafe for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl RefUnwindSafe for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl RefUnwindSafe for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl RefUnwindSafe for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl RefUnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> RefUnwindSafe for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl RefUnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl RefUnwindSafe for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl RefUnwindSafe for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl RefUnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> RefUnwindSafe for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl RefUnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl RefUnwindSafe for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl RefUnwindSafe for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl RefUnwindSafe for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl RefUnwindSafe for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl RefUnwindSafe for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl RefUnwindSafe for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl RefUnwindSafe for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl RefUnwindSafe for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl RefUnwindSafe for panel",1,["mcaptcha::pages::panel::panel"]],["impl RefUnwindSafe for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl RefUnwindSafe for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl RefUnwindSafe for Server",1,["mcaptcha::settings::Server"]],["impl RefUnwindSafe for Captcha",1,["mcaptcha::settings::Captcha"]],["impl RefUnwindSafe for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl RefUnwindSafe for Smtp",1,["mcaptcha::settings::Smtp"]],["impl RefUnwindSafe for DBType",1,["mcaptcha::settings::DBType"]],["impl RefUnwindSafe for Database",1,["mcaptcha::settings::Database"]],["impl RefUnwindSafe for Redis",1,["mcaptcha::settings::Redis"]],["impl RefUnwindSafe for Survey",1,["mcaptcha::settings::Survey"]],["impl RefUnwindSafe for Settings",1,["mcaptcha::settings::Settings"]],["impl RefUnwindSafe for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl RefUnwindSafe for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl RefUnwindSafe for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl RefUnwindSafe for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl RefUnwindSafe for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl RefUnwindSafe for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl RefUnwindSafe for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl RefUnwindSafe for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl RefUnwindSafe for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl RefUnwindSafe for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl RefUnwindSafe for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl RefUnwindSafe for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl RefUnwindSafe for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl RefUnwindSafe for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl RefUnwindSafe for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl RefUnwindSafe for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl RefUnwindSafe for Real",1,["mcaptcha::stats::Real"]],["impl RefUnwindSafe for Dummy",1,["mcaptcha::stats::Dummy"]],["impl RefUnwindSafe for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl !RefUnwindSafe for Survey",1,["mcaptcha::survey::Survey"]],["impl RefUnwindSafe for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl RefUnwindSafe for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl RefUnwindSafe for show_widget",1,["mcaptcha::widget::show_widget"]],["impl RefUnwindSafe for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl RefUnwindSafe for FILES",1,["mcaptcha::FILES"]],["impl RefUnwindSafe for JS",1,["mcaptcha::JS"]],["impl RefUnwindSafe for CSS",1,["mcaptcha::CSS"]],["impl RefUnwindSafe for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl RefUnwindSafe for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index e8c439bc..87836758 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"db_core":[["impl !UnwindSafe for DBError",1,["db_core::errors::DBError"]],["impl<'a> UnwindSafe for Register<'a>",1,["db_core::Register"]],["impl<'a> UnwindSafe for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> UnwindSafe for Login<'a>",1,["db_core::Login"]],["impl UnwindSafe for NameHash",1,["db_core::NameHash"]],["impl UnwindSafe for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl UnwindSafe for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl UnwindSafe for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl UnwindSafe for Notification",1,["db_core::Notification"]],["impl<'a> UnwindSafe for AddNotification<'a>",1,["db_core::AddNotification"]],["impl UnwindSafe for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl UnwindSafe for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> UnwindSafe for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl UnwindSafe for Captcha",1,["db_core::Captcha"]],["impl UnwindSafe for Secret",1,["db_core::Secret"]]], -"db_sqlx_maria":[["impl !UnwindSafe for Database",1,["db_sqlx_maria::Database"]],["impl !UnwindSafe for Conn",1,["db_sqlx_maria::Conn"]],["impl !UnwindSafe for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl !UnwindSafe for Fresh",1,["db_sqlx_maria::Fresh"]],["impl UnwindSafe for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], -"db_sqlx_postgres":[["impl !UnwindSafe for Database",1,["db_sqlx_postgres::Database"]],["impl !UnwindSafe for Conn",1,["db_sqlx_postgres::Conn"]],["impl !UnwindSafe for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl !UnwindSafe for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl UnwindSafe for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], -"mcaptcha":[["impl UnwindSafe for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl UnwindSafe for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl UnwindSafe for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl UnwindSafe for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl UnwindSafe for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl UnwindSafe for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl UnwindSafe for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl UnwindSafe for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl UnwindSafe for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl UnwindSafe for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl UnwindSafe for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl UnwindSafe for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl UnwindSafe for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl UnwindSafe for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl UnwindSafe for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl UnwindSafe for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl UnwindSafe for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl UnwindSafe for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl UnwindSafe for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl UnwindSafe for register",1,["mcaptcha::api::v1::auth::register"]],["impl UnwindSafe for login",1,["mcaptcha::api::v1::auth::login"]],["impl UnwindSafe for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl UnwindSafe for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl UnwindSafe for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl UnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl UnwindSafe for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl UnwindSafe for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl UnwindSafe for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl UnwindSafe for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl UnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl UnwindSafe for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl UnwindSafe for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl UnwindSafe for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl UnwindSafe for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl UnwindSafe for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl UnwindSafe for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl UnwindSafe for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl UnwindSafe for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl UnwindSafe for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl UnwindSafe for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl UnwindSafe for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl UnwindSafe for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl UnwindSafe for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl UnwindSafe for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl UnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl UnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl UnwindSafe for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl UnwindSafe for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl UnwindSafe for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl UnwindSafe for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl UnwindSafe for health",1,["mcaptcha::api::v1::meta::health"]],["impl UnwindSafe for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl UnwindSafe for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl UnwindSafe for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl UnwindSafe for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl UnwindSafe for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl UnwindSafe for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl UnwindSafe for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl UnwindSafe for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl UnwindSafe for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl UnwindSafe for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl UnwindSafe for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl UnwindSafe for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl UnwindSafe for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl UnwindSafe for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl UnwindSafe for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl UnwindSafe for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl UnwindSafe for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl UnwindSafe for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl UnwindSafe for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl UnwindSafe for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl UnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl UnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl UnwindSafe for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl UnwindSafe for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl UnwindSafe for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl UnwindSafe for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl UnwindSafe for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl UnwindSafe for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl UnwindSafe for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl UnwindSafe for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl UnwindSafe for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl UnwindSafe for download",1,["mcaptcha::api::v1::survey::download"]],["impl UnwindSafe for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl UnwindSafe for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl UnwindSafe for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl !UnwindSafe for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl !UnwindSafe for Data",1,["mcaptcha::data::Data"]],["impl UnwindSafe for Date",1,["mcaptcha::date::Date"]],["impl !UnwindSafe for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl UnwindSafe for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl UnwindSafe for Asset",1,["mcaptcha::docs::Asset"]],["impl UnwindSafe for dist",1,["mcaptcha::docs::dist"]],["impl UnwindSafe for spec",1,["mcaptcha::docs::spec"]],["impl UnwindSafe for index",1,["mcaptcha::docs::index"]],["impl !UnwindSafe for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> UnwindSafe for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl !UnwindSafe for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl !UnwindSafe for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl !UnwindSafe for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl UnwindSafe for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl !UnwindSafe for PageError",1,["mcaptcha::errors::PageError"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl UnwindSafe for login",1,["mcaptcha::pages::auth::login::login"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl UnwindSafe for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V>where\n K: UnwindSafe,\n V: UnwindSafe,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl UnwindSafe for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl UnwindSafe for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> UnwindSafe for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl UnwindSafe for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl UnwindSafe for error",1,["mcaptcha::pages::errors::error"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl UnwindSafe for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl UnwindSafe for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl UnwindSafe for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> UnwindSafe for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl UnwindSafe for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl UnwindSafe for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl UnwindSafe for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl UnwindSafe for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl UnwindSafe for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> UnwindSafe for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl UnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> UnwindSafe for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl UnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl UnwindSafe for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl UnwindSafe for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl UnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> UnwindSafe for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl UnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl UnwindSafe for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl UnwindSafe for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl UnwindSafe for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl UnwindSafe for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl UnwindSafe for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl UnwindSafe for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl UnwindSafe for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl UnwindSafe for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl UnwindSafe for panel",1,["mcaptcha::pages::panel::panel"]],["impl UnwindSafe for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl UnwindSafe for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl UnwindSafe for Server",1,["mcaptcha::settings::Server"]],["impl UnwindSafe for Captcha",1,["mcaptcha::settings::Captcha"]],["impl UnwindSafe for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl UnwindSafe for Smtp",1,["mcaptcha::settings::Smtp"]],["impl UnwindSafe for DBType",1,["mcaptcha::settings::DBType"]],["impl UnwindSafe for Database",1,["mcaptcha::settings::Database"]],["impl UnwindSafe for Redis",1,["mcaptcha::settings::Redis"]],["impl UnwindSafe for Survey",1,["mcaptcha::settings::Survey"]],["impl UnwindSafe for Settings",1,["mcaptcha::settings::Settings"]],["impl UnwindSafe for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl UnwindSafe for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl UnwindSafe for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl UnwindSafe for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl UnwindSafe for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl UnwindSafe for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl UnwindSafe for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl UnwindSafe for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl UnwindSafe for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl UnwindSafe for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl UnwindSafe for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl UnwindSafe for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl UnwindSafe for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl UnwindSafe for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl UnwindSafe for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl UnwindSafe for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl UnwindSafe for Real",1,["mcaptcha::stats::Real"]],["impl UnwindSafe for Dummy",1,["mcaptcha::stats::Dummy"]],["impl UnwindSafe for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl !UnwindSafe for Survey",1,["mcaptcha::survey::Survey"]],["impl UnwindSafe for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl UnwindSafe for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl UnwindSafe for show_widget",1,["mcaptcha::widget::show_widget"]],["impl UnwindSafe for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl UnwindSafe for FILES",1,["mcaptcha::FILES"]],["impl UnwindSafe for JS",1,["mcaptcha::JS"]],["impl UnwindSafe for CSS",1,["mcaptcha::CSS"]],["impl UnwindSafe for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl UnwindSafe for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl UnwindSafe for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl UnwindSafe for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] +"db_core":[["impl !UnwindSafe for DBError",1,["db_core::errors::DBError"]],["impl<'a> UnwindSafe for Register<'a>",1,["db_core::Register"]],["impl<'a> UnwindSafe for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> UnwindSafe for Login<'a>",1,["db_core::Login"]],["impl UnwindSafe for NameHash",1,["db_core::NameHash"]],["impl UnwindSafe for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl UnwindSafe for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl UnwindSafe for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl UnwindSafe for Notification",1,["db_core::Notification"]],["impl<'a> UnwindSafe for AddNotification<'a>",1,["db_core::AddNotification"]],["impl UnwindSafe for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl UnwindSafe for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> UnwindSafe for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl UnwindSafe for Captcha",1,["db_core::Captcha"]],["impl UnwindSafe for Secret",1,["db_core::Secret"]]], +"db_sqlx_maria":[["impl !UnwindSafe for Database",1,["db_sqlx_maria::Database"]],["impl !UnwindSafe for Conn",1,["db_sqlx_maria::Conn"]],["impl !UnwindSafe for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl !UnwindSafe for Fresh",1,["db_sqlx_maria::Fresh"]],["impl UnwindSafe for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]], +"db_sqlx_postgres":[["impl !UnwindSafe for Database",1,["db_sqlx_postgres::Database"]],["impl !UnwindSafe for Conn",1,["db_sqlx_postgres::Conn"]],["impl !UnwindSafe for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl !UnwindSafe for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl UnwindSafe for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]], +"mcaptcha":[["impl UnwindSafe for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl UnwindSafe for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl UnwindSafe for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl UnwindSafe for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl UnwindSafe for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl UnwindSafe for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl UnwindSafe for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl UnwindSafe for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl UnwindSafe for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl UnwindSafe for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl UnwindSafe for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl UnwindSafe for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl UnwindSafe for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl UnwindSafe for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl UnwindSafe for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl UnwindSafe for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl UnwindSafe for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl UnwindSafe for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl UnwindSafe for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl UnwindSafe for register",1,["mcaptcha::api::v1::auth::register"]],["impl UnwindSafe for login",1,["mcaptcha::api::v1::auth::login"]],["impl UnwindSafe for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl UnwindSafe for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl UnwindSafe for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl UnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl UnwindSafe for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl UnwindSafe for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl UnwindSafe for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl UnwindSafe for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl UnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl UnwindSafe for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl UnwindSafe for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl UnwindSafe for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl UnwindSafe for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl UnwindSafe for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl UnwindSafe for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl UnwindSafe for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl UnwindSafe for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl UnwindSafe for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl UnwindSafe for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl UnwindSafe for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl UnwindSafe for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl UnwindSafe for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl UnwindSafe for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl UnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl UnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl UnwindSafe for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl UnwindSafe for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl UnwindSafe for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl UnwindSafe for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl UnwindSafe for health",1,["mcaptcha::api::v1::meta::health"]],["impl UnwindSafe for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl UnwindSafe for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl UnwindSafe for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl UnwindSafe for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl UnwindSafe for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl UnwindSafe for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl UnwindSafe for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl UnwindSafe for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl UnwindSafe for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl UnwindSafe for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl UnwindSafe for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl UnwindSafe for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl UnwindSafe for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl UnwindSafe for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl UnwindSafe for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl UnwindSafe for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl UnwindSafe for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl UnwindSafe for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl UnwindSafe for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl UnwindSafe for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl UnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl UnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl UnwindSafe for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl UnwindSafe for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl UnwindSafe for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl UnwindSafe for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl UnwindSafe for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl UnwindSafe for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl UnwindSafe for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl UnwindSafe for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl UnwindSafe for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl UnwindSafe for download",1,["mcaptcha::api::v1::survey::download"]],["impl UnwindSafe for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl UnwindSafe for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl UnwindSafe for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl !UnwindSafe for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl !UnwindSafe for Data",1,["mcaptcha::data::Data"]],["impl UnwindSafe for Date",1,["mcaptcha::date::Date"]],["impl !UnwindSafe for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl UnwindSafe for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl UnwindSafe for Asset",1,["mcaptcha::docs::Asset"]],["impl UnwindSafe for dist",1,["mcaptcha::docs::dist"]],["impl UnwindSafe for spec",1,["mcaptcha::docs::spec"]],["impl UnwindSafe for index",1,["mcaptcha::docs::index"]],["impl !UnwindSafe for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> UnwindSafe for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl !UnwindSafe for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl !UnwindSafe for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl !UnwindSafe for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl UnwindSafe for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl !UnwindSafe for PageError",1,["mcaptcha::errors::PageError"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl UnwindSafe for login",1,["mcaptcha::pages::auth::login::login"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl UnwindSafe for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V>
    where\n K: UnwindSafe,\n V: UnwindSafe,
    ",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl UnwindSafe for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl UnwindSafe for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> UnwindSafe for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl UnwindSafe for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl UnwindSafe for error",1,["mcaptcha::pages::errors::error"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl UnwindSafe for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl UnwindSafe for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl UnwindSafe for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> UnwindSafe for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl UnwindSafe for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl UnwindSafe for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl UnwindSafe for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl UnwindSafe for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl UnwindSafe for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> UnwindSafe for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl UnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> UnwindSafe for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl UnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl UnwindSafe for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl UnwindSafe for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl UnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> UnwindSafe for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl UnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl UnwindSafe for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl UnwindSafe for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl UnwindSafe for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl UnwindSafe for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl UnwindSafe for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl UnwindSafe for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl UnwindSafe for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl UnwindSafe for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl UnwindSafe for panel",1,["mcaptcha::pages::panel::panel"]],["impl UnwindSafe for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl UnwindSafe for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl UnwindSafe for Server",1,["mcaptcha::settings::Server"]],["impl UnwindSafe for Captcha",1,["mcaptcha::settings::Captcha"]],["impl UnwindSafe for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl UnwindSafe for Smtp",1,["mcaptcha::settings::Smtp"]],["impl UnwindSafe for DBType",1,["mcaptcha::settings::DBType"]],["impl UnwindSafe for Database",1,["mcaptcha::settings::Database"]],["impl UnwindSafe for Redis",1,["mcaptcha::settings::Redis"]],["impl UnwindSafe for Survey",1,["mcaptcha::settings::Survey"]],["impl UnwindSafe for Settings",1,["mcaptcha::settings::Settings"]],["impl UnwindSafe for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl UnwindSafe for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl UnwindSafe for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl UnwindSafe for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl UnwindSafe for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl UnwindSafe for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl UnwindSafe for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl UnwindSafe for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl UnwindSafe for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl UnwindSafe for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl UnwindSafe for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl UnwindSafe for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl UnwindSafe for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl UnwindSafe for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl UnwindSafe for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl UnwindSafe for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl UnwindSafe for Real",1,["mcaptcha::stats::Real"]],["impl UnwindSafe for Dummy",1,["mcaptcha::stats::Dummy"]],["impl UnwindSafe for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl !UnwindSafe for Survey",1,["mcaptcha::survey::Survey"]],["impl UnwindSafe for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl UnwindSafe for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl UnwindSafe for show_widget",1,["mcaptcha::widget::show_widget"]],["impl UnwindSafe for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl UnwindSafe for FILES",1,["mcaptcha::FILES"]],["impl UnwindSafe for JS",1,["mcaptcha::JS"]],["impl UnwindSafe for CSS",1,["mcaptcha::CSS"]],["impl UnwindSafe for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl UnwindSafe for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl UnwindSafe for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl UnwindSafe for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/lazy_static/trait.LazyStatic.js b/trait.impl/lazy_static/trait.LazyStatic.js index d6c0c797..ed635346 100644 --- a/trait.impl/lazy_static/trait.LazyStatic.js +++ b/trait.impl/lazy_static/trait.LazyStatic.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mcaptcha":[["impl LazyStatic for HOME"],["impl LazyStatic for VERIFICATIN_WIDGET_JS"],["impl LazyStatic for KEY"],["impl LazyStatic for INDEX"],["impl LazyStatic for MCAPTCHA_TRANS_ICON"],["impl LazyStatic for HELP_CIRCLE"],["impl LazyStatic for INDEX"],["impl LazyStatic for FILES"],["impl LazyStatic for VERIFICATIN_WIDGET_CSS"],["impl LazyStatic for MOBILE_CSS"],["impl LazyStatic for INTERNAL_SERVER_ERROR_BODY"],["impl LazyStatic for CREDIT_CARD"],["impl LazyStatic for ADVANCE_INDEX"],["impl LazyStatic for SETTINGS"],["impl LazyStatic for SETTINGS_ICON"],["impl LazyStatic for BAR_CHART"],["impl LazyStatic for GITHUB"],["impl LazyStatic for INDEX"],["impl LazyStatic for EASY_INDEX"],["impl LazyStatic for INDEX_PAGE"],["impl LazyStatic for CSS"],["impl LazyStatic for UNKNOWN_ERROR_BODY"],["impl LazyStatic for DOCS_ICON"],["impl LazyStatic for JS"],["impl LazyStatic for SOURCE_FILES_OF_INSTANCE"],["impl LazyStatic for MESSAGE"]] +"mcaptcha":[["impl LazyStatic for HOME"],["impl LazyStatic for FILES"],["impl LazyStatic for ADVANCE_INDEX"],["impl LazyStatic for SETTINGS"],["impl LazyStatic for VERIFICATIN_WIDGET_CSS"],["impl LazyStatic for MCAPTCHA_TRANS_ICON"],["impl LazyStatic for BAR_CHART"],["impl LazyStatic for DOCS_ICON"],["impl LazyStatic for UNKNOWN_ERROR_BODY"],["impl LazyStatic for MOBILE_CSS"],["impl LazyStatic for GITHUB"],["impl LazyStatic for INDEX"],["impl LazyStatic for CSS"],["impl LazyStatic for INTERNAL_SERVER_ERROR_BODY"],["impl LazyStatic for INDEX"],["impl LazyStatic for MESSAGE"],["impl LazyStatic for VERIFICATIN_WIDGET_JS"],["impl LazyStatic for EASY_INDEX"],["impl LazyStatic for SETTINGS_ICON"],["impl LazyStatic for SOURCE_FILES_OF_INSTANCE"],["impl LazyStatic for INDEX"],["impl LazyStatic for CREDIT_CARD"],["impl LazyStatic for INDEX_PAGE"],["impl LazyStatic for HELP_CIRCLE"],["impl LazyStatic for KEY"],["impl LazyStatic for JS"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/rust_embed/trait.RustEmbed.js b/trait.impl/rust_embed/trait.RustEmbed.js index 0ff832ec..4a11df0a 100644 --- a/trait.impl/rust_embed/trait.RustEmbed.js +++ b/trait.impl/rust_embed/trait.RustEmbed.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mcaptcha":[["impl RustEmbed for Asset"],["impl RustEmbed for Favicons"],["impl RustEmbed for Asset"]] +"mcaptcha":[["impl RustEmbed for Favicons"],["impl RustEmbed for Asset"],["impl RustEmbed for Asset"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sailfish/private/trait.Sealed.js b/trait.impl/sailfish/private/trait.Sealed.js index d0b7a46c..1bdf5488 100644 --- a/trait.impl/sailfish/private/trait.Sealed.js +++ b/trait.impl/sailfish/private/trait.Sealed.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mcaptcha":[["impl<'a> Sealed for ErrorPage<'a>"],["impl Sealed for IndexPage"],["impl Sealed for IndexPage"],["impl<'a> Sealed for AdvanceIndexPage<'a>"],["impl<'a> Sealed for EasyEditPage<'a>"],["impl<'a> Sealed for IndexPage<'a>"],["impl Sealed for IndexPage"],["impl Sealed for PercentilePage"],["impl Sealed for IndexPage"],["impl Sealed for AdvanceEditPage"],["impl<'a, K, V> Sealed for SudoPage<'a, K, V>where\n K: Display + Render,\n V: Display + Render,"],["impl Sealed for IndexPage"],["impl<'a> Sealed for EasyIndexPage<'a>"],["impl Sealed for IndexPage"],["impl Sealed for IndexPage"],["impl<'a> Sealed for IndexPage<'a>"],["impl Sealed for IndexPage"]] +"mcaptcha":[["impl Sealed for IndexPage"],["impl<'a> Sealed for IndexPage<'a>"],["impl Sealed for IndexPage"],["impl<'a> Sealed for EasyEditPage<'a>"],["impl<'a> Sealed for IndexPage<'a>"],["impl Sealed for AdvanceEditPage"],["impl<'a> Sealed for EasyIndexPage<'a>"],["impl Sealed for IndexPage"],["impl Sealed for IndexPage"],["impl<'a, K, V> Sealed for SudoPage<'a, K, V>
    where\n K: Display + Render,\n V: Display + Render,
    "],["impl Sealed for IndexPage"],["impl Sealed for IndexPage"],["impl<'a> Sealed for AdvanceIndexPage<'a>"],["impl<'a> Sealed for ErrorPage<'a>"],["impl Sealed for IndexPage"],["impl Sealed for PercentilePage"],["impl Sealed for IndexPage"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sailfish/trait.TemplateOnce.js b/trait.impl/sailfish/trait.TemplateOnce.js index e101c71a..e14b6deb 100644 --- a/trait.impl/sailfish/trait.TemplateOnce.js +++ b/trait.impl/sailfish/trait.TemplateOnce.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mcaptcha":[["impl TemplateOnce for IndexPage"],["impl TemplateOnce for IndexPage"],["impl TemplateOnce for IndexPage"],["impl TemplateOnce for IndexPage"],["impl TemplateOnce for IndexPage"],["impl<'a> TemplateOnce for ErrorPage<'a>"],["impl<'a> TemplateOnce for IndexPage<'a>"],["impl TemplateOnce for AdvanceEditPage"],["impl<'a> TemplateOnce for EasyIndexPage<'a>"],["impl TemplateOnce for IndexPage"],["impl<'a> TemplateOnce for IndexPage<'a>"],["impl TemplateOnce for PercentilePage"],["impl<'a> TemplateOnce for EasyEditPage<'a>"],["impl<'a, K, V> TemplateOnce for SudoPage<'a, K, V>where\n K: Display + Render,\n V: Display + Render,"],["impl<'a> TemplateOnce for AdvanceIndexPage<'a>"],["impl TemplateOnce for IndexPage"],["impl TemplateOnce for IndexPage"]] +"mcaptcha":[["impl<'a> TemplateOnce for IndexPage<'a>"],["impl<'a> TemplateOnce for ErrorPage<'a>"],["impl TemplateOnce for IndexPage"],["impl<'a> TemplateOnce for IndexPage<'a>"],["impl TemplateOnce for IndexPage"],["impl TemplateOnce for IndexPage"],["impl TemplateOnce for AdvanceEditPage"],["impl<'a> TemplateOnce for EasyEditPage<'a>"],["impl TemplateOnce for IndexPage"],["impl<'a> TemplateOnce for EasyIndexPage<'a>"],["impl TemplateOnce for IndexPage"],["impl TemplateOnce for IndexPage"],["impl TemplateOnce for IndexPage"],["impl<'a, K, V> TemplateOnce for SudoPage<'a, K, V>
    where\n K: Display + Render,\n V: Display + Render,
    "],["impl TemplateOnce for IndexPage"],["impl<'a> TemplateOnce for AdvanceIndexPage<'a>"],["impl TemplateOnce for PercentilePage"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/de/trait.Deserialize.js b/trait.impl/serde/de/trait.Deserialize.js index bbc2405d..93d99338 100644 --- a/trait.impl/serde/de/trait.Deserialize.js +++ b/trait.impl/serde/de/trait.Deserialize.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"db_core":[["impl<'de> Deserialize<'de> for CreatePerformanceAnalytics"],["impl<'de> Deserialize<'de> for PerformanceAnalytics"],["impl<'de> Deserialize<'de> for TrafficPattern"],["impl<'de> Deserialize<'de> for NameHash"],["impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>"],["impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>"],["impl<'de> Deserialize<'de> for StatsUnixTimestamp"],["impl<'de> Deserialize<'de> for Notification"],["impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>"],["impl<'de> Deserialize<'de> for EasyCaptcha"],["impl<'de> Deserialize<'de> for Secret"],["impl<'de> Deserialize<'de> for Captcha"],["impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>"],["impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>"]], -"mcaptcha":[["impl<'de> Deserialize<'de> for ValidationToken"],["impl<'de> Deserialize<'de> for DBType"],["impl<'de> Deserialize<'de> for AccountCheckPayload"],["impl<'de> Deserialize<'de> for Page"],["impl<'de> Deserialize<'de> for MarkReadReq"],["impl<'de> Deserialize<'de> for Health"],["impl<'de> Deserialize<'de> for ApiWork"],["impl<'de> Deserialize<'de> for TrafficPatternRequest"],["impl<'de> Deserialize<'de> for Redis"],["impl<'de> Deserialize<'de> for UpdateTrafficPattern"],["impl<'de> Deserialize<'de> for ApiPoWConfig"],["impl<'de> Deserialize<'de> for ChangePasswordReqest"],["impl<'de> Deserialize<'de> for VerifyCaptchaResultPayload"],["impl<'de> Deserialize<'de> for MCaptchaDetails"],["impl<'de> Deserialize<'de> for DeleteCaptcha"],["impl<'de> Deserialize<'de> for Email"],["impl<'de> Deserialize<'de> for RedirectQuery"],["impl<'de> Deserialize<'de> for Settings"],["impl<'de> Deserialize<'de> for CaptchaValidateResp"],["impl<'de> Deserialize<'de> for Survey"],["impl<'de> Deserialize<'de> for Password"],["impl<'de> Deserialize<'de> for StatsPayload"],["impl Deserialize<'static> for BuildDetails"],["impl Deserialize<'static> for Stats"],["impl<'de> Deserialize<'de> for Register"],["impl<'de> Deserialize<'de> for CreateCaptcha"],["impl<'de> Deserialize<'de> for DefaultDifficultyStrategy"],["impl<'de> Deserialize<'de> for Server"],["impl<'de> Deserialize<'de> for UpdateCaptcha"],["impl<'de> Deserialize<'de> for GetConfigPayload"],["impl<'de> Deserialize<'de> for AddNotificationRequest"],["impl<'de> Deserialize<'de> for AccountCheckResp"],["impl<'de> Deserialize<'de> for I32Levels"],["impl<'de> Deserialize<'de> for NotificationResp"],["impl<'de> Deserialize<'de> for PercentileResp"],["impl<'de> Deserialize<'de> for Smtp"],["impl<'de> Deserialize<'de> for Login"],["impl<'de> Deserialize<'de> for Database"],["impl<'de> Deserialize<'de> for ErrorToResponse"],["impl<'de> Deserialize<'de> for Levels"],["impl<'de> Deserialize<'de> for CaptchaStats"],["impl<'de> Deserialize<'de> for Username"],["impl<'de> Deserialize<'de> for PercentileReq"],["impl<'de> Deserialize<'de> for Captcha"],["impl Deserialize<'static> for BuildDetails"],["impl<'de> Deserialize<'de> for SurveySecretUpload"]] +"db_core":[["impl<'de> Deserialize<'de> for Notification"],["impl<'de> Deserialize<'de> for NameHash"],["impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>"],["impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>"],["impl<'de> Deserialize<'de> for Secret"],["impl<'de> Deserialize<'de> for StatsUnixTimestamp"],["impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>"],["impl<'de> Deserialize<'de> for EasyCaptcha"],["impl<'de> Deserialize<'de> for CreatePerformanceAnalytics"],["impl<'de> Deserialize<'de> for TrafficPattern"],["impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>"],["impl<'de> Deserialize<'de> for PerformanceAnalytics"],["impl<'de> Deserialize<'de> for Captcha"],["impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>"]], +"mcaptcha":[["impl Deserialize<'static> for BuildDetails"],["impl<'de> Deserialize<'de> for Login"],["impl<'de> Deserialize<'de> for Smtp"],["impl<'de> Deserialize<'de> for ApiWork"],["impl<'de> Deserialize<'de> for Username"],["impl<'de> Deserialize<'de> for PercentileResp"],["impl<'de> Deserialize<'de> for RedirectQuery"],["impl<'de> Deserialize<'de> for Redis"],["impl<'de> Deserialize<'de> for ValidationToken"],["impl<'de> Deserialize<'de> for CreateCaptcha"],["impl<'de> Deserialize<'de> for Captcha"],["impl<'de> Deserialize<'de> for PercentileReq"],["impl<'de> Deserialize<'de> for NotificationResp"],["impl<'de> Deserialize<'de> for CaptchaStats"],["impl<'de> Deserialize<'de> for AccountCheckPayload"],["impl<'de> Deserialize<'de> for MarkReadReq"],["impl<'de> Deserialize<'de> for Password"],["impl<'de> Deserialize<'de> for Health"],["impl<'de> Deserialize<'de> for StatsPayload"],["impl<'de> Deserialize<'de> for GetConfigPayload"],["impl<'de> Deserialize<'de> for TrafficPatternRequest"],["impl<'de> Deserialize<'de> for UpdateTrafficPattern"],["impl<'de> Deserialize<'de> for Survey"],["impl<'de> Deserialize<'de> for ChangePasswordReqest"],["impl<'de> Deserialize<'de> for DefaultDifficultyStrategy"],["impl<'de> Deserialize<'de> for Email"],["impl<'de> Deserialize<'de> for MCaptchaDetails"],["impl<'de> Deserialize<'de> for Register"],["impl<'de> Deserialize<'de> for SurveySecretUpload"],["impl<'de> Deserialize<'de> for Levels"],["impl<'de> Deserialize<'de> for AddNotificationRequest"],["impl<'de> Deserialize<'de> for I32Levels"],["impl<'de> Deserialize<'de> for DeleteCaptcha"],["impl<'de> Deserialize<'de> for DBType"],["impl<'de> Deserialize<'de> for Database"],["impl<'de> Deserialize<'de> for UpdateCaptcha"],["impl<'de> Deserialize<'de> for AccountCheckResp"],["impl<'de> Deserialize<'de> for ApiPoWConfig"],["impl<'de> Deserialize<'de> for ErrorToResponse"],["impl<'de> Deserialize<'de> for Server"],["impl<'de> Deserialize<'de> for VerifyCaptchaResultPayload"],["impl Deserialize<'static> for BuildDetails"],["impl Deserialize<'static> for Stats"],["impl<'de> Deserialize<'de> for CaptchaValidateResp"],["impl<'de> Deserialize<'de> for Page"],["impl<'de> Deserialize<'de> for Settings"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/ser/trait.Serialize.js b/trait.impl/serde/ser/trait.Serialize.js index 1f84f163..0aa9bab9 100644 --- a/trait.impl/serde/ser/trait.Serialize.js +++ b/trait.impl/serde/ser/trait.Serialize.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"db_core":[["impl Serialize for TrafficPattern"],["impl<'a> Serialize for UpdateEmail<'a>"],["impl Serialize for Secret"],["impl Serialize for PerformanceAnalytics"],["impl Serialize for Notification"],["impl<'a> Serialize for Register<'a>"],["impl Serialize for EasyCaptcha"],["impl<'a> Serialize for CreateCaptcha<'a>"],["impl Serialize for CreatePerformanceAnalytics"],["impl Serialize for Captcha"],["impl<'a> Serialize for Login<'a>"],["impl Serialize for StatsUnixTimestamp"],["impl<'a> Serialize for AddNotification<'a>"],["impl Serialize for NameHash"]], -"mcaptcha":[["impl Serialize for PercentileReq"],["impl Serialize for Health"],["impl Serialize for Register"],["impl Serialize for Levels"],["impl Serialize for MCaptchaDetails"],["impl Serialize for Email"],["impl Serialize for ChangePasswordReqest"],["impl Serialize for GetConfigPayload"],["impl Serialize for AccountCheckResp"],["impl Serialize for DBType"],["impl Serialize for ErrorToResponse"],["impl Serialize for I32Levels"],["impl Serialize for MarkReadReq"],["impl Serialize for ApiPoWConfig"],["impl Serialize for PercentileResp"],["impl Serialize for CaptchaValidateResp"],["impl Serialize for UpdateCaptcha"],["impl Serialize for AccountCheckPayload"],["impl Serialize for UpdateTrafficPattern"],["impl Serialize for CreateCaptcha"],["impl Serialize for StatsPayload"],["impl Serialize for AddNotificationRequest"],["impl Serialize for DeleteCaptcha"],["impl Serialize for Page"],["impl Serialize for ValidationToken"],["impl Serialize for BuildDetails"],["impl Serialize for CaptchaStats"],["impl Serialize for BuildDetails"],["impl Serialize for VerifyCaptchaResultPayload"],["impl Serialize for ApiWork"],["impl Serialize for TrafficPatternRequest"],["impl Serialize for Stats"],["impl Serialize for SurveySecretUpload"],["impl Serialize for NotificationResp"],["impl Serialize for Password"],["impl Serialize for Login"],["impl Serialize for Username"]] +"db_core":[["impl<'a> Serialize for AddNotification<'a>"],["impl Serialize for Secret"],["impl Serialize for EasyCaptcha"],["impl Serialize for Notification"],["impl<'a> Serialize for CreateCaptcha<'a>"],["impl Serialize for StatsUnixTimestamp"],["impl Serialize for TrafficPattern"],["impl Serialize for NameHash"],["impl<'a> Serialize for Login<'a>"],["impl Serialize for CreatePerformanceAnalytics"],["impl Serialize for Captcha"],["impl<'a> Serialize for Register<'a>"],["impl Serialize for PerformanceAnalytics"],["impl<'a> Serialize for UpdateEmail<'a>"]], +"mcaptcha":[["impl Serialize for MarkReadReq"],["impl Serialize for ApiPoWConfig"],["impl Serialize for CreateCaptcha"],["impl Serialize for NotificationResp"],["impl Serialize for TrafficPatternRequest"],["impl Serialize for AccountCheckPayload"],["impl Serialize for I32Levels"],["impl Serialize for GetConfigPayload"],["impl Serialize for DeleteCaptcha"],["impl Serialize for BuildDetails"],["impl Serialize for Email"],["impl Serialize for SurveySecretUpload"],["impl Serialize for MCaptchaDetails"],["impl Serialize for VerifyCaptchaResultPayload"],["impl Serialize for ErrorToResponse"],["impl Serialize for Stats"],["impl Serialize for Login"],["impl Serialize for Health"],["impl Serialize for DBType"],["impl Serialize for CaptchaValidateResp"],["impl Serialize for Username"],["impl Serialize for ValidationToken"],["impl Serialize for StatsPayload"],["impl Serialize for AccountCheckResp"],["impl Serialize for ChangePasswordReqest"],["impl Serialize for Levels"],["impl Serialize for Page"],["impl Serialize for ApiWork"],["impl Serialize for PercentileResp"],["impl Serialize for Register"],["impl Serialize for UpdateTrafficPattern"],["impl Serialize for CaptchaStats"],["impl Serialize for BuildDetails"],["impl Serialize for AddNotificationRequest"],["impl Serialize for Password"],["impl Serialize for PercentileReq"],["impl Serialize for UpdateCaptcha"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/type.impl/actix_web/data/struct.Data.js b/type.impl/actix_web/data/struct.Data.js index dfcb0122..c9f8b592 100644 --- a/type.impl/actix_web/data/struct.Data.js +++ b/type.impl/actix_web/data/struct.Data.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"mcaptcha":[["
    §

    impl<T> Data<T>

    pub fn new(state: T) -> Data<T>

    Create new Data instance.

    \n
    ",0,"mcaptcha::AppData"],["
    §

    impl<T> Data<T>where\n T: ?Sized,

    pub fn get_ref(&self) -> &T

    Returns reference to inner T.

    \n

    pub fn into_inner(self) -> Arc<T>

    Unwraps to the internal Arc<T>

    \n
    ",0,"mcaptcha::AppData"],["
    §

    impl<T> Clone for Data<T>where\n T: ?Sized,

    §

    fn clone(&self) -> Data<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::AppData"],["
    §

    impl<T> Serialize for Data<T>where\n T: Serialize,

    §

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::AppData"],["
    §

    impl<T> FromRequest for Data<T>where\n T: 'static + ?Sized,

    §

    type Error = Error

    The associated error which can be returned.
    §

    type Future = Ready<Result<Data<T>, Error>>

    Future that resolves to a Self. Read more
    §

    fn from_request(\n req: &HttpRequest,\n _: &mut Payload\n) -> <Data<T> as FromRequest>::Future

    Create a Self from request parts asynchronously.
    §

    fn extract(req: &HttpRequest) -> Self::Future

    Create a Self from request head asynchronously. Read more
    ","FromRequest","mcaptcha::AppData"],["
    §

    impl<T> Deref for Data<T>where\n T: ?Sized,

    §

    type Target = Arc<T>

    The resulting type after dereferencing.
    §

    fn deref(&self) -> &Arc<T>

    Dereferences the value.
    ","Deref","mcaptcha::AppData"],["
    §

    impl<T> Debug for Data<T>where\n T: Debug + ?Sized,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::AppData"],["
    §

    impl<T> From<Arc<T>> for Data<T>where\n T: ?Sized,

    §

    fn from(arc: Arc<T>) -> Data<T>

    Converts to this type from the input type.
    ","From>","mcaptcha::AppData"]] +"mcaptcha":[["
    §

    impl<T> Data<T>

    pub fn new(state: T) -> Data<T>

    Create new Data instance.

    \n
    ",0,"mcaptcha::AppData"],["
    §

    impl<T> Data<T>
    where\n T: ?Sized,

    pub fn get_ref(&self) -> &T

    Returns reference to inner T.

    \n

    pub fn into_inner(self) -> Arc<T>

    Unwraps to the internal Arc<T>

    \n
    ",0,"mcaptcha::AppData"],["
    §

    impl<T> Serialize for Data<T>
    where\n T: Serialize,

    §

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::AppData"],["
    §

    impl<T> Debug for Data<T>
    where\n T: Debug + ?Sized,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::AppData"],["
    §

    impl<T> Clone for Data<T>
    where\n T: ?Sized,

    §

    fn clone(&self) -> Data<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::AppData"],["
    §

    impl<T> FromRequest for Data<T>
    where\n T: 'static + ?Sized,

    §

    type Error = Error

    The associated error which can be returned.
    §

    type Future = Ready<Result<Data<T>, Error>>

    Future that resolves to a Self. Read more
    §

    fn from_request(\n req: &HttpRequest,\n _: &mut Payload\n) -> <Data<T> as FromRequest>::Future

    Create a Self from request parts asynchronously.
    §

    fn extract(req: &HttpRequest) -> Self::Future

    Create a Self from request head asynchronously. Read more
    ","FromRequest","mcaptcha::AppData"],["
    §

    impl<T> Deref for Data<T>
    where\n T: ?Sized,

    §

    type Target = Arc<T>

    The resulting type after dereferencing.
    §

    fn deref(&self) -> &Arc<T>

    Dereferences the value.
    ","Deref","mcaptcha::AppData"],["
    §

    impl<T> From<Arc<T>> for Data<T>
    where\n T: ?Sized,

    §

    fn from(arc: Arc<T>) -> Data<T>

    Converts to this type from the input type.
    ","From>","mcaptcha::AppData"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/alloc/boxed/struct.Box.js b/type.impl/alloc/boxed/struct.Box.js index 8d373e74..4ca9e8ee 100644 --- a/type.impl/alloc/boxed/struct.Box.js +++ b/type.impl/alloc/boxed/struct.Box.js @@ -1,6 +1,6 @@ (function() {var type_impls = { -"db_core":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"db_core::errors::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"db_core::errors::BoxDynError"],["
    source§

    impl<T> Box<T>where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"db_core::errors::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from("Hello"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from("Hello"));\nlet p = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(p);\n    dealloc(p as *mut u8, Layout::new::<String>());\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut Twhere\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    ","Seek","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<W> Write for Box<W>where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","db_core::errors::BoxDynError"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<R> Read for Box<R>where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","db_core::errors::BoxDynError"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","db_core::errors::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_core::errors::BoxDynError"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","db_core::errors::BoxDynError"],["
    1.8.0 · source§

    impl<T> Error for Box<T>where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","db_core::errors::BoxDynError"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","db_core::errors::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","db_core::errors::BoxDynError"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_core::errors::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","db_core::errors::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T> Default for Box<T>where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","db_core::errors::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","db_core::errors::BoxDynError"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","db_core::errors::BoxDynError"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","db_core::errors::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","db_core::errors::BoxDynError"],["
    1.22.0 · source§

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_core::errors::BoxDynError"],["
    1.22.0 · source§

    impl<'a> From<Cow<'a, str>> for Box<dyn Error>

    source§

    fn from(err: Cow<'a, str>) -> Box<dyn Error>

    Converts a Cow into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + 'a>where\n E: Error + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error>::from(an_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.6.0 · source§

    impl From<&str> for Box<dyn Error>

    source§

    fn from(err: &str) -> Box<dyn Error>

    Converts a str into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error>::from(a_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_core::errors::BoxDynError"],["
    1.6.0 · source§

    impl From<String> for Box<dyn Error>

    source§

    fn from(str_err: String) -> Box<dyn Error>

    Converts a String into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error>::from(a_string_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>where\n E: Error + Send + Sync + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\ndyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nunsafe impl Send for AnError {}\n\nunsafe impl Sync for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl From<String> for Box<dyn Error + Send + Sync>

    source§

    fn from(err: String) -> Box<dyn Error + Send + Sync>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","db_core::errors::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","db_core::errors::BoxDynError"],["
    source§

    impl<S> AsyncIterator for Box<S>where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","db_core::errors::BoxDynError"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","db_core::errors::BoxDynError"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_core::errors::BoxDynError"],["
    source§

    impl<T> Serialize for Box<T>where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","db_core::errors::BoxDynError"],["
    §

    impl<T> Source for Box<T>where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","db_core::errors::BoxDynError"],["
    source§

    impl<T> Log for Box<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","db_core::errors::BoxDynError"],["
    §

    impl<T> Buf for Box<T>where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","db_core::errors::BoxDynError"],["
    §

    impl<T> BufMut for Box<T>where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","db_core::errors::BoxDynError"],["
    §

    impl<S> Stream for Box<S>where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","db_core::errors::BoxDynError"],["
    §

    impl<F> FusedFuture for Box<F>where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","db_core::errors::BoxDynError"],["
    §

    impl<S> FusedStream for Box<S>where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","db_core::errors::BoxDynError"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","db_core::errors::BoxDynError"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","db_core::errors::BoxDynError"],["
    §

    impl<Sp> Spawn for Box<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","db_core::errors::BoxDynError"],["
    §

    impl<S, Item> Sink<Item> for Box<S>where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_core::errors::BoxDynError"],["
    §

    impl<P, Input> Parser<Input> for Box<P>where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","db_core::errors::BoxDynError"],["
    §

    impl<T> Value for Box<T>where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","db_core::errors::BoxDynError"],["
    §

    impl<S> Subscriber for Box<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","db_core::errors::BoxDynError"],["
    source§

    impl<R> CryptoRng for Box<R>where\n R: CryptoRng + ?Sized,

    ","CryptoRng","db_core::errors::BoxDynError"],["
    source§

    impl<R> RngCore for Box<R>where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","db_core::errors::BoxDynError"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","db_core::errors::BoxDynError"],["
    §

    impl<M> Message for Box<M>where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","db_core::errors::BoxDynError"]], -"db_sqlx_maria":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Box<T>where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from("Hello"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from("Hello"));\nlet p = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(p);\n    dealloc(p as *mut u8, Layout::new::<String>());\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut Twhere\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    ","Seek","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<W> Write for Box<W>where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<R> Read for Box<R>where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.8.0 · source§

    impl<T> Error for Box<T>where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T> Default for Box<T>where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a> From<Cow<'a, str>> for Box<dyn Error>

    source§

    fn from(err: Cow<'a, str>) -> Box<dyn Error>

    Converts a Cow into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + 'a>where\n E: Error + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error>::from(an_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<&str> for Box<dyn Error>

    source§

    fn from(err: &str) -> Box<dyn Error>

    Converts a str into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error>::from(a_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<String> for Box<dyn Error>

    source§

    fn from(str_err: String) -> Box<dyn Error>

    Converts a String into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error>::from(a_string_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>where\n E: Error + Send + Sync + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\ndyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nunsafe impl Send for AnError {}\n\nunsafe impl Sync for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl From<String> for Box<dyn Error + Send + Sync>

    source§

    fn from(err: String) -> Box<dyn Error + Send + Sync>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<S> AsyncIterator for Box<S>where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Serialize for Box<T>where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Source for Box<T>where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Log for Box<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Buf for Box<T>where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> BufMut for Box<T>where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Stream for Box<S>where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<F> FusedFuture for Box<F>where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> FusedStream for Box<S>where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> Spawn for Box<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S, Item> Sink<Item> for Box<S>where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<P, Input> Parser<Input> for Box<P>where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Value for Box<T>where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Subscriber for Box<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> CryptoRng for Box<R>where\n R: CryptoRng + ?Sized,

    ","CryptoRng","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> RngCore for Box<R>where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<M> Message for Box<M>where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Socket for Box<S>where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>where\n Self: Sized,

    ","Socket","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> EncodeValue for Box<T>where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>where\n T: Sequence<'a>,

    ","Sequence<'a>","db_sqlx_maria::dev::prelude::dev::BoxDynError"]], -"db_sqlx_postgres":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Box<T>where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from("Hello"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from("Hello"));\nlet p = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(p);\n    dealloc(p as *mut u8, Layout::new::<String>());\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut Twhere\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    ","Seek","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<W> Write for Box<W>where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<R> Read for Box<R>where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.8.0 · source§

    impl<T> Error for Box<T>where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T> Default for Box<T>where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a> From<Cow<'a, str>> for Box<dyn Error>

    source§

    fn from(err: Cow<'a, str>) -> Box<dyn Error>

    Converts a Cow into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + 'a>where\n E: Error + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error>::from(an_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<&str> for Box<dyn Error>

    source§

    fn from(err: &str) -> Box<dyn Error>

    Converts a str into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error>::from(a_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<String> for Box<dyn Error>

    source§

    fn from(str_err: String) -> Box<dyn Error>

    Converts a String into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error>::from(a_string_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>where\n E: Error + Send + Sync + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\ndyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nunsafe impl Send for AnError {}\n\nunsafe impl Sync for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl From<String> for Box<dyn Error + Send + Sync>

    source§

    fn from(err: String) -> Box<dyn Error + Send + Sync>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<S> AsyncIterator for Box<S>where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Serialize for Box<T>where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Source for Box<T>where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Log for Box<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Buf for Box<T>where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> BufMut for Box<T>where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Stream for Box<S>where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<F> FusedFuture for Box<F>where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> FusedStream for Box<S>where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> Spawn for Box<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S, Item> Sink<Item> for Box<S>where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<P, Input> Parser<Input> for Box<P>where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Value for Box<T>where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Subscriber for Box<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> CryptoRng for Box<R>where\n R: CryptoRng + ?Sized,

    ","CryptoRng","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> RngCore for Box<R>where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<M> Message for Box<M>where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Socket for Box<S>where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>where\n Self: Sized,

    ","Socket","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> EncodeValue for Box<T>where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>where\n T: Sequence<'a>,

    ","Sequence<'a>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"]], -"mcaptcha":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T> Box<T>where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from("Hello"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from("Hello"));\nlet p = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(p);\n    dealloc(p as *mut u8, Layout::new::<String>());\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut Twhere\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    ","Seek","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<W> Write for Box<W>where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","mcaptcha::db::BoxDB"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<R> Read for Box<R>where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","mcaptcha::db::BoxDB"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","mcaptcha::db::BoxDB"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","mcaptcha::db::BoxDB"],["
    1.8.0 · source§

    impl<T> Error for Box<T>where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","mcaptcha::db::BoxDB"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","mcaptcha::db::BoxDB"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","mcaptcha::db::BoxDB"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","mcaptcha::db::BoxDB"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T> Default for Box<T>where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","mcaptcha::db::BoxDB"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","mcaptcha::db::BoxDB"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","mcaptcha::db::BoxDB"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","mcaptcha::db::BoxDB"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","mcaptcha::db::BoxDB"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","mcaptcha::db::BoxDB"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","mcaptcha::db::BoxDB"],["
    source§

    impl<S> AsyncIterator for Box<S>where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","mcaptcha::db::BoxDB"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","mcaptcha::db::BoxDB"],["
    §

    impl<B> MessageBody for Box<B>where\n B: MessageBody + Unpin + ?Sized,

    §

    type Error = <B as MessageBody>::Error

    The type of error that will be returned if streaming body fails. Read more
    §

    fn size(&self) -> BodySize

    Body size hint. Read more
    §

    fn poll_next(\n self: Pin<&mut Box<B>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<Bytes, <Box<B> as MessageBody>::Error>>>

    Attempt to pull out the next chunk of body bytes. Read more
    §

    fn try_into_bytes(self) -> Result<Bytes, Self>where\n Self: Sized,

    Try to convert into the complete chunk of body bytes. Read more
    §

    fn boxed(self) -> BoxBodywhere\n Self: Sized + 'static,

    Wraps this body into a BoxBody. Read more
    ","MessageBody","mcaptcha::db::BoxDB"],["
    §

    impl<T> Buf for Box<T>where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","mcaptcha::db::BoxDB"],["
    §

    impl<T> BufMut for Box<T>where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","mcaptcha::db::BoxDB"],["
    §

    impl<S> Stream for Box<S>where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","mcaptcha::db::BoxDB"],["
    §

    impl<F> FusedFuture for Box<F>where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","mcaptcha::db::BoxDB"],["
    §

    impl<S> FusedStream for Box<S>where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","mcaptcha::db::BoxDB"],["
    §

    impl<T> Source for Box<T>where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Log for Box<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","mcaptcha::db::BoxDB"],["
    §

    impl<S, Item> Sink<Item> for Box<S>where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","mcaptcha::db::BoxDB"],["
    §

    impl<T> Value for Box<T>where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","mcaptcha::db::BoxDB"],["
    §

    impl<S> Subscriber for Box<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","mcaptcha::db::BoxDB"],["
    §

    impl<S, Req> Service<Req> for Box<S>where\n S: Service<Req> + ?Sized,

    §

    type Response = <S as Service<Req>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Req>>::Error

    Errors produced by the service when polling readiness or executing call.
    §

    type Future = <S as Service<Req>>::Future

    The future response value.
    §

    fn poll_ready(\n &self,\n ctx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Req>>::Error>>

    Returns Ready when the service is able to process requests. Read more
    §

    fn call(&self, request: Req) -> <S as Service<Req>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","mcaptcha::db::BoxDB"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","mcaptcha::db::BoxDB"],["
    §

    impl<Sp> Spawn for Box<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","mcaptcha::db::BoxDB"],["
    source§

    impl<R> CryptoRng for Box<R>where\n R: CryptoRng + ?Sized,

    ","CryptoRng","mcaptcha::db::BoxDB"],["
    source§

    impl<R> RngCore for Box<R>where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","mcaptcha::db::BoxDB"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Serialize for Box<T>where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::db::BoxDB"],["
    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::db::BoxDB"],["
    §

    impl<P, Input> Parser<Input> for Box<P>where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","mcaptcha::db::BoxDB"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","mcaptcha::db::BoxDB"],["
    §

    impl<M> Message for Box<M>where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Body for Box<T>where\n T: Body + Unpin + ?Sized,

    §

    type Data = <T as Body>::Data

    Values yielded by the Body.
    §

    type Error = <T as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<<Box<T> as Body>::Data, <Box<T> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<Option<HeaderMap>, <Box<T> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>where\n Self: Unpin + Sized,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>where\n Self: Unpin + Sized,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    ","Body","mcaptcha::db::BoxDB"],["
    §

    impl<S, Request> Service<Request> for Box<S>where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service.
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn poll_ready(\n &mut self,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Request>>::Error>>

    Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more
    §

    fn call(&mut self, request: Request) -> <S as Service<Request>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","mcaptcha::db::BoxDB"],["
    §

    impl<S> Socket for Box<S>where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>where\n Self: Sized,

    ","Socket","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","mcaptcha::db::BoxDB"],["
    §

    impl<T> EncodeValue for Box<T>where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>where\n T: Sequence<'a>,

    ","Sequence<'a>","mcaptcha::db::BoxDB"],["
    §

    impl<T> Render for Box<T>where\n T: Render + ?Sized,

    §

    fn render(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer without escaping
    §

    fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer with HTML escaping
    ","Render","mcaptcha::db::BoxDB"],["
    §

    impl<T> WriteColor for Box<T>where\n T: WriteColor + ?Sized,

    §

    fn supports_color(&self) -> bool

    Returns true if and only if the underlying writer supports colors.
    §

    fn set_color(&mut self, spec: &ColorSpec) -> Result<(), Error>

    Set the color settings of the writer. Read more
    §

    fn reset(&mut self) -> Result<(), Error>

    Reset the current color settings to their original settings. Read more
    §

    fn is_synchronous(&self) -> bool

    Returns true if and only if the underlying writer must synchronously\ninteract with an end user’s device in order to control colors. By\ndefault, this always returns false. Read more
    ","WriteColor","mcaptcha::db::BoxDB"]] +"db_core":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"db_core::errors::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"db_core::errors::BoxDynError"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"db_core::errors::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","db_core::errors::BoxDynError"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","db_core::errors::BoxDynError"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","db_core::errors::BoxDynError"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","db_core::errors::BoxDynError"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","db_core::errors::BoxDynError"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","db_core::errors::BoxDynError"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","db_core::errors::BoxDynError"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","db_core::errors::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","db_core::errors::BoxDynError"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = \"a str error\";\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl From<String> for Box<dyn Error + Send + Sync>

    source§

    fn from(err: String) -> Box<dyn Error + Send + Sync>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = \"a string error\".to_string();\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.6.0 · source§

    impl From<String> for Box<dyn Error>

    source§

    fn from(str_err: String) -> Box<dyn Error>

    Converts a String into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = \"a string error\".to_string();\nlet a_boxed_error = Box::<dyn Error>::from(a_string_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.6.0 · source§

    impl From<&str> for Box<dyn Error>

    source§

    fn from(err: &str) -> Box<dyn Error>

    Converts a str into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = \"a str error\";\nlet a_boxed_error = Box::<dyn Error>::from(a_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>
    where\n E: Error + Send + Sync + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\ndyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, \"An error\")\n    }\n}\n\nimpl Error for AnError {}\n\nunsafe impl Send for AnError {}\n\nunsafe impl Sync for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.22.0 · source§

    impl<'a> From<Cow<'a, str>> for Box<dyn Error>

    source§

    fn from(err: Cow<'a, str>) -> Box<dyn Error>

    Converts a Cow into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from(\"a str error\");\nlet a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + 'a>
    where\n E: Error + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, \"An error\")\n    }\n}\n\nimpl Error for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error>::from(an_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.22.0 · source§

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from(\"a str error\");\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","db_core::errors::BoxDynError"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","db_core::errors::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","db_core::errors::BoxDynError"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","db_core::errors::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","db_core::errors::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_core::errors::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","db_core::errors::BoxDynError"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","db_core::errors::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","db_core::errors::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_core::errors::BoxDynError"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_core::errors::BoxDynError"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","db_core::errors::BoxDynError"],["
    §

    impl<T> Source for Box<T>
    where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","db_core::errors::BoxDynError"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","db_core::errors::BoxDynError"],["
    §

    impl<T> Buf for Box<T>
    where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>
    where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","db_core::errors::BoxDynError"],["
    §

    impl<T> BufMut for Box<T>
    where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","db_core::errors::BoxDynError"],["
    §

    impl<S> Stream for Box<S>
    where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","db_core::errors::BoxDynError"],["
    §

    impl<F> FusedFuture for Box<F>
    where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","db_core::errors::BoxDynError"],["
    §

    impl<S> FusedStream for Box<S>
    where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","db_core::errors::BoxDynError"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","db_core::errors::BoxDynError"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","db_core::errors::BoxDynError"],["
    §

    impl<Sp> Spawn for Box<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","db_core::errors::BoxDynError"],["
    §

    impl<S, Item> Sink<Item> for Box<S>
    where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_core::errors::BoxDynError"],["
    §

    impl<P, Input> Parser<Input> for Box<P>
    where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)
    where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>
    where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>
    where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>
    where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>
    where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>
    where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, PartialState = Self::PartialState, Output = Self::Output> + 'a>
    where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>
    where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>
    where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>
    where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","db_core::errors::BoxDynError"],["
    §

    impl<T> Value for Box<T>
    where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","db_core::errors::BoxDynError"],["
    §

    impl<S> Subscriber for Box<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","db_core::errors::BoxDynError"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","db_core::errors::BoxDynError"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","db_core::errors::BoxDynError"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>
    where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","db_core::errors::BoxDynError"],["
    §

    impl<M> Message for Box<M>
    where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","db_core::errors::BoxDynError"]], +"db_sqlx_maria":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = \"a str error\";\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl From<String> for Box<dyn Error + Send + Sync>

    source§

    fn from(err: String) -> Box<dyn Error + Send + Sync>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = \"a string error\".to_string();\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<String> for Box<dyn Error>

    source§

    fn from(str_err: String) -> Box<dyn Error>

    Converts a String into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = \"a string error\".to_string();\nlet a_boxed_error = Box::<dyn Error>::from(a_string_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<&str> for Box<dyn Error>

    source§

    fn from(err: &str) -> Box<dyn Error>

    Converts a str into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = \"a str error\";\nlet a_boxed_error = Box::<dyn Error>::from(a_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>
    where\n E: Error + Send + Sync + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\ndyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, \"An error\")\n    }\n}\n\nimpl Error for AnError {}\n\nunsafe impl Send for AnError {}\n\nunsafe impl Sync for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a> From<Cow<'a, str>> for Box<dyn Error>

    source§

    fn from(err: Cow<'a, str>) -> Box<dyn Error>

    Converts a Cow into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from(\"a str error\");\nlet a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + 'a>
    where\n E: Error + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, \"An error\")\n    }\n}\n\nimpl Error for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error>::from(an_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from(\"a str error\");\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Source for Box<T>
    where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Buf for Box<T>
    where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>
    where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> BufMut for Box<T>
    where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Stream for Box<S>
    where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<F> FusedFuture for Box<F>
    where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> FusedStream for Box<S>
    where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> Spawn for Box<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S, Item> Sink<Item> for Box<S>
    where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<P, Input> Parser<Input> for Box<P>
    where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)
    where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>
    where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>
    where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>
    where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>
    where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>
    where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, PartialState = Self::PartialState, Output = Self::Output> + 'a>
    where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>
    where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>
    where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>
    where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Value for Box<T>
    where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Subscriber for Box<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>
    where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<M> Message for Box<M>
    where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Socket for Box<S>
    where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>
    where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>
    where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>
    where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>
    where\n Self: Sized,

    ","Socket","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>
    where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>
    where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>
    where\n T: Sequence<'a>,

    ","Sequence<'a>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> EncodeValue for Box<T>
    where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","db_sqlx_maria::dev::prelude::dev::BoxDynError"]], +"db_sqlx_postgres":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = \"a str error\";\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl From<String> for Box<dyn Error + Send + Sync>

    source§

    fn from(err: String) -> Box<dyn Error + Send + Sync>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = \"a string error\".to_string();\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<String> for Box<dyn Error>

    source§

    fn from(str_err: String) -> Box<dyn Error>

    Converts a String into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = \"a string error\".to_string();\nlet a_boxed_error = Box::<dyn Error>::from(a_string_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<&str> for Box<dyn Error>

    source§

    fn from(err: &str) -> Box<dyn Error>

    Converts a str into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = \"a str error\";\nlet a_boxed_error = Box::<dyn Error>::from(a_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>
    where\n E: Error + Send + Sync + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\ndyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, \"An error\")\n    }\n}\n\nimpl Error for AnError {}\n\nunsafe impl Send for AnError {}\n\nunsafe impl Sync for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a> From<Cow<'a, str>> for Box<dyn Error>

    source§

    fn from(err: Cow<'a, str>) -> Box<dyn Error>

    Converts a Cow into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from(\"a str error\");\nlet a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + 'a>
    where\n E: Error + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, \"An error\")\n    }\n}\n\nimpl Error for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error>::from(an_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from(\"a str error\");\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Source for Box<T>
    where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Buf for Box<T>
    where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>
    where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> BufMut for Box<T>
    where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Stream for Box<S>
    where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<F> FusedFuture for Box<F>
    where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> FusedStream for Box<S>
    where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> Spawn for Box<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S, Item> Sink<Item> for Box<S>
    where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<P, Input> Parser<Input> for Box<P>
    where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)
    where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>
    where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>
    where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>
    where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>
    where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>
    where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, PartialState = Self::PartialState, Output = Self::Output> + 'a>
    where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>
    where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>
    where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>
    where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Value for Box<T>
    where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Subscriber for Box<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>
    where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<M> Message for Box<M>
    where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Socket for Box<S>
    where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>
    where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>
    where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>
    where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>
    where\n Self: Sized,

    ","Socket","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>
    where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>
    where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>
    where\n T: Sequence<'a>,

    ","Sequence<'a>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> EncodeValue for Box<T>
    where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","db_sqlx_postgres::dev::prelude::dev::BoxDynError"]], +"mcaptcha":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","mcaptcha::db::BoxDB"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","mcaptcha::db::BoxDB"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","mcaptcha::db::BoxDB"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","mcaptcha::db::BoxDB"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","mcaptcha::db::BoxDB"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","mcaptcha::db::BoxDB"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","mcaptcha::db::BoxDB"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","mcaptcha::db::BoxDB"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","mcaptcha::db::BoxDB"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","mcaptcha::db::BoxDB"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","mcaptcha::db::BoxDB"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","mcaptcha::db::BoxDB"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","mcaptcha::db::BoxDB"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","mcaptcha::db::BoxDB"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","mcaptcha::db::BoxDB"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","mcaptcha::db::BoxDB"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","mcaptcha::db::BoxDB"],["
    §

    impl<B> MessageBody for Box<B>
    where\n B: MessageBody + Unpin + ?Sized,

    §

    type Error = <B as MessageBody>::Error

    The type of error that will be returned if streaming body fails. Read more
    §

    fn size(&self) -> BodySize

    Body size hint. Read more
    §

    fn poll_next(\n self: Pin<&mut Box<B>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<Bytes, <Box<B> as MessageBody>::Error>>>

    Attempt to pull out the next chunk of body bytes. Read more
    §

    fn try_into_bytes(self) -> Result<Bytes, Self>
    where\n Self: Sized,

    Try to convert into the complete chunk of body bytes. Read more
    §

    fn boxed(self) -> BoxBody
    where\n Self: Sized + 'static,

    Wraps this body into a BoxBody. Read more
    ","MessageBody","mcaptcha::db::BoxDB"],["
    §

    impl<T> Buf for Box<T>
    where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>
    where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","mcaptcha::db::BoxDB"],["
    §

    impl<T> BufMut for Box<T>
    where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","mcaptcha::db::BoxDB"],["
    §

    impl<S> Stream for Box<S>
    where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","mcaptcha::db::BoxDB"],["
    §

    impl<F> FusedFuture for Box<F>
    where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","mcaptcha::db::BoxDB"],["
    §

    impl<S> FusedStream for Box<S>
    where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","mcaptcha::db::BoxDB"],["
    §

    impl<T> Source for Box<T>
    where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","mcaptcha::db::BoxDB"],["
    §

    impl<S, Item> Sink<Item> for Box<S>
    where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","mcaptcha::db::BoxDB"],["
    §

    impl<T> Value for Box<T>
    where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","mcaptcha::db::BoxDB"],["
    §

    impl<S> Subscriber for Box<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","mcaptcha::db::BoxDB"],["
    §

    impl<S, Req> Service<Req> for Box<S>
    where\n S: Service<Req> + ?Sized,

    §

    type Response = <S as Service<Req>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Req>>::Error

    Errors produced by the service when polling readiness or executing call.
    §

    type Future = <S as Service<Req>>::Future

    The future response value.
    §

    fn poll_ready(\n &self,\n ctx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Req>>::Error>>

    Returns Ready when the service is able to process requests. Read more
    §

    fn call(&self, request: Req) -> <S as Service<Req>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","mcaptcha::db::BoxDB"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","mcaptcha::db::BoxDB"],["
    §

    impl<Sp> Spawn for Box<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","mcaptcha::db::BoxDB"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","mcaptcha::db::BoxDB"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","mcaptcha::db::BoxDB"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::db::BoxDB"],["
    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::db::BoxDB"],["
    §

    impl<P, Input> Parser<Input> for Box<P>
    where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)
    where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>
    where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>
    where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>
    where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>
    where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>
    where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, PartialState = Self::PartialState, Output = Self::Output> + 'a>
    where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>
    where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>
    where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>
    where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","mcaptcha::db::BoxDB"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>
    where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","mcaptcha::db::BoxDB"],["
    §

    impl<M> Message for Box<M>
    where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Body for Box<T>
    where\n T: Body + Unpin + ?Sized,

    §

    type Data = <T as Body>::Data

    Values yielded by the Body.
    §

    type Error = <T as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<<Box<T> as Body>::Data, <Box<T> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<Option<HeaderMap>, <Box<T> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>
    where\n Self: Unpin + Sized,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>
    where\n Self: Unpin + Sized,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    ","Body","mcaptcha::db::BoxDB"],["
    §

    impl<S, Request> Service<Request> for Box<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service.
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn poll_ready(\n &mut self,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Request>>::Error>>

    Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more
    §

    fn call(&mut self, request: Request) -> <S as Service<Request>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","mcaptcha::db::BoxDB"],["
    §

    impl<S> Socket for Box<S>
    where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>
    where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>
    where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>
    where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>
    where\n Self: Sized,

    ","Socket","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>
    where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>
    where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>
    where\n T: Sequence<'a>,

    ","Sequence<'a>","mcaptcha::db::BoxDB"],["
    §

    impl<T> EncodeValue for Box<T>
    where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","mcaptcha::db::BoxDB"],["
    §

    impl<T> Render for Box<T>
    where\n T: Render + ?Sized,

    §

    fn render(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer without escaping
    §

    fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer with HTML escaping
    ","Render","mcaptcha::db::BoxDB"],["
    §

    impl<T> WriteColor for Box<T>
    where\n T: WriteColor + ?Sized,

    §

    fn supports_color(&self) -> bool

    Returns true if and only if the underlying writer supports colors.
    §

    fn set_color(&mut self, spec: &ColorSpec) -> Result<(), Error>

    Set the color settings of the writer. Read more
    §

    fn reset(&mut self) -> Result<(), Error>

    Reset the current color settings to their original settings. Read more
    §

    fn is_synchronous(&self) -> bool

    Returns true if and only if the underlying writer must synchronously\ninteract with an end user’s device in order to control colors. By\ndefault, this always returns false. Read more
    ","WriteColor","mcaptcha::db::BoxDB"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/alloc/sync/struct.Arc.js b/type.impl/alloc/sync/struct.Arc.js index 3d8009d3..eb2b25da 100644 --- a/type.impl/alloc/sync/struct.Arc.js +++ b/type.impl/alloc/sync/struct.Arc.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"mcaptcha":[["
    source§

    impl<T> Arc<T>

    1.0.0 · source

    pub fn new(data: T) -> Arc<T>

    Constructs a new Arc<T>.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);
    \n
    1.60.0 · source

    pub fn new_cyclic<F>(data_fn: F) -> Arc<T>where\n F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Arc<T> is created, such that you can\nclone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Arc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Arc<T> by placing\nthe T returned from your closure into the allocation.

    \n

    Since the new Arc<T> is not fully-constructed until Arc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

    \n
    Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

    \n
    Example
    \n
    use std::sync::{Arc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Construct a reference counted Gadget.\n    fn new() -> Arc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Arc` we're constructing.\n        Arc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Return a reference counted pointer to Self.\n    fn me(&self) -> Arc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
    \n
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::new_uninit();\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\ndata will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n
    Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\n\nlet five = Arc::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, returning an error\nif allocation fails.

    \n
    Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if allocation fails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T, A> Arc<T, A>where\n A: Allocator,

    source

    pub fn allocator(this: &Arc<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Arc::allocator(&a) instead of a.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    source

    pub fn new_in(data: T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T> in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\nthen data will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\nfails.

    \n
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::try_new_in(5, System)?;
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\nerror if allocation fails.

    \n
    Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if allocation\nfails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    1.4.0 · source

    pub fn try_unwrap(this: Arc<T, A>) -> Result<T, Arc<T, A>>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, an Err is returned with the same Arc that was\npassed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    It is strongly recommended to use Arc::into_inner instead if you don’t\nwant to keep the Arc in the Err case.\nImmediately dropping the Err payload, like in the expression\nArc::try_unwrap(this).ok(), can still cause the strong count to\ndrop to zero and the inner value of the Arc to be dropped:\nFor instance if two threads each execute this expression in parallel, then\nthere is a race condition. The threads could first both check whether they\nhave the last clone of their Arc via Arc::try_unwrap, and then\nboth drop their Arc in the call to ok,\ntaking the strong count from two down to zero.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nassert_eq!(Arc::try_unwrap(x), Ok(3));\n\nlet x = Arc::new(4);\nlet _y = Arc::clone(&x);\nassert_eq!(*Arc::try_unwrap(x).unwrap_err(), 4);
    \n
    1.70.0 · source

    pub fn into_inner(this: Arc<T, A>) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, None is returned and the Arc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Arc::into_inner is called on every clone of this Arc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

    \n

    The similar expression Arc::try_unwrap(this).ok() does not\noffer such a guarantee. See the last example below\nand the documentation of Arc::try_unwrap.

    \n
    Examples
    \n

    Minimal example demonstrating the guarantee that Arc::into_inner gives.

    \n\n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nlet y = Arc::clone(&x);\n\n// Two threads calling `Arc::into_inner` on both clones of an `Arc`:\nlet x_thread = std::thread::spawn(|| Arc::into_inner(x));\nlet y_thread = std::thread::spawn(|| Arc::into_inner(y));\n\nlet x_inner_value = x_thread.join().unwrap();\nlet y_inner_value = y_thread.join().unwrap();\n\n// One of the threads is guaranteed to receive the inner value:\nassert!(matches!(\n    (x_inner_value, y_inner_value),\n    (None, Some(3)) | (Some(3), None)\n));\n// The result could also be `(None, None)` if the threads called\n// `Arc::try_unwrap(x).ok()` and `Arc::try_unwrap(y).ok()` instead.
    \n

    A more practical example demonstrating the need for Arc::into_inner:

    \n\n
    use std::sync::Arc;\n\n// Definition of a simple singly linked list using `Arc`:\n#[derive(Clone)]\nstruct LinkedList<T>(Option<Arc<Node<T>>>);\nstruct Node<T>(T, Option<Arc<Node<T>>>);\n\n// Dropping a long `LinkedList<T>` relying on the destructor of `Arc`\n// can cause a stack overflow. To prevent this, we can provide a\n// manual `Drop` implementation that does the destruction in a loop:\nimpl<T> Drop for LinkedList<T> {\n    fn drop(&mut self) {\n        let mut link = self.0.take();\n        while let Some(arc_node) = link.take() {\n            if let Some(Node(_value, next)) = Arc::into_inner(arc_node) {\n                link = next;\n            }\n        }\n    }\n}\n\n// Implementation of `new` and `push` omitted\nimpl<T> LinkedList<T> {\n    /* ... */\n}\n\n// The following code could have still caused a stack overflow\n// despite the manual `Drop` impl if that `Drop` impl had used\n// `Arc::try_unwrap(arc).ok()` instead of `Arc::into_inner(arc)`.\n\n// Create a long list and clone it\nlet mut x = LinkedList::new();\nfor i in 0..100000 {\n    x.push(i); // Adds i to the front of x\n}\nlet y = x.clone();\n\n// Drop the clones in parallel\nlet x_thread = std::thread::spawn(|| drop(x));\nlet y_thread = std::thread::spawn(|| drop(y));\nx_thread.join().unwrap();\ny_thread.join().unwrap();
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T> Arc<T>where\n T: ?Sized,

    1.17.0 · source

    pub unsafe fn from_raw(ptr: *const T) -> Arc<T>

    Constructs an Arc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U>::into_raw where U must have the same size and\nalignment as T. This is trivially true if U is T.\nNote that if U is not T but has the same size and alignment, this is\nbasically like transmuting references of different types. See\nmem::transmute for more information on what\nrestrictions apply in this case.

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new("hello".to_owned());\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw(x_ptr);\n    assert_eq!(&*x, "hello");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n
    1.51.0 · source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    1.51.0 · source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count(ptr);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T, A> Arc<T, A>where\n A: Allocator,\n T: ?Sized,

    1.17.0 · source

    pub fn into_raw(this: Arc<T, A>) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new("hello".to_owned());\nlet x_ptr = Arc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, "hello");
    \n
    1.45.0 · source

    pub fn as_ptr(this: &Arc<T, A>) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Arc is not consumed. The pointer is valid for\nas long as there are strong counts in the Arc.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new("hello".to_owned());\nlet y = Arc::clone(&x);\nlet x_ptr = Arc::as_ptr(&x);\nassert_eq!(x_ptr, Arc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, "hello");
    \n
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs an Arc<T, A> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U, A>::into_raw where U must have the same size and\nalignment as T. This is trivially true if U is T.\nNote that if U is not T but has the same size and alignment, this is\nbasically like transmuting references of different types. See\nmem::transmute for more information on what\nrestrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in("hello".to_owned(), System);\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, "hello");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n
    1.4.0 · source

    pub fn downgrade(this: &Arc<T, A>) -> Weak<T, A>where\n A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet weak_five = Arc::downgrade(&five);
    \n
    1.15.0 · source

    pub fn weak_count(this: &Arc<T, A>) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the weak count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _weak_five = Arc::downgrade(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` or `Weak` between threads.\nassert_eq!(1, Arc::weak_count(&five));
    \n
    1.15.0 · source

    pub fn strong_count(this: &Arc<T, A>) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n
    Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the strong count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _also_five = Arc::clone(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` between threads.\nassert_eq!(2, Arc::strong_count(&five));
    \n
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)where\n A: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method,, and ptr must point to a block of memory\nallocated by alloc.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    Safety
    \n

    The pointer must have been obtained through Arc::into_raw, the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    1.17.0 · source

    pub fn ptr_eq(this: &Arc<T, A>, other: &Arc<T, A>) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet same_five = Arc::clone(&five);\nlet other_five = Arc::new(5);\n\nassert!(Arc::ptr_eq(&five, &same_five));\nassert!(!Arc::ptr_eq(&five, &other_five));
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T, A> Arc<T, A>where\n T: Clone,\n A: Allocator + Clone,

    1.4.0 · source

    pub fn make_mut(this: &mut Arc<T, A>) -> &mut T

    Makes a mutable reference into the given Arc.

    \n

    If there are other Arc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

    \n

    However, if there are no other Arc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be dissociated and the inner value will not\nbe cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\nor dissociating Weak pointers.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet mut data = Arc::new(5);\n\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Arc::clone(&data); // Won't clone inner data\n*Arc::make_mut(&mut data) += 1;         // Clones inner data\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\n*Arc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
    \n

    Weak pointers will be dissociated:

    \n\n
    use std::sync::Arc;\n\nlet mut data = Arc::new(75);\nlet weak = Arc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Arc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
    \n
    source

    pub fn unwrap_or_clone(this: Arc<T, A>) -> T

    🔬This is a nightly-only experimental API. (arc_unwrap_or_clone)

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

    \n

    Assuming arc_t is of type Arc<T>, this function is functionally equivalent to\n(*arc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    Examples
    \n
    #![feature(arc_unwrap_or_clone)]\nlet inner = String::from("test");\nlet ptr = inner.as_ptr();\n\nlet arc = Arc::new(inner);\nlet inner = Arc::unwrap_or_clone(arc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet arc = Arc::new(inner);\nlet arc2 = arc.clone();\nlet inner = Arc::unwrap_or_clone(arc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `arc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Arc::unwrap_or_clone(arc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T, A> Arc<T, A>where\n A: Allocator,\n T: ?Sized,

    1.4.0 · source

    pub fn get_mut(this: &mut Arc<T, A>) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\nno other Arc or Weak pointers to the same allocation.

    \n

    Returns None otherwise, because it is not safe to\nmutate a shared value.

    \n

    See also make_mut, which will clone\nthe inner value when there are other Arc pointers.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet mut x = Arc::new(3);\n*Arc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Arc::clone(&x);\nassert!(Arc::get_mut(&mut x).is_none());
    \n
    source

    pub unsafe fn get_mut_unchecked(this: &mut Arc<T, A>) -> &mut T

    🔬This is a nightly-only experimental API. (get_mut_unchecked)

    Returns a mutable reference into the given Arc,\nwithout any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    Safety
    \n

    If any other Arc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Arc::new.

    \n
    Examples
    \n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut x = Arc::new(String::new());\nunsafe {\n    Arc::get_mut_unchecked(&mut x).push_str("foo")\n}\nassert_eq!(*x, "foo");
    \n

    Other Arc pointers to the same allocation must be to the same type.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<str> = Arc::from("Hello, world!");\nlet mut y: Arc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Arc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!("{}", &*x); // Invalid UTF-8 in a str
    \n

    Other Arc pointers to the same allocation must be to the exact same type, including lifetimes.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<&str> = Arc::new("Hello, world!");\n{\n    let s = String::from("Oh, no!");\n    let mut y: Arc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Arc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!("{}", &*x); // Use-after-free
    \n
    ",0,"mcaptcha::ArcData"],["
    1.64.0 · source§

    impl<T> AsFd for Arc<T>where\n T: AsFd,

    This impl allows implementing traits that require AsFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsFd {}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","mcaptcha::ArcData"],["
    1.63.0 · source§

    impl<T> AsRawFd for Arc<T>where\n T: AsRawFd,

    This impl allows implementing traits that require AsRawFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Sync for Arc<T, A>where\n T: Sync + Send + ?Sized,\n A: Allocator + Sync,

    ","Sync","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Pointer for Arc<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Deref for Arc<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Ord for Arc<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
    \n
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","mcaptcha::ArcData"],["
    1.52.0 · source§

    impl<T> Error for Arc<T>where\n T: Error + ?Sized,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'a>(&'a self, req: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Arc<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n

    Two Arcs are equal if their inner values are equal, even if they are\nstored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same allocation are always equal.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five == Arc::new(5));
    \n
    source§

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n

    Two Arcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same value are always equal.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five != Arc::new(6));
    \n
    ","PartialEq","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Display for Arc<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Drop for Arc<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Drops the Arc.

    \n

    This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!("dropped!");\n    }\n}\n\nlet foo  = Arc::new(Foo);\nlet foo2 = Arc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints "dropped!"
    \n
    ","Drop","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Arc<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));
    \n
    source§

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five < Arc::new(6));
    \n
    source§

    fn le(&self, other: &Arc<T, A>) -> bool

    ‘Less than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five <= Arc::new(5));
    \n
    source§

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five > Arc::new(4));
    \n
    source§

    fn ge(&self, other: &Arc<T, A>) -> bool

    ‘Greater than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five >= Arc::new(5));
    \n
    ","PartialOrd","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Hash for Arc<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Borrow<T> for Arc<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T> Default for Arc<T>where\n T: Default,

    source§

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x: Arc<i32> = Default::default();\nassert_eq!(*x, 0);
    \n
    ","Default","mcaptcha::ArcData"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Arc<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","mcaptcha::ArcData"],["
    1.33.0 · source§

    impl<T, A> Unpin for Arc<T, A>where\n A: Allocator,\n T: ?Sized,

    ","Unpin","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Send for Arc<T, A>where\n T: Sync + Send + ?Sized,\n A: Allocator + Send,

    ","Send","mcaptcha::ArcData"],["
    1.45.0 · source§

    impl<'a, B> From<Cow<'a, B>> for Arc<B>where\n B: ToOwned + ?Sized,\n Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

    source§

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\na clone-on-write pointer by copying its content.

    \n
    Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed("eggplant");\nlet shared: Arc<str> = Arc::from(cow);\nassert_eq!("eggplant", &shared[..]);
    \n
    ","From>","mcaptcha::ArcData"],["
    1.6.0 · source§

    impl<T> From<T> for Arc<T>

    source§

    fn from(t: T) -> Arc<T>

    Converts a T into an Arc<T>

    \n

    The conversion moves the value into a\nnewly allocated Arc. It is equivalent to\ncalling Arc::new(t).

    \n
    Example
    \n
    let x = 5;\nlet arc = Arc::new(5);\n\nassert_eq!(Arc::from(x), arc);
    \n
    ","From","mcaptcha::ArcData"],["
    1.21.0 · source§

    impl<T, A> From<Box<T, A>> for Arc<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    Example
    \n
    let unique: Box<str> = Box::from("eggplant");\nlet shared: Arc<str> = Arc::from(unique);\nassert_eq!("eggplant", &shared[..]);
    \n
    ","From>","mcaptcha::ArcData"],["
    source§

    impl<T, U> DispatchFromDyn<Arc<U>> for Arc<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","mcaptcha::ArcData"],["
    1.9.0 · source§

    impl<T, A> UnwindSafe for Arc<T, A>where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

    ","UnwindSafe","mcaptcha::ArcData"],["
    source§

    impl<T, U, A> CoerceUnsized<Arc<U, A>> for Arc<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Eq for Arc<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Debug for Arc<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Clone for Arc<T, A>where\n A: Allocator + Clone,\n T: ?Sized,

    source§

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\nstrong reference count.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet _ = Arc::clone(&five);
    \n
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::ArcData"],["
    source§

    impl<T> Log for Arc<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","mcaptcha::ArcData"],["
    §

    impl<S> Subscriber for Arc<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","mcaptcha::ArcData"],["
    §

    impl<S, Req> ServiceFactory<Req> for Arc<S>where\n S: ServiceFactory<Req>,

    §

    type Response = <S as ServiceFactory<Req>>::Response

    Responses given by the created services.
    §

    type Error = <S as ServiceFactory<Req>>::Error

    Errors produced by the created services.
    §

    type Config = <S as ServiceFactory<Req>>::Config

    Service factory configuration.
    §

    type Service = <S as ServiceFactory<Req>>::Service

    The kind of Service created by this factory.
    §

    type InitError = <S as ServiceFactory<Req>>::InitError

    Errors potentially raised while building a service.
    §

    type Future = <S as ServiceFactory<Req>>::Future

    The future of the Service instance.g
    §

    fn new_service(\n &self,\n cfg: <S as ServiceFactory<Req>>::Config\n) -> <S as ServiceFactory<Req>>::Future

    Create and return a new service asynchronously.
    ","ServiceFactory","mcaptcha::ArcData"],["
    §

    impl<T, S, Req> Transform<S, Req> for Arc<T>where\n T: Transform<S, Req>,

    §

    type Response = <T as Transform<S, Req>>::Response

    Responses produced by the service.
    §

    type Error = <T as Transform<S, Req>>::Error

    Errors produced by the service.
    §

    type Transform = <T as Transform<S, Req>>::Transform

    The TransformService value created by this factory
    §

    type InitError = <T as Transform<S, Req>>::InitError

    Errors produced while building a transform service.
    §

    type Future = <T as Transform<S, Req>>::Future

    The future response value.
    §

    fn new_transform(&self, service: S) -> <T as Transform<S, Req>>::Future

    Creates and returns a new Transform component, asynchronously
    ","Transform","mcaptcha::ArcData"],["
    §

    impl<Sp> LocalSpawn for Arc<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","mcaptcha::ArcData"],["
    §

    impl<Sp> Spawn for Arc<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","mcaptcha::ArcData"],["
    source§

    impl<'de, T> Deserialize<'de> for Arc<T>where\n Box<T>: Deserialize<'de>,\n T: ?Sized,

    This impl requires the "rc" Cargo feature of Serde.

    \n

    Deserializing a data structure containing Arc will not attempt to\ndeduplicate Arc references to the same data. Every deserialized Arc\nwill end up with a strong count of 1.

    \n
    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Arc<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::ArcData"],["
    source§

    impl<T> Serialize for Arc<T>where\n T: Serialize + ?Sized,

    This impl requires the "rc" Cargo feature of Serde.

    \n

    Serializing a data structure containing Arc will serialize a copy of\nthe contents of the Arc each time the Arc is referenced within the\ndata structure. Serialization will not attempt to deduplicate these\nrepeated data.

    \n
    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::ArcData"],["
    §

    impl<T> RefCnt for Arc<T>

    §

    type Base = T

    The base type the pointer points to.
    §

    fn into_ptr(me: Arc<T>) -> *mut T

    Converts the smart pointer into a raw pointer, without affecting the reference count. Read more
    §

    fn as_ptr(me: &Arc<T>) -> *mut T

    Provides a view into the smart pointer as a raw pointer. Read more
    §

    unsafe fn from_ptr(ptr: *const T) -> Arc<T>

    Converts a raw pointer back into the smart pointer, without affecting the reference count. Read more
    §

    fn inc(me: &Self) -> *mut Self::Base

    Increments the reference count by one. Read more
    §

    unsafe fn dec(ptr: *const Self::Base)

    Decrements the reference count by one. Read more
    ","RefCnt","mcaptcha::ArcData"],["
    §

    impl<A, M, I> MessageResponse<A, M> for Arc<I>where\n A: Actor,\n M: Message<Result = Arc<I>>,\n I: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Arc<I>>>)

    ","MessageResponse","mcaptcha::ArcData"],["
    §

    impl<M> Message for Arc<M>where\n M: Message,

    Allow users to use Arc<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","mcaptcha::ArcData"],["
    §

    impl<T> Render for Arc<T>where\n T: Render + ?Sized,

    §

    fn render(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer without escaping
    §

    fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer with HTML escaping
    ","Render","mcaptcha::ArcData"]] +"mcaptcha":[["
    source§

    impl<T> Arc<T>

    1.0.0 · source

    pub fn new(data: T) -> Arc<T>

    Constructs a new Arc<T>.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);
    \n
    1.60.0 · source

    pub fn new_cyclic<F>(data_fn: F) -> Arc<T>
    where\n F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Arc<T> is created, such that you can\nclone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Arc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Arc<T> by placing\nthe T returned from your closure into the allocation.

    \n

    Since the new Arc<T> is not fully-constructed until Arc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

    \n
    Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

    \n
    Example
    \n
    use std::sync::{Arc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Construct a reference counted Gadget.\n    fn new() -> Arc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Arc` we're constructing.\n        Arc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Return a reference counted pointer to Self.\n    fn me(&self) -> Arc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
    \n
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::new_uninit();\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\ndata will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n
    Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\n\nlet five = Arc::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, returning an error\nif allocation fails.

    \n
    Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if allocation fails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,

    source

    pub fn allocator(this: &Arc<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Arc::allocator(&a) instead of a.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    source

    pub fn new_in(data: T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T> in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\nthen data will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\nfails.

    \n
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::try_new_in(5, System)?;
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\nerror if allocation fails.

    \n
    Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if allocation\nfails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    1.4.0 · source

    pub fn try_unwrap(this: Arc<T, A>) -> Result<T, Arc<T, A>>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, an Err is returned with the same Arc that was\npassed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    It is strongly recommended to use Arc::into_inner instead if you don’t\nwant to keep the Arc in the Err case.\nImmediately dropping the Err payload, like in the expression\nArc::try_unwrap(this).ok(), can still cause the strong count to\ndrop to zero and the inner value of the Arc to be dropped:\nFor instance if two threads each execute this expression in parallel, then\nthere is a race condition. The threads could first both check whether they\nhave the last clone of their Arc via Arc::try_unwrap, and then\nboth drop their Arc in the call to ok,\ntaking the strong count from two down to zero.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nassert_eq!(Arc::try_unwrap(x), Ok(3));\n\nlet x = Arc::new(4);\nlet _y = Arc::clone(&x);\nassert_eq!(*Arc::try_unwrap(x).unwrap_err(), 4);
    \n
    1.70.0 · source

    pub fn into_inner(this: Arc<T, A>) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, None is returned and the Arc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Arc::into_inner is called on every clone of this Arc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

    \n

    The similar expression Arc::try_unwrap(this).ok() does not\noffer such a guarantee. See the last example below\nand the documentation of Arc::try_unwrap.

    \n
    Examples
    \n

    Minimal example demonstrating the guarantee that Arc::into_inner gives.

    \n\n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nlet y = Arc::clone(&x);\n\n// Two threads calling `Arc::into_inner` on both clones of an `Arc`:\nlet x_thread = std::thread::spawn(|| Arc::into_inner(x));\nlet y_thread = std::thread::spawn(|| Arc::into_inner(y));\n\nlet x_inner_value = x_thread.join().unwrap();\nlet y_inner_value = y_thread.join().unwrap();\n\n// One of the threads is guaranteed to receive the inner value:\nassert!(matches!(\n    (x_inner_value, y_inner_value),\n    (None, Some(3)) | (Some(3), None)\n));\n// The result could also be `(None, None)` if the threads called\n// `Arc::try_unwrap(x).ok()` and `Arc::try_unwrap(y).ok()` instead.
    \n

    A more practical example demonstrating the need for Arc::into_inner:

    \n\n
    use std::sync::Arc;\n\n// Definition of a simple singly linked list using `Arc`:\n#[derive(Clone)]\nstruct LinkedList<T>(Option<Arc<Node<T>>>);\nstruct Node<T>(T, Option<Arc<Node<T>>>);\n\n// Dropping a long `LinkedList<T>` relying on the destructor of `Arc`\n// can cause a stack overflow. To prevent this, we can provide a\n// manual `Drop` implementation that does the destruction in a loop:\nimpl<T> Drop for LinkedList<T> {\n    fn drop(&mut self) {\n        let mut link = self.0.take();\n        while let Some(arc_node) = link.take() {\n            if let Some(Node(_value, next)) = Arc::into_inner(arc_node) {\n                link = next;\n            }\n        }\n    }\n}\n\n// Implementation of `new` and `push` omitted\nimpl<T> LinkedList<T> {\n    /* ... */\n}\n\n// The following code could have still caused a stack overflow\n// despite the manual `Drop` impl if that `Drop` impl had used\n// `Arc::try_unwrap(arc).ok()` instead of `Arc::into_inner(arc)`.\n\n// Create a long list and clone it\nlet mut x = LinkedList::new();\nfor i in 0..100000 {\n    x.push(i); // Adds i to the front of x\n}\nlet y = x.clone();\n\n// Drop the clones in parallel\nlet x_thread = std::thread::spawn(|| drop(x));\nlet y_thread = std::thread::spawn(|| drop(y));\nx_thread.join().unwrap();\ny_thread.join().unwrap();
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T> Arc<T>
    where\n T: ?Sized,

    1.17.0 · source

    pub unsafe fn from_raw(ptr: *const T) -> Arc<T>

    Constructs an Arc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U>::into_raw where U must have the same size and\nalignment as T. This is trivially true if U is T.\nNote that if U is not T but has the same size and alignment, this is\nbasically like transmuting references of different types. See\nmem::transmute for more information on what\nrestrictions apply in this case.

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n
    1.51.0 · source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    1.51.0 · source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count(ptr);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    1.17.0 · source

    pub fn into_raw(this: Arc<T, A>) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    1.45.0 · source

    pub fn as_ptr(this: &Arc<T, A>) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Arc is not consumed. The pointer is valid for\nas long as there are strong counts in the Arc.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet y = Arc::clone(&x);\nlet x_ptr = Arc::as_ptr(&x);\nassert_eq!(x_ptr, Arc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs an Arc<T, A> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U, A>::into_raw where U must have the same size and\nalignment as T. This is trivially true if U is T.\nNote that if U is not T but has the same size and alignment, this is\nbasically like transmuting references of different types. See\nmem::transmute for more information on what\nrestrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n
    1.4.0 · source

    pub fn downgrade(this: &Arc<T, A>) -> Weak<T, A>
    where\n A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet weak_five = Arc::downgrade(&five);
    \n
    1.15.0 · source

    pub fn weak_count(this: &Arc<T, A>) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the weak count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _weak_five = Arc::downgrade(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` or `Weak` between threads.\nassert_eq!(1, Arc::weak_count(&five));
    \n
    1.15.0 · source

    pub fn strong_count(this: &Arc<T, A>) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n
    Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the strong count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _also_five = Arc::clone(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` between threads.\nassert_eq!(2, Arc::strong_count(&five));
    \n
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n A: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method,, and ptr must point to a block of memory\nallocated by alloc.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    Safety
    \n

    The pointer must have been obtained through Arc::into_raw, the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    1.17.0 · source

    pub fn ptr_eq(this: &Arc<T, A>, other: &Arc<T, A>) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet same_five = Arc::clone(&five);\nlet other_five = Arc::new(5);\n\nassert!(Arc::ptr_eq(&five, &same_five));\nassert!(!Arc::ptr_eq(&five, &other_five));
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    1.4.0 · source

    pub fn make_mut(this: &mut Arc<T, A>) -> &mut T

    Makes a mutable reference into the given Arc.

    \n

    If there are other Arc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

    \n

    However, if there are no other Arc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be dissociated and the inner value will not\nbe cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\nor dissociating Weak pointers.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet mut data = Arc::new(5);\n\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Arc::clone(&data); // Won't clone inner data\n*Arc::make_mut(&mut data) += 1;         // Clones inner data\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\n*Arc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
    \n

    Weak pointers will be dissociated:

    \n\n
    use std::sync::Arc;\n\nlet mut data = Arc::new(75);\nlet weak = Arc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Arc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
    \n
    1.76.0 · source

    pub fn unwrap_or_clone(this: Arc<T, A>) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

    \n

    Assuming arc_t is of type Arc<T>, this function is functionally equivalent to\n(*arc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    Examples
    \n
    let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet arc = Arc::new(inner);\nlet inner = Arc::unwrap_or_clone(arc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet arc = Arc::new(inner);\nlet arc2 = arc.clone();\nlet inner = Arc::unwrap_or_clone(arc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `arc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Arc::unwrap_or_clone(arc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
    \n
    ",0,"mcaptcha::ArcData"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    1.4.0 · source

    pub fn get_mut(this: &mut Arc<T, A>) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\nno other Arc or Weak pointers to the same allocation.

    \n

    Returns None otherwise, because it is not safe to\nmutate a shared value.

    \n

    See also make_mut, which will clone\nthe inner value when there are other Arc pointers.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet mut x = Arc::new(3);\n*Arc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Arc::clone(&x);\nassert!(Arc::get_mut(&mut x).is_none());
    \n
    source

    pub unsafe fn get_mut_unchecked(this: &mut Arc<T, A>) -> &mut T

    🔬This is a nightly-only experimental API. (get_mut_unchecked)

    Returns a mutable reference into the given Arc,\nwithout any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    Safety
    \n

    If any other Arc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Arc::new.

    \n
    Examples
    \n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut x = Arc::new(String::new());\nunsafe {\n    Arc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
    \n

    Other Arc pointers to the same allocation must be to the same type.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<str> = Arc::from(\"Hello, world!\");\nlet mut y: Arc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Arc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
    \n

    Other Arc pointers to the same allocation must be to the exact same type, including lifetimes.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<&str> = Arc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Arc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Arc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
    \n
    ",0,"mcaptcha::ArcData"],["
    1.63.0 · source§

    impl<T> AsRawFd for Arc<T>
    where\n T: AsRawFd,

    This impl allows implementing traits that require AsRawFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","mcaptcha::ArcData"],["
    1.64.0 · source§

    impl<T> AsFd for Arc<T>
    where\n T: AsFd,

    This impl allows implementing traits that require AsFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsFd {}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","mcaptcha::ArcData"],["
    1.33.0 · source§

    impl<T, A> Unpin for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","mcaptcha::ArcData"],["
    source§

    impl<T, U> DispatchFromDyn<Arc<U>> for Arc<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","mcaptcha::ArcData"],["
    1.52.0 · source§

    impl<T> Error for Arc<T>
    where\n T: Error + ?Sized,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'a>(&'a self, req: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Pointer for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Arc<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));
    \n
    source§

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five < Arc::new(6));
    \n
    source§

    fn le(&self, other: &Arc<T, A>) -> bool

    ‘Less than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five <= Arc::new(5));
    \n
    source§

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five > Arc::new(4));
    \n
    source§

    fn ge(&self, other: &Arc<T, A>) -> bool

    ‘Greater than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five >= Arc::new(5));
    \n
    ","PartialOrd","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Deref for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Ord for Arc<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
    \n
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","mcaptcha::ArcData"],["
    1.6.0 · source§

    impl<T> From<T> for Arc<T>

    source§

    fn from(t: T) -> Arc<T>

    Converts a T into an Arc<T>

    \n

    The conversion moves the value into a\nnewly allocated Arc. It is equivalent to\ncalling Arc::new(t).

    \n
    Example
    \n
    let x = 5;\nlet arc = Arc::new(5);\n\nassert_eq!(Arc::from(x), arc);
    \n
    ","From","mcaptcha::ArcData"],["
    1.45.0 · source§

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n B: ToOwned + ?Sized,\n Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

    source§

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\na clone-on-write pointer by copying its content.

    \n
    Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Arc<str> = Arc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","mcaptcha::ArcData"],["
    1.21.0 · source§

    impl<T, A> From<Box<T, A>> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    Example
    \n
    let unique: Box<str> = Box::from(\"eggplant\");\nlet shared: Arc<str> = Arc::from(unique);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Drop for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Drops the Arc.

    \n

    This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Arc::new(Foo);\nlet foo2 = Arc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
    \n
    ","Drop","mcaptcha::ArcData"],["
    source§

    impl<T, U, A> CoerceUnsized<Arc<U, A>> for Arc<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Sync for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Sync,

    ","Sync","mcaptcha::ArcData"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Send for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Send,

    ","Send","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Borrow<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","mcaptcha::ArcData"],["
    1.9.0 · source§

    impl<T, A> UnwindSafe for Arc<T, A>
    where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

    ","UnwindSafe","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Hash for Arc<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Clone for Arc<T, A>
    where\n A: Allocator + Clone,\n T: ?Sized,

    source§

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\nstrong reference count.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet _ = Arc::clone(&five);
    \n
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Display for Arc<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Eq for Arc<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T> Default for Arc<T>
    where\n T: Default,

    source§

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet x: Arc<i32> = Default::default();\nassert_eq!(*x, 0);
    \n
    ","Default","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> Debug for Arc<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::ArcData"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Arc<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n

    Two Arcs are equal if their inner values are equal, even if they are\nstored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same allocation are always equal.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five == Arc::new(5));
    \n
    source§

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n

    Two Arcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same value are always equal.

    \n
    Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five != Arc::new(6));
    \n
    ","PartialEq","mcaptcha::ArcData"],["
    source§

    impl<T> Log for Arc<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","mcaptcha::ArcData"],["
    §

    impl<S> Subscriber for Arc<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","mcaptcha::ArcData"],["
    §

    impl<S, Req> ServiceFactory<Req> for Arc<S>
    where\n S: ServiceFactory<Req>,

    §

    type Response = <S as ServiceFactory<Req>>::Response

    Responses given by the created services.
    §

    type Error = <S as ServiceFactory<Req>>::Error

    Errors produced by the created services.
    §

    type Config = <S as ServiceFactory<Req>>::Config

    Service factory configuration.
    §

    type Service = <S as ServiceFactory<Req>>::Service

    The kind of Service created by this factory.
    §

    type InitError = <S as ServiceFactory<Req>>::InitError

    Errors potentially raised while building a service.
    §

    type Future = <S as ServiceFactory<Req>>::Future

    The future of the Service instance.g
    §

    fn new_service(\n &self,\n cfg: <S as ServiceFactory<Req>>::Config\n) -> <S as ServiceFactory<Req>>::Future

    Create and return a new service asynchronously.
    ","ServiceFactory","mcaptcha::ArcData"],["
    §

    impl<T, S, Req> Transform<S, Req> for Arc<T>
    where\n T: Transform<S, Req>,

    §

    type Response = <T as Transform<S, Req>>::Response

    Responses produced by the service.
    §

    type Error = <T as Transform<S, Req>>::Error

    Errors produced by the service.
    §

    type Transform = <T as Transform<S, Req>>::Transform

    The TransformService value created by this factory
    §

    type InitError = <T as Transform<S, Req>>::InitError

    Errors produced while building a transform service.
    §

    type Future = <T as Transform<S, Req>>::Future

    The future response value.
    §

    fn new_transform(&self, service: S) -> <T as Transform<S, Req>>::Future

    Creates and returns a new Transform component, asynchronously
    ","Transform","mcaptcha::ArcData"],["
    §

    impl<Sp> LocalSpawn for Arc<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","mcaptcha::ArcData"],["
    §

    impl<Sp> Spawn for Arc<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","mcaptcha::ArcData"],["
    source§

    impl<'de, T> Deserialize<'de> for Arc<T>
    where\n Box<T>: Deserialize<'de>,\n T: ?Sized,

    This impl requires the "rc" Cargo feature of Serde.

    \n

    Deserializing a data structure containing Arc will not attempt to\ndeduplicate Arc references to the same data. Every deserialized Arc\nwill end up with a strong count of 1.

    \n
    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Arc<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::ArcData"],["
    source§

    impl<T> Serialize for Arc<T>
    where\n T: Serialize + ?Sized,

    This impl requires the "rc" Cargo feature of Serde.

    \n

    Serializing a data structure containing Arc will serialize a copy of\nthe contents of the Arc each time the Arc is referenced within the\ndata structure. Serialization will not attempt to deduplicate these\nrepeated data.

    \n
    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::ArcData"],["
    §

    impl<T> RefCnt for Arc<T>

    §

    type Base = T

    The base type the pointer points to.
    §

    fn into_ptr(me: Arc<T>) -> *mut T

    Converts the smart pointer into a raw pointer, without affecting the reference count. Read more
    §

    fn as_ptr(me: &Arc<T>) -> *mut T

    Provides a view into the smart pointer as a raw pointer. Read more
    §

    unsafe fn from_ptr(ptr: *const T) -> Arc<T>

    Converts a raw pointer back into the smart pointer, without affecting the reference count. Read more
    §

    fn inc(me: &Self) -> *mut Self::Base

    Increments the reference count by one. Read more
    §

    unsafe fn dec(ptr: *const Self::Base)

    Decrements the reference count by one. Read more
    ","RefCnt","mcaptcha::ArcData"],["
    §

    impl<M> Message for Arc<M>
    where\n M: Message,

    Allow users to use Arc<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","mcaptcha::ArcData"],["
    §

    impl<A, M, I> MessageResponse<A, M> for Arc<I>
    where\n A: Actor,\n M: Message<Result = Arc<I>>,\n I: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Arc<I>>>)

    ","MessageResponse","mcaptcha::ArcData"],["
    §

    impl<T> Render for Arc<T>
    where\n T: Render + ?Sized,

    §

    fn render(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer without escaping
    §

    fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer with HTML escaping
    ","Render","mcaptcha::ArcData"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/core/result/enum.Result.js b/type.impl/core/result/enum.Result.js index 7279a755..bb6ef790 100644 --- a/type.impl/core/result/enum.Result.js +++ b/type.impl/core/result/enum.Result.js @@ -1,6 +1,6 @@ (function() {var type_impls = { -"db_core":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err("hey");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.err(), Some("Nothing here"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err("Error");\nassert_eq!(x.as_ref(), Err(&"Error"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = "1\\n2\\n3\\n4\\n";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!("{n}"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> Uwhere\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err("bar");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> Uwhere\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err("bar");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!("error code: {x}") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err("error code: 13".to_string()));
    \n
    source

    pub fn inspect<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&T),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nlet x: u8 = "4"\n    .parse::<u8>()\n    .inspect(|x| println!("original: {x}"))\n    .map(|x| x.pow(3))\n    .expect("failed to parse number");
    \n
    source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&E),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nuse std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string("address.txt")\n        .inspect_err(|e| eprintln!("failed to read file: {e}"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&str, &u32> = Ok("hello");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = "HELLO".to_string();\nlet mut x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err("emergency failure");\nx.expect("Testing expect"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var("IMPORTANT_PATH")\n    .expect("env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> Twhere\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = "1909";\nlet bad_year_from_input = "190blarg";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err("Testing expect_err"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(x.unwrap_err(), "emergency failure");
    \n
    source

    pub fn into_ok(self) -> Twhere\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok("this is fine".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!("{s}");
    \n
    source

    pub fn into_err(self) -> Ewhere\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err("Oops, it failed".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!("{error}");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("late error"));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<&str, &str> = Ok("foo");\nassert_eq!(x.and(y), Err("early error"));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("not a 2"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok("different result type");\nassert_eq!(x.and(y), Ok("different result type"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));\nassert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows "/" maps to "C:\\"\nlet root_modified_time = Path::new("/").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new("/bad/path").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Err("late error"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err("error");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> Twhere\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err("foo").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, "emergency failure");
    \n
    ",0,"db_core::errors::DBResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_core::errors::DBResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_core::errors::DBResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"db_core::errors::DBResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok("hello"));\nassert_eq!(Ok("hello"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok("hello")));\nassert_eq!(Ok(Ok("hello")), x.flatten());\nassert_eq!(Ok("hello"), x.flatten().flatten());
    \n
    ",0,"db_core::errors::DBResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","db_core::errors::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_core::errors::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_core::errors::DBResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where\n T: Eq,\n E: Eq,

    ","Eq","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or("Overflow!")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or("Underflow!")\n).collect();\nassert_eq!(res, Err("Underflow!"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or("Underflow!")\n}).collect();\nassert_eq!(res, Err("Underflow!"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err("nothing!");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","db_core::errors::DBResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","db_core::errors::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err("Negative element found") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err("Negative element found"));
    \n
    ","Sum>","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where\n T: Copy,\n E: Copy,

    ","Copy","db_core::errors::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec!["5", "10", "1", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec!["5", "10", "one", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","db_core::errors::DBResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_core::errors::DBResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_core::errors::DBResult"],["
    §

    impl<A, M, I, E> MessageResponse<A, M> for Result<I, E>where\n A: Actor,\n M: Message<Result = Result<I, E>>,\n I: 'static,\n E: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Result<I, E>>>)

    ","MessageResponse","db_core::errors::DBResult"]], -"db_sqlx_maria":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err("hey");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.err(), Some("Nothing here"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err("Error");\nassert_eq!(x.as_ref(), Err(&"Error"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = "1\\n2\\n3\\n4\\n";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!("{n}"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> Uwhere\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err("bar");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> Uwhere\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err("bar");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!("error code: {x}") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err("error code: 13".to_string()));
    \n
    source

    pub fn inspect<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&T),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nlet x: u8 = "4"\n    .parse::<u8>()\n    .inspect(|x| println!("original: {x}"))\n    .map(|x| x.pow(3))\n    .expect("failed to parse number");
    \n
    source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&E),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nuse std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string("address.txt")\n        .inspect_err(|e| eprintln!("failed to read file: {e}"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&str, &u32> = Ok("hello");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = "HELLO".to_string();\nlet mut x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err("emergency failure");\nx.expect("Testing expect"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var("IMPORTANT_PATH")\n    .expect("env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> Twhere\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = "1909";\nlet bad_year_from_input = "190blarg";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err("Testing expect_err"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(x.unwrap_err(), "emergency failure");
    \n
    source

    pub fn into_ok(self) -> Twhere\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok("this is fine".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!("{s}");
    \n
    source

    pub fn into_err(self) -> Ewhere\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err("Oops, it failed".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!("{error}");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("late error"));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<&str, &str> = Ok("foo");\nassert_eq!(x.and(y), Err("early error"));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("not a 2"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok("different result type");\nassert_eq!(x.and(y), Ok("different result type"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));\nassert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows "/" maps to "C:\\"\nlet root_modified_time = Path::new("/").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new("/bad/path").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Err("late error"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err("error");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> Twhere\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err("foo").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, "emergency failure");
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok("hello"));\nassert_eq!(Ok("hello"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok("hello")));\nassert_eq!(Ok(Ok("hello")), x.flatten());\nassert_eq!(Ok("hello"), x.flatten().flatten());
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where\n T: Eq,\n E: Eq,

    ","Eq","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or("Overflow!")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or("Underflow!")\n).collect();\nassert_eq!(res, Err("Underflow!"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or("Underflow!")\n}).collect();\nassert_eq!(res, Err("Underflow!"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err("nothing!");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err("Negative element found") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err("Negative element found"));
    \n
    ","Sum>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where\n T: Copy,\n E: Copy,

    ","Copy","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec!["5", "10", "1", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec!["5", "10", "one", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    §

    impl<A, M, I, E> MessageResponse<A, M> for Result<I, E>where\n A: Actor,\n M: Message<Result = Result<I, E>>,\n I: 'static,\n E: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Result<I, E>>>)

    ","MessageResponse","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    §

    impl<T, E> TestTermination for Result<T, E>

    §

    fn is_success(&self) -> bool

    ","TestTermination","db_sqlx_maria::dev::prelude::dev::DBResult"]], -"db_sqlx_postgres":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err("hey");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.err(), Some("Nothing here"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err("Error");\nassert_eq!(x.as_ref(), Err(&"Error"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = "1\\n2\\n3\\n4\\n";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!("{n}"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> Uwhere\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err("bar");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> Uwhere\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err("bar");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!("error code: {x}") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err("error code: 13".to_string()));
    \n
    source

    pub fn inspect<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&T),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nlet x: u8 = "4"\n    .parse::<u8>()\n    .inspect(|x| println!("original: {x}"))\n    .map(|x| x.pow(3))\n    .expect("failed to parse number");
    \n
    source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&E),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nuse std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string("address.txt")\n        .inspect_err(|e| eprintln!("failed to read file: {e}"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&str, &u32> = Ok("hello");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = "HELLO".to_string();\nlet mut x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err("emergency failure");\nx.expect("Testing expect"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var("IMPORTANT_PATH")\n    .expect("env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> Twhere\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = "1909";\nlet bad_year_from_input = "190blarg";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err("Testing expect_err"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(x.unwrap_err(), "emergency failure");
    \n
    source

    pub fn into_ok(self) -> Twhere\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok("this is fine".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!("{s}");
    \n
    source

    pub fn into_err(self) -> Ewhere\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err("Oops, it failed".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!("{error}");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("late error"));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<&str, &str> = Ok("foo");\nassert_eq!(x.and(y), Err("early error"));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("not a 2"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok("different result type");\nassert_eq!(x.and(y), Ok("different result type"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));\nassert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows "/" maps to "C:\\"\nlet root_modified_time = Path::new("/").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new("/bad/path").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Err("late error"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err("error");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> Twhere\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err("foo").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, "emergency failure");
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok("hello"));\nassert_eq!(Ok("hello"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok("hello")));\nassert_eq!(Ok(Ok("hello")), x.flatten());\nassert_eq!(Ok("hello"), x.flatten().flatten());
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where\n T: Eq,\n E: Eq,

    ","Eq","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or("Overflow!")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or("Underflow!")\n).collect();\nassert_eq!(res, Err("Underflow!"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or("Underflow!")\n}).collect();\nassert_eq!(res, Err("Underflow!"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err("nothing!");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err("Negative element found") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err("Negative element found"));
    \n
    ","Sum>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where\n T: Copy,\n E: Copy,

    ","Copy","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec!["5", "10", "1", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec!["5", "10", "one", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    §

    impl<A, M, I, E> MessageResponse<A, M> for Result<I, E>where\n A: Actor,\n M: Message<Result = Result<I, E>>,\n I: 'static,\n E: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Result<I, E>>>)

    ","MessageResponse","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    §

    impl<T, E> TestTermination for Result<T, E>

    §

    fn is_success(&self) -> bool

    ","TestTermination","db_sqlx_postgres::dev::prelude::dev::DBResult"]], -"mcaptcha":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err("hey");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.err(), Some("Nothing here"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err("Error");\nassert_eq!(x.as_ref(), Err(&"Error"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = "1\\n2\\n3\\n4\\n";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!("{n}"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> Uwhere\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err("bar");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> Uwhere\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err("bar");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!("error code: {x}") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err("error code: 13".to_string()));
    \n
    source

    pub fn inspect<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&T),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nlet x: u8 = "4"\n    .parse::<u8>()\n    .inspect(|x| println!("original: {x}"))\n    .map(|x| x.pow(3))\n    .expect("failed to parse number");
    \n
    source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&E),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nuse std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string("address.txt")\n        .inspect_err(|e| eprintln!("failed to read file: {e}"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&str, &u32> = Ok("hello");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = "HELLO".to_string();\nlet mut x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err("emergency failure");\nx.expect("Testing expect"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var("IMPORTANT_PATH")\n    .expect("env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> Twhere\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = "1909";\nlet bad_year_from_input = "190blarg";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err("Testing expect_err"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(x.unwrap_err(), "emergency failure");
    \n
    source

    pub fn into_ok(self) -> Twhere\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok("this is fine".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!("{s}");
    \n
    source

    pub fn into_err(self) -> Ewhere\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err("Oops, it failed".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!("{error}");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("late error"));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<&str, &str> = Ok("foo");\nassert_eq!(x.and(y), Err("early error"));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("not a 2"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok("different result type");\nassert_eq!(x.and(y), Ok("different result type"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));\nassert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows "/" maps to "C:\\"\nlet root_modified_time = Path::new("/").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new("/bad/path").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Err("late error"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err("error");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> Twhere\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err("foo").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, "emergency failure");
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok("hello"));\nassert_eq!(Ok("hello"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok("hello")));\nassert_eq!(Ok(Ok("hello")), x.flatten());\nassert_eq!(Ok("hello"), x.flatten().flatten());
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where\n T: Eq,\n E: Eq,

    ","Eq","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or("Overflow!")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or("Underflow!")\n).collect();\nassert_eq!(res, Err("Underflow!"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or("Underflow!")\n}).collect();\nassert_eq!(res, Err("Underflow!"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err("nothing!");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err("Negative element found") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err("Negative element found"));
    \n
    ","Sum>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where\n T: Copy,\n E: Copy,

    ","Copy","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec!["5", "10", "1", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec!["5", "10", "one", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<T, E> FromRequest for Result<T, E>where\n T: FromRequest,\n <T as FromRequest>::Error: Into<E>,

    Extract from the request, passing error type through to handler.

    \n

    If the inner T::from_request returns an error, allow handler to receive the error rather than\nimmediately returning an error response.

    \n

    Examples

    \n
    use actix_web::{web, dev, App, Result, Error, HttpRequest, FromRequest};\nuse actix_web::error::ErrorBadRequest;\nuse futures_util::future::{ok, err, Ready};\nuse serde::Deserialize;\nuse rand;\n\n#[derive(Debug, Deserialize)]\nstruct Thing {\n    name: String\n}\n\nimpl FromRequest for Thing {\n    type Error = Error;\n    type Future = Ready<Result<Thing, Error>>;\n\n    fn from_request(req: &HttpRequest, payload: &mut dev::Payload) -> Self::Future {\n        if rand::random() {\n            ok(Thing { name: "thingy".into() })\n        } else {\n            err(ErrorBadRequest("no luck"))\n        }\n    }\n}\n\n/// extract `Thing` from request\nasync fn index(supplied_thing: Result<Thing>) -> String {\n    match supplied_thing {\n        Ok(thing) => format!("Got thing: {:?}", thing),\n        Err(e) => format!("Error extracting thing: {}", e)\n    }\n}\n\nlet app = App::new().service(\n    web::resource("/users/:first").route(web::post().to(index))\n);
    \n
    §

    type Error = Infallible

    The associated error which can be returned.
    §

    type Future = FromRequestResFuture<<T as FromRequest>::Future, E>

    Future that resolves to a Self. Read more
    §

    fn from_request(\n req: &HttpRequest,\n payload: &mut Payload\n) -> <Result<T, E> as FromRequest>::Future

    Create a Self from request parts asynchronously.
    §

    fn extract(req: &HttpRequest) -> Self::Future

    Create a Self from request head asynchronously. Read more
    ","FromRequest","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<R, E> Responder for Result<R, E>where\n R: Responder,\n E: Into<Error>,

    §

    type Body = EitherBody<<R as Responder>::Body>

    §

    fn respond_to(\n self,\n req: &HttpRequest\n) -> HttpResponse<<Result<R, E> as Responder>::Body>

    Convert self to HttpResponse.
    §

    fn customize(self) -> CustomizeResponder<Self>where\n Self: Sized,

    Wraps responder to allow alteration of its response. Read more
    ","Responder","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<A, M, I, E> MessageResponse<A, M> for Result<I, E>where\n A: Actor,\n M: Message<Result = Result<I, E>>,\n I: 'static,\n E: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Result<I, E>>>)

    ","MessageResponse","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<T, E> TestTermination for Result<T, E>

    §

    fn is_success(&self) -> bool

    ","TestTermination","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn context<X>(self, x: X) -> Result<T, Context<X, E>>

    The method is use to add context information to current operation Read more
    ","ResultExt","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"]] +"db_core":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"db_core::errors::DBResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_core::errors::DBResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_core::errors::DBResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"db_core::errors::DBResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"db_core::errors::DBResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","db_core::errors::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","db_core::errors::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_core::errors::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_core::errors::DBResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_core::errors::DBResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","db_core::errors::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_core::errors::DBResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","db_core::errors::DBResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_core::errors::DBResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_core::errors::DBResult"],["
    §

    impl<A, M, I, E> MessageResponse<A, M> for Result<I, E>
    where\n A: Actor,\n M: Message<Result = Result<I, E>>,\n I: 'static,\n E: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Result<I, E>>>)

    ","MessageResponse","db_core::errors::DBResult"]], +"db_sqlx_maria":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    §

    impl<A, M, I, E> MessageResponse<A, M> for Result<I, E>
    where\n A: Actor,\n M: Message<Result = Result<I, E>>,\n I: 'static,\n E: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Result<I, E>>>)

    ","MessageResponse","db_sqlx_maria::dev::prelude::dev::DBResult"],["
    §

    impl<T, E> TestTermination for Result<T, E>

    §

    fn is_success(&self) -> bool

    ","TestTermination","db_sqlx_maria::dev::prelude::dev::DBResult"]], +"db_sqlx_postgres":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    §

    impl<A, M, I, E> MessageResponse<A, M> for Result<I, E>
    where\n A: Actor,\n M: Message<Result = Result<I, E>>,\n I: 'static,\n E: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Result<I, E>>>)

    ","MessageResponse","db_sqlx_postgres::dev::prelude::dev::DBResult"],["
    §

    impl<T, E> TestTermination for Result<T, E>

    §

    fn is_success(&self) -> bool

    ","TestTermination","db_sqlx_postgres::dev::prelude::dev::DBResult"]], +"mcaptcha":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<T, E> FromRequest for Result<T, E>
    where\n T: FromRequest,\n <T as FromRequest>::Error: Into<E>,

    Extract from the request, passing error type through to handler.

    \n

    If the inner T::from_request returns an error, allow handler to receive the error rather than\nimmediately returning an error response.

    \n

    Examples

    \n
    use actix_web::{web, dev, App, Result, Error, HttpRequest, FromRequest};\nuse actix_web::error::ErrorBadRequest;\nuse futures_util::future::{ok, err, Ready};\nuse serde::Deserialize;\nuse rand;\n\n#[derive(Debug, Deserialize)]\nstruct Thing {\n    name: String\n}\n\nimpl FromRequest for Thing {\n    type Error = Error;\n    type Future = Ready<Result<Thing, Error>>;\n\n    fn from_request(req: &HttpRequest, payload: &mut dev::Payload) -> Self::Future {\n        if rand::random() {\n            ok(Thing { name: \"thingy\".into() })\n        } else {\n            err(ErrorBadRequest(\"no luck\"))\n        }\n    }\n}\n\n/// extract `Thing` from request\nasync fn index(supplied_thing: Result<Thing>) -> String {\n    match supplied_thing {\n        Ok(thing) => format!(\"Got thing: {:?}\", thing),\n        Err(e) => format!(\"Error extracting thing: {}\", e)\n    }\n}\n\nlet app = App::new().service(\n    web::resource(\"/users/:first\").route(web::post().to(index))\n);
    \n
    §

    type Error = Infallible

    The associated error which can be returned.
    §

    type Future = FromRequestResFuture<<T as FromRequest>::Future, E>

    Future that resolves to a Self. Read more
    §

    fn from_request(\n req: &HttpRequest,\n payload: &mut Payload\n) -> <Result<T, E> as FromRequest>::Future

    Create a Self from request parts asynchronously.
    §

    fn extract(req: &HttpRequest) -> Self::Future

    Create a Self from request head asynchronously. Read more
    ","FromRequest","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<R, E> Responder for Result<R, E>
    where\n R: Responder,\n E: Into<Error>,

    §

    type Body = EitherBody<<R as Responder>::Body>

    §

    fn respond_to(\n self,\n req: &HttpRequest\n) -> HttpResponse<<Result<R, E> as Responder>::Body>

    Convert self to HttpResponse.
    §

    fn customize(self) -> CustomizeResponder<Self>
    where\n Self: Sized,

    Wraps responder to allow alteration of its response. Read more
    ","Responder","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<A, M, I, E> MessageResponse<A, M> for Result<I, E>
    where\n A: Actor,\n M: Message<Result = Result<I, E>>,\n I: 'static,\n E: 'static,

    §

    fn handle(self, _: &mut <A as Actor>::Context, tx: Option<Sender<Result<I, E>>>)

    ","MessageResponse","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<T, E> TestTermination for Result<T, E>

    §

    fn is_success(&self) -> bool

    ","TestTermination","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn context<X>(self, x: X) -> Result<T, Context<X, E>>

    The method is use to add context information to current operation Read more
    ","ResultExt","mcaptcha::errors::ServiceResult","mcaptcha::errors::PageResult"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/lettre/transport/smtp/async_transport/struct.AsyncSmtpTransport.js b/type.impl/lettre/transport/smtp/async_transport/struct.AsyncSmtpTransport.js index 19255fa9..399889c8 100644 --- a/type.impl/lettre/transport/smtp/async_transport/struct.AsyncSmtpTransport.js +++ b/type.impl/lettre/transport/smtp/async_transport/struct.AsyncSmtpTransport.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"mcaptcha":[["
    source§

    impl<E> AsyncSmtpTransport<E>where\n E: Executor,

    source

    pub fn relay(relay: &str) -> Result<AsyncSmtpTransportBuilder, Error>

    Simple and secure transport, using TLS connections to communicate with the SMTP server

    \n

    The right option for most SMTP servers.

    \n

    Creates an encrypted transport over submissions port, using the provided domain\nto validate TLS certificates.

    \n
    source

    pub fn starttls_relay(relay: &str) -> Result<AsyncSmtpTransportBuilder, Error>

    Simple an secure transport, using STARTTLS to obtain encrypted connections

    \n

    Alternative to AsyncSmtpTransport::relay, for SMTP servers\nthat don’t take SMTPS connections.

    \n

    Creates an encrypted transport over submissions port, by first connecting using\nan unencrypted connection and then upgrading it with STARTTLS. The provided\ndomain is used to validate TLS certificates.

    \n

    An error is returned if the connection can’t be upgraded. No credentials\nor emails will be sent to the server, protecting from downgrade attacks.

    \n
    source

    pub fn unencrypted_localhost() -> AsyncSmtpTransport<E>

    Creates a new local SMTP client to port 25

    \n

    Shortcut for local unencrypted relay (typical local email daemon that will handle relaying)

    \n
    source

    pub fn builder_dangerous<T>(server: T) -> AsyncSmtpTransportBuilderwhere\n T: Into<String>,

    Creates a new SMTP client

    \n

    Defaults are:

    \n
      \n
    • No authentication
    • \n
    • No TLS
    • \n
    • A 60 seconds timeout for smtp commands
    • \n
    • Port 25
    • \n
    \n

    Consider using AsyncSmtpTransport::relay or\nAsyncSmtpTransport::starttls_relay instead,\nif possible.

    \n
    source

    pub async fn test_connection(&self) -> Result<bool, Error>

    Tests the SMTP connection

    \n

    test_connection() tests the connection by using the SMTP NOOP command.\nThe connection is closed afterwards if a connection pool is not used.

    \n
    ",0,"mcaptcha::data::Mailer"],["
    source§

    impl<E> Clone for AsyncSmtpTransport<E>where\n E: Executor,

    source§

    fn clone(&self) -> AsyncSmtpTransport<E>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::data::Mailer"],["
    source§

    impl<E> Debug for AsyncSmtpTransport<E>where\n E: Executor,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::data::Mailer"],["
    source§

    impl AsyncTransport for AsyncSmtpTransport<Tokio1Executor>

    source§

    fn send_raw<'life0, 'life1, 'life2, 'async_trait>(\n &'life0 self,\n envelope: &'life1 Envelope,\n email: &'life2 [u8]\n) -> Pin<Box<dyn Future<Output = Result<<AsyncSmtpTransport<Tokio1Executor> as AsyncTransport>::Ok, <AsyncSmtpTransport<Tokio1Executor> as AsyncTransport>::Error>> + Send + 'async_trait>>where\n 'life0: 'async_trait,\n 'life1: 'async_trait,\n 'life2: 'async_trait,\n AsyncSmtpTransport<Tokio1Executor>: 'async_trait,

    Sends an email

    \n
    §

    type Ok = Response

    Response produced by the Transport
    §

    type Error = Error

    Error produced by the Transport
    source§

    fn send<'life0, 'async_trait>(\n &'life0 self,\n message: Message\n) -> Pin<Box<dyn Future<Output = Result<Self::Ok, Self::Error>> + Send + 'async_trait>>where\n 'life0: 'async_trait,\n Self: Sync + 'async_trait,

    Sends the email
    ","AsyncTransport","mcaptcha::data::Mailer"]] +"mcaptcha":[["
    source§

    impl<E> AsyncSmtpTransport<E>
    where\n E: Executor,

    source

    pub fn relay(relay: &str) -> Result<AsyncSmtpTransportBuilder, Error>

    Simple and secure transport, using TLS connections to communicate with the SMTP server

    \n

    The right option for most SMTP servers.

    \n

    Creates an encrypted transport over submissions port, using the provided domain\nto validate TLS certificates.

    \n
    source

    pub fn starttls_relay(relay: &str) -> Result<AsyncSmtpTransportBuilder, Error>

    Simple an secure transport, using STARTTLS to obtain encrypted connections

    \n

    Alternative to AsyncSmtpTransport::relay, for SMTP servers\nthat don’t take SMTPS connections.

    \n

    Creates an encrypted transport over submissions port, by first connecting using\nan unencrypted connection and then upgrading it with STARTTLS. The provided\ndomain is used to validate TLS certificates.

    \n

    An error is returned if the connection can’t be upgraded. No credentials\nor emails will be sent to the server, protecting from downgrade attacks.

    \n
    source

    pub fn unencrypted_localhost() -> AsyncSmtpTransport<E>

    Creates a new local SMTP client to port 25

    \n

    Shortcut for local unencrypted relay (typical local email daemon that will handle relaying)

    \n
    source

    pub fn builder_dangerous<T>(server: T) -> AsyncSmtpTransportBuilder
    where\n T: Into<String>,

    Creates a new SMTP client

    \n

    Defaults are:

    \n
      \n
    • No authentication
    • \n
    • No TLS
    • \n
    • A 60 seconds timeout for smtp commands
    • \n
    • Port 25
    • \n
    \n

    Consider using AsyncSmtpTransport::relay or\nAsyncSmtpTransport::starttls_relay instead,\nif possible.

    \n
    source

    pub async fn test_connection(&self) -> Result<bool, Error>

    Tests the SMTP connection

    \n

    test_connection() tests the connection by using the SMTP NOOP command.\nThe connection is closed afterwards if a connection pool is not used.

    \n
    ",0,"mcaptcha::data::Mailer"],["
    source§

    impl<E> Debug for AsyncSmtpTransport<E>
    where\n E: Executor,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::data::Mailer"],["
    source§

    impl<E> Clone for AsyncSmtpTransport<E>
    where\n E: Executor,

    source§

    fn clone(&self) -> AsyncSmtpTransport<E>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::data::Mailer"],["
    source§

    impl AsyncTransport for AsyncSmtpTransport<Tokio1Executor>

    source§

    fn send_raw<'life0, 'life1, 'life2, 'async_trait>(\n &'life0 self,\n envelope: &'life1 Envelope,\n email: &'life2 [u8]\n) -> Pin<Box<dyn Future<Output = Result<<AsyncSmtpTransport<Tokio1Executor> as AsyncTransport>::Ok, <AsyncSmtpTransport<Tokio1Executor> as AsyncTransport>::Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n 'life1: 'async_trait,\n 'life2: 'async_trait,\n AsyncSmtpTransport<Tokio1Executor>: 'async_trait,

    Sends an email

    \n
    §

    type Ok = Response

    Response produced by the Transport
    §

    type Error = Error

    Error produced by the Transport
    source§

    fn send<'life0, 'async_trait>(\n &'life0 self,\n message: Message\n) -> Pin<Box<dyn Future<Output = Result<Self::Ok, Self::Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n Self: Sync + 'async_trait,

    Sends the email
    ","AsyncTransport","mcaptcha::data::Mailer"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/std/primitive.tuple.js b/type.impl/std/primitive.tuple.js index e0fbba4a..bfa499ab 100644 --- a/type.impl/std/primitive.tuple.js +++ b/type.impl/std/primitive.tuple.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"mcaptcha":[["
    1.56.0 · source§

    impl<A, B, ExtendA, ExtendB> Extend<(A, B)> for (ExtendA, ExtendB)where\n ExtendA: Extend<A>,\n ExtendB: Extend<B>,

    source§

    fn extend<T>(&mut self, into_iter: T)where\n T: IntoIterator<Item = (A, B)>,

    Allows to extend a tuple of collections that also implement Extend.

    \n

    See also: Iterator::unzip

    \n
    Examples
    \n
    let mut tuple = (vec![0], vec![1]);\ntuple.extend([(2, 3), (4, 5), (6, 7)]);\nassert_eq!(tuple.0, [0, 2, 4, 6]);\nassert_eq!(tuple.1, [1, 3, 5, 7]);\n\n// also allows for arbitrarily nested tuples as elements\nlet mut nested_tuple = (vec![1], (vec![2], vec![3]));\nnested_tuple.extend([(4, (5, 6)), (7, (8, 9))]);\n\nlet (a, (b, c)) = nested_tuple;\nassert_eq!(a, [1, 4, 7]);\nassert_eq!(b, [2, 5, 8]);\nassert_eq!(c, [3, 6, 9]);
    \n
    source§

    fn extend_one(&mut self, item: (A, B))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(A, B)>","mcaptcha::static_assets::static_files::assets::Img"],["
    1.71.0 · source§

    impl<T> From<[T; 2]> for (T, T)

    source§

    fn from(array: [T; 2]) -> (T, T)

    Converts to this type from the input type.
    ","From<[T; 2]>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<A, B> HttpServiceFactory for (A, B)where\n A: HttpServiceFactory,\n B: HttpServiceFactory,

    §

    fn register(self, config: &mut AppService)

    ","HttpServiceFactory","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<A, B> FromRequest for (A, B)where\n A: FromRequest + 'static,\n B: FromRequest + 'static,

    FromRequest implementation for tuple

    \n
    §

    type Error = Error

    The associated error which can be returned.
    §

    type Future = TupleFromRequest2<A, B>

    Future that resolves to a Self. Read more
    §

    fn from_request(\n req: &HttpRequest,\n payload: &mut Payload\n) -> <(A, B) as FromRequest>::Future

    Create a Self from request parts asynchronously.
    §

    fn extract(req: &HttpRequest) -> Self::Future

    Create a Self from request head asynchronously. Read more
    ","FromRequest","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H> Handler<(A, B, C, D, E, F, G, H)> for Funcwhere\n Func: Fn(A, B, C, D, E, F, G, H) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H, I> Handler<(A, B, C, D, E, F, G, H, I)> for Funcwhere\n Func: Fn(A, B, C, D, E, F, G, H, I) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H, I)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H, I)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H, I)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G> Handler<(A, B, C, D, E, F, G)> for Funcwhere\n Func: Fn(A, B, C, D, E, F, G) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G)\n) -> <Func as Handler<(A, B, C, D, E, F, G)>>::Future

    ","Handler<(A, B, C, D, E, F, G)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E> Handler<(A, B, C, D, E)> for Funcwhere\n Func: Fn(A, B, C, D, E) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A, B, C, D, E)) -> <Func as Handler<(A, B, C, D, E)>>::Future

    ","Handler<(A, B, C, D, E)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D> Handler<(A, B, C, D)> for Funcwhere\n Func: Fn(A, B, C, D) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A, B, C, D)) -> <Func as Handler<(A, B, C, D)>>::Future

    ","Handler<(A, B, C, D)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B> Handler<(A, B)> for Funcwhere\n Func: Fn(A, B) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A, B)) -> <Func as Handler<(A, B)>>::Future

    ","Handler<(A, B)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A> Handler<(A,)> for Funcwhere\n Func: Fn(A) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A,)) -> <Func as Handler<(A,)>>::Future

    ","Handler<(A,)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H, I, J> Handler<(A, B, C, D, E, F, G, H, I, J)> for Funcwhere\n Func: Fn(A, B, C, D, E, F, G, H, I, J) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H, I, J)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H, I, J)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H, I, J)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F> Handler<(A, B, C, D, E, F)> for Funcwhere\n Func: Fn(A, B, C, D, E, F) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F)\n) -> <Func as Handler<(A, B, C, D, E, F)>>::Future

    ","Handler<(A, B, C, D, E, F)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H, I, J, K> Handler<(A, B, C, D, E, F, G, H, I, J, K)> for Funcwhere\n Func: Fn(A, B, C, D, E, F, G, H, I, J, K) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H, I, J, K)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H, I, J, K)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H, I, J, K)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H, I, J, K, L> Handler<(A, B, C, D, E, F, G, H, I, J, K, L)> for Funcwhere\n Func: Fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H, I, J, K, L)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H, I, J, K, L)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H, I, J, K, L)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C> Handler<(A, B, C)> for Funcwhere\n Func: Fn(A, B, C) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A, B, C)) -> <Func as Handler<(A, B, C)>>::Future

    ","Handler<(A, B, C)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<V> TryIntoHeaderPair for (&str, V)where\n V: TryIntoHeaderValue,\n <V as TryIntoHeaderValue>::Error: Into<InvalidHeaderValue>,

    §

    type Error = InvalidHeaderPart

    §

    fn try_into_pair(\n self\n) -> Result<(HeaderName, HeaderValue), <(&str, V) as TryIntoHeaderPair>::Error>

    ","TryIntoHeaderPair","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<'de, T0, T1> Deserialize<'de> for (T0, T1)where\n T0: Deserialize<'de>,\n T1: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<(T0, T1), <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<T0, T1> Serialize for (T0, T1)where\n T0: Serialize,\n T1: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, A, B> Parser<Input> for (A, B)where\n Input: Stream,\n <Input as StreamOnce>::Error: ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>,\n A: Parser<Input>,\n B: Parser<Input>,

    §

    type Output = (<A as Parser<Input>>::Output, <B as Parser<Input>>::Output)

    The type which is returned if the parser is successful.
    §

    type PartialState = PartialState2<SequenceState<<A as Parser<Input>>::Output, <A as Parser<Input>>::PartialState>, SequenceState<<B as Parser<Input>>::Output, <B as Parser<Input>>::PartialState>>

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, errors: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, Output, Y, Z> ChoiceParser<Input> for (Y, Z)where\n Input: Stream,\n Y: Parser<Input, Output = Output>,\n Z: Parser<Input, Output = Output>,

    §

    type Output = Output

    §

    type PartialState = Y<<Y as Parser<Input>>::PartialState, <Z as Parser<Input>>::PartialState>

    §

    fn parse_partial(\n &mut self,\n input: &mut Input,\n state: &mut <(Y, Z) as ChoiceParser<Input>>::PartialState\n) -> ParseResult<<(Y, Z) as ChoiceParser<Input>>::Output, <Input as StreamOnce>::Error>

    §

    fn parse_first(\n &mut self,\n input: &mut Input,\n state: &mut <(Y, Z) as ChoiceParser<Input>>::PartialState\n) -> ParseResult<<(Y, Z) as ChoiceParser<Input>>::Output, <Input as StreamOnce>::Error>

    §

    fn parse_mode_choice<Mode>(\n &mut self,\n mode: Mode,\n input: &mut Input,\n state: &mut <(Y, Z) as ChoiceParser<Input>>::PartialState\n) -> ParseResult<<(Y, Z) as ChoiceParser<Input>>::Output, <Input as StreamOnce>::Error>where\n Mode: ParseMode,

    §

    fn add_error_choice(\n &mut self,\n error: &mut Tracked<<Input as StreamOnce>::Error>\n)

    ","ChoiceParser","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, A, B, Error, FnA, FnB> Tuple<Input, (A, B), Error> for (FnA, FnB)where\n Input: Clone,\n Error: ParseError<Input>,\n FnA: Parser<Input, A, Error>,\n FnB: Parser<Input, B, Error>,

    §

    fn parse(&mut self, input: Input) -> Result<(Input, (A, B)), Err<Error>>

    Parses the input and returns a tuple of results of each parser.
    ","Tuple","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, A, B, Error, FnA, FnB> Permutation<Input, (A, B), Error> for (FnA, FnB)where\n Input: Clone,\n Error: ParseError<Input>,\n FnA: Parser<Input, A, Error>,\n FnB: Parser<Input, B, Error>,

    §

    fn permutation(&mut self, input: Input) -> Result<(Input, (A, B)), Err<Error>>

    Tries to apply all parsers in the tuple in various orders until all of them succeed
    ","Permutation","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, Output, Error, A, B> Alt<Input, Output, Error> for (A, B)where\n Input: Clone,\n Error: ParseError<Input>,\n A: Parser<Input, Output, Error>,\n B: Parser<Input, Output, Error>,

    §

    fn choice(&mut self, input: Input) -> Result<(Input, Output), Err<Error>>

    Tests each parser in the tuple and returns the result of the first one that succeeds
    ","Alt","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<'r, R, T1, T2> FromRow<'r, R> for (T1, T2)where\n R: Row,\n usize: ColumnIndex<R>,\n T1: Decode<'r, <R as Row>::Database> + Type<<R as Row>::Database>,\n T2: Decode<'r, <R as Row>::Database> + Type<<R as Row>::Database>,

    §

    fn from_row(row: &'r R) -> Result<(T1, T2), Error>

    ","FromRow<'r, R>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG)> for ITwhere\n IT: Iterator<Item = (A, B, C, D, E, F, G)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)> for ITwhere\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE> MultiUnzip<(FromA, FromB, FromC, FromD, FromE)> for ITwhere\n IT: Iterator<Item = (A, B, C, D, E)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)> for ITwhere\n IT: Iterator<Item = (A, B, C, D, E, F, G, H)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC> MultiUnzip<(FromA, FromB, FromC)> for ITwhere\n IT: Iterator<Item = (A, B, C)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB> MultiUnzip<(FromA, FromB)> for ITwhere\n IT: Iterator<Item = (A, B)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,

    source§

    fn multiunzip(self) -> (FromA, FromB)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ, K, FromK> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)> for ITwhere\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J, K)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,\n FromK: Default + Extend<K>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)> for ITwhere\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD> MultiUnzip<(FromA, FromB, FromC, FromD)> for ITwhere\n IT: Iterator<Item = (A, B, C, D)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ, K, FromK, L, FromL> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK, FromL)> for ITwhere\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J, K, L)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,\n FromK: Default + Extend<K>,\n FromL: Default + Extend<L>,

    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK, FromL)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA> MultiUnzip<(FromA,)> for ITwhere\n IT: Iterator<Item = (A,)>,\n FromA: Default + Extend<A>,

    source§

    fn multiunzip(self) -> (FromA,)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA,)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF)> for ITwhere\n IT: Iterator<Item = (A, B, C, D, E, F)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<S, T> Bounded for (S, T)where\n S: Bounded,\n T: Bounded,

    source§

    fn min_value() -> (S, T)

    Returns the smallest finite number this type can represent
    source§

    fn max_value() -> (S, T)

    Returns the largest finite number this type can represent
    ","Bounded","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<A, B> Zeroize for (A, B)where\n A: Zeroize,\n B: Zeroize,

    §

    fn zeroize(&mut self)

    Zero out this object from memory using Rust intrinsics which ensure the\nzeroization operation is not “optimized away” by the compiler.
    ","Zeroize","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<A, B> ZeroizeOnDrop for (A, B)where\n A: ZeroizeOnDrop,\n B: ZeroizeOnDrop,

    ","ZeroizeOnDrop","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<T1, T2> PgHasArrayType for (T1, T2)

    §

    fn array_type_info() -> PgTypeInfo

    §

    fn array_compatible(ty: &PgTypeInfo) -> bool

    ","PgHasArrayType","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<T1, T2> Type<Postgres> for (T1, T2)

    §

    fn type_info() -> PgTypeInfo

    Returns the canonical SQL type for this Rust type. Read more
    §

    fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

    Determines if this Rust type is compatible with the given SQL type. Read more
    ","Type","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<'r, T1, T2> Decode<'r, Postgres> for (T1, T2)where\n T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,\n T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

    §

    fn decode(\n value: PgValueRef<'r>\n) -> Result<(T1, T2), Box<dyn Error + Send + Sync>>

    Decode a new value of this type using a raw value from the database.
    ","Decode<'r, Postgres>","mcaptcha::static_assets::static_files::assets::Img"]] +"mcaptcha":[["
    1.56.0 · source§

    impl<A, B, ExtendA, ExtendB> Extend<(A, B)> for (ExtendA, ExtendB)
    where\n ExtendA: Extend<A>,\n ExtendB: Extend<B>,

    source§

    fn extend<T>(&mut self, into_iter: T)
    where\n T: IntoIterator<Item = (A, B)>,

    Allows to extend a tuple of collections that also implement Extend.

    \n

    See also: Iterator::unzip

    \n
    Examples
    \n
    let mut tuple = (vec![0], vec![1]);\ntuple.extend([(2, 3), (4, 5), (6, 7)]);\nassert_eq!(tuple.0, [0, 2, 4, 6]);\nassert_eq!(tuple.1, [1, 3, 5, 7]);\n\n// also allows for arbitrarily nested tuples as elements\nlet mut nested_tuple = (vec![1], (vec![2], vec![3]));\nnested_tuple.extend([(4, (5, 6)), (7, (8, 9))]);\n\nlet (a, (b, c)) = nested_tuple;\nassert_eq!(a, [1, 4, 7]);\nassert_eq!(b, [2, 5, 8]);\nassert_eq!(c, [3, 6, 9]);
    \n
    source§

    fn extend_one(&mut self, item: (A, B))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(A, B)>","mcaptcha::static_assets::static_files::assets::Img"],["
    1.71.0 · source§

    impl<T> From<[T; 2]> for (T, T)

    source§

    fn from(array: [T; 2]) -> (T, T)

    Converts to this type from the input type.
    ","From<[T; 2]>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<A, B> HttpServiceFactory for (A, B)
    where\n A: HttpServiceFactory,\n B: HttpServiceFactory,

    §

    fn register(self, config: &mut AppService)

    ","HttpServiceFactory","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<A, B> FromRequest for (A, B)
    where\n A: FromRequest + 'static,\n B: FromRequest + 'static,

    FromRequest implementation for tuple

    \n
    §

    type Error = Error

    The associated error which can be returned.
    §

    type Future = TupleFromRequest2<A, B>

    Future that resolves to a Self. Read more
    §

    fn from_request(\n req: &HttpRequest,\n payload: &mut Payload\n) -> <(A, B) as FromRequest>::Future

    Create a Self from request parts asynchronously.
    §

    fn extract(req: &HttpRequest) -> Self::Future

    Create a Self from request head asynchronously. Read more
    ","FromRequest","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H, I> Handler<(A, B, C, D, E, F, G, H, I)> for Func
    where\n Func: Fn(A, B, C, D, E, F, G, H, I) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H, I)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H, I)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H, I)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H, I, J, K, L> Handler<(A, B, C, D, E, F, G, H, I, J, K, L)> for Func
    where\n Func: Fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H, I, J, K, L)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H, I, J, K, L)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H, I, J, K, L)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F> Handler<(A, B, C, D, E, F)> for Func
    where\n Func: Fn(A, B, C, D, E, F) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F)\n) -> <Func as Handler<(A, B, C, D, E, F)>>::Future

    ","Handler<(A, B, C, D, E, F)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E> Handler<(A, B, C, D, E)> for Func
    where\n Func: Fn(A, B, C, D, E) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A, B, C, D, E)) -> <Func as Handler<(A, B, C, D, E)>>::Future

    ","Handler<(A, B, C, D, E)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H, I, J, K> Handler<(A, B, C, D, E, F, G, H, I, J, K)> for Func
    where\n Func: Fn(A, B, C, D, E, F, G, H, I, J, K) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H, I, J, K)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H, I, J, K)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H, I, J, K)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C> Handler<(A, B, C)> for Func
    where\n Func: Fn(A, B, C) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A, B, C)) -> <Func as Handler<(A, B, C)>>::Future

    ","Handler<(A, B, C)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A> Handler<(A,)> for Func
    where\n Func: Fn(A) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A,)) -> <Func as Handler<(A,)>>::Future

    ","Handler<(A,)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H, I, J> Handler<(A, B, C, D, E, F, G, H, I, J)> for Func
    where\n Func: Fn(A, B, C, D, E, F, G, H, I, J) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H, I, J)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H, I, J)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H, I, J)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D> Handler<(A, B, C, D)> for Func
    where\n Func: Fn(A, B, C, D) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A, B, C, D)) -> <Func as Handler<(A, B, C, D)>>::Future

    ","Handler<(A, B, C, D)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G, H> Handler<(A, B, C, D, E, F, G, H)> for Func
    where\n Func: Fn(A, B, C, D, E, F, G, H) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G, H)\n) -> <Func as Handler<(A, B, C, D, E, F, G, H)>>::Future

    ","Handler<(A, B, C, D, E, F, G, H)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B> Handler<(A, B)> for Func
    where\n Func: Fn(A, B) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(&self, _: (A, B)) -> <Func as Handler<(A, B)>>::Future

    ","Handler<(A, B)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Func, Fut, A, B, C, D, E, F, G> Handler<(A, B, C, D, E, F, G)> for Func
    where\n Func: Fn(A, B, C, D, E, F, G) -> Fut + Clone + 'static,\n Fut: Future,

    §

    type Output = <Fut as Future>::Output

    §

    type Future = Fut

    §

    fn call(\n &self,\n _: (A, B, C, D, E, F, G)\n) -> <Func as Handler<(A, B, C, D, E, F, G)>>::Future

    ","Handler<(A, B, C, D, E, F, G)>","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<V> TryIntoHeaderPair for (&str, V)
    where\n V: TryIntoHeaderValue,\n <V as TryIntoHeaderValue>::Error: Into<InvalidHeaderValue>,

    §

    type Error = InvalidHeaderPart

    §

    fn try_into_pair(\n self\n) -> Result<(HeaderName, HeaderValue), <(&str, V) as TryIntoHeaderPair>::Error>

    ","TryIntoHeaderPair","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<'de, T0, T1> Deserialize<'de> for (T0, T1)
    where\n T0: Deserialize<'de>,\n T1: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<(T0, T1), <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<T0, T1> Serialize for (T0, T1)
    where\n T0: Serialize,\n T1: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, A, B> Parser<Input> for (A, B)
    where\n Input: Stream,\n <Input as StreamOnce>::Error: ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>,\n A: Parser<Input>,\n B: Parser<Input>,

    §

    type Output = (<A as Parser<Input>>::Output, <B as Parser<Input>>::Output)

    The type which is returned if the parser is successful.
    §

    type PartialState = PartialState2<SequenceState<<A as Parser<Input>>::Output, <A as Parser<Input>>::PartialState>, SequenceState<<B as Parser<Input>>::Output, <B as Parser<Input>>::PartialState>>

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, errors: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)
    where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>
    where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>
    where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>
    where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>
    where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>
    where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>
    where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>
    where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, PartialState = Self::PartialState, Output = Self::Output> + 'a>
    where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>
    where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>
    where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>
    where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, Output, Y, Z> ChoiceParser<Input> for (Y, Z)
    where\n Input: Stream,\n Y: Parser<Input, Output = Output>,\n Z: Parser<Input, Output = Output>,

    §

    type Output = Output

    §

    type PartialState = Y<<Y as Parser<Input>>::PartialState, <Z as Parser<Input>>::PartialState>

    §

    fn parse_partial(\n &mut self,\n input: &mut Input,\n state: &mut <(Y, Z) as ChoiceParser<Input>>::PartialState\n) -> ParseResult<<(Y, Z) as ChoiceParser<Input>>::Output, <Input as StreamOnce>::Error>

    §

    fn parse_first(\n &mut self,\n input: &mut Input,\n state: &mut <(Y, Z) as ChoiceParser<Input>>::PartialState\n) -> ParseResult<<(Y, Z) as ChoiceParser<Input>>::Output, <Input as StreamOnce>::Error>

    §

    fn parse_mode_choice<Mode>(\n &mut self,\n mode: Mode,\n input: &mut Input,\n state: &mut <(Y, Z) as ChoiceParser<Input>>::PartialState\n) -> ParseResult<<(Y, Z) as ChoiceParser<Input>>::Output, <Input as StreamOnce>::Error>
    where\n Mode: ParseMode,

    §

    fn add_error_choice(\n &mut self,\n error: &mut Tracked<<Input as StreamOnce>::Error>\n)

    ","ChoiceParser","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, A, B, Error, FnA, FnB> Tuple<Input, (A, B), Error> for (FnA, FnB)
    where\n Input: Clone,\n Error: ParseError<Input>,\n FnA: Parser<Input, A, Error>,\n FnB: Parser<Input, B, Error>,

    §

    fn parse(&mut self, input: Input) -> Result<(Input, (A, B)), Err<Error>>

    Parses the input and returns a tuple of results of each parser.
    ","Tuple","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, A, B, Error, FnA, FnB> Permutation<Input, (A, B), Error> for (FnA, FnB)
    where\n Input: Clone,\n Error: ParseError<Input>,\n FnA: Parser<Input, A, Error>,\n FnB: Parser<Input, B, Error>,

    §

    fn permutation(&mut self, input: Input) -> Result<(Input, (A, B)), Err<Error>>

    Tries to apply all parsers in the tuple in various orders until all of them succeed
    ","Permutation","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<Input, Output, Error, A, B> Alt<Input, Output, Error> for (A, B)
    where\n Input: Clone,\n Error: ParseError<Input>,\n A: Parser<Input, Output, Error>,\n B: Parser<Input, Output, Error>,

    §

    fn choice(&mut self, input: Input) -> Result<(Input, Output), Err<Error>>

    Tests each parser in the tuple and returns the result of the first one that succeeds
    ","Alt","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<'r, R, T1, T2> FromRow<'r, R> for (T1, T2)
    where\n R: Row,\n usize: ColumnIndex<R>,\n T1: Decode<'r, <R as Row>::Database> + Type<<R as Row>::Database>,\n T2: Decode<'r, <R as Row>::Database> + Type<<R as Row>::Database>,

    §

    fn from_row(row: &'r R) -> Result<(T1, T2), Error>

    ","FromRow<'r, R>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE> MultiUnzip<(FromA, FromB, FromC, FromD, FromE)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA> MultiUnzip<(FromA,)> for IT
    where\n IT: Iterator<Item = (A,)>,\n FromA: Default + Extend<A>,

    source§

    fn multiunzip(self) -> (FromA,)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA,)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD> MultiUnzip<(FromA, FromB, FromC, FromD)> for IT
    where\n IT: Iterator<Item = (A, B, C, D)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ, K, FromK> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J, K)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,\n FromK: Default + Extend<K>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ, K, FromK, L, FromL> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK, FromL)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J, K, L)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,\n FromK: Default + Extend<K>,\n FromL: Default + Extend<L>,

    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK, FromL)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC> MultiUnzip<(FromA, FromB, FromC)> for IT
    where\n IT: Iterator<Item = (A, B, C)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<IT, A, FromA, B, FromB> MultiUnzip<(FromA, FromB)> for IT
    where\n IT: Iterator<Item = (A, B)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,

    source§

    fn multiunzip(self) -> (FromA, FromB)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB)>","mcaptcha::static_assets::static_files::assets::Img"],["
    source§

    impl<S, T> Bounded for (S, T)
    where\n S: Bounded,\n T: Bounded,

    source§

    fn min_value() -> (S, T)

    Returns the smallest finite number this type can represent
    source§

    fn max_value() -> (S, T)

    Returns the largest finite number this type can represent
    ","Bounded","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<A, B> Zeroize for (A, B)
    where\n A: Zeroize,\n B: Zeroize,

    §

    fn zeroize(&mut self)

    Zero out this object from memory using Rust intrinsics which ensure the\nzeroization operation is not “optimized away” by the compiler.
    ","Zeroize","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<A, B> ZeroizeOnDrop for (A, B)
    where\n A: ZeroizeOnDrop,\n B: ZeroizeOnDrop,

    ","ZeroizeOnDrop","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<T1, T2> PgHasArrayType for (T1, T2)

    §

    fn array_type_info() -> PgTypeInfo

    §

    fn array_compatible(ty: &PgTypeInfo) -> bool

    ","PgHasArrayType","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<T1, T2> Type<Postgres> for (T1, T2)

    §

    fn type_info() -> PgTypeInfo

    Returns the canonical SQL type for this Rust type. Read more
    §

    fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

    Determines if this Rust type is compatible with the given SQL type. Read more
    ","Type","mcaptcha::static_assets::static_files::assets::Img"],["
    §

    impl<'r, T1, T2> Decode<'r, Postgres> for (T1, T2)
    where\n T1: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,\n T2: 'r + Type<Postgres> + for<'a> Decode<'a, Postgres>,

    §

    fn decode(\n value: PgValueRef<'r>\n) -> Result<(T1, T2), Box<dyn Error + Send + Sync>>

    Decode a new value of this type using a raw value from the database.
    ","Decode<'r, Postgres>","mcaptcha::static_assets::static_files::assets::Img"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file