From 2352e34a753abe9503cc9fb13cf393f9d9a48292 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Fri, 26 Mar 2021 17:05:53 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=2051764?= =?UTF-8?q?817f9d8ad354355336e7a8b420b4d5f2aff=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dark.css | 2 +- guard/all.html | 5 +- guard/api/index.html | 7 +- guard/api/v1/auth/fn.is_authenticated.html | 7 +- guard/api/v1/auth/index.html | 7 +- guard/api/v1/auth/struct.Login.html | 39 +- guard/api/v1/auth/struct.Password.html | 33 +- guard/api/v1/auth/struct.Register.html | 39 +- guard/api/v1/auth/struct.delete_account.html | 31 +- guard/api/v1/auth/struct.signin.html | 31 +- guard/api/v1/auth/struct.signout.html | 31 +- guard/api/v1/auth/struct.signup.html | 31 +- guard/api/v1/fn.services.html | 5 +- guard/api/v1/index.html | 7 +- guard/api/v1/mcaptcha/domains/index.html | 7 +- .../api/v1/mcaptcha/domains/sidebar-items.js | 2 +- .../v1/mcaptcha/domains/struct.Challenge.html | 124 ++ .../v1/mcaptcha/domains/struct.Domain.html | 47 +- .../mcaptcha/domains/struct.add_domain.html | 31 +- .../domains/struct.delete_domain.html | 31 +- .../domains/struct.get_challenge.html | 112 ++ .../v1/mcaptcha/domains/struct.verify.html | 112 ++ guard/api/v1/mcaptcha/duration/index.html | 7 +- .../mcaptcha/duration/struct.GetDuration.html | 33 +- .../duration/struct.GetDurationResp.html | 33 +- .../duration/struct.UpdateDuration.html | 33 +- .../duration/struct.get_duration.html | 31 +- .../duration/struct.update_duration.html | 31 +- guard/api/v1/mcaptcha/fn.get_random.html | 5 + guard/api/v1/mcaptcha/index.html | 8 +- .../mcaptcha/levels/fn.get_levels_util.html | 5 +- guard/api/v1/mcaptcha/levels/index.html | 7 +- .../v1/mcaptcha/levels/struct.AddLevels.html | 33 +- .../v1/mcaptcha/levels/struct.GetLevels.html | 33 +- .../v1/mcaptcha/levels/struct.I32Levels.html | 33 +- .../api/v1/mcaptcha/levels/struct.Levels.html | 33 +- .../v1/mcaptcha/levels/struct.add_levels.html | 31 +- .../mcaptcha/levels/struct.delete_levels.html | 31 +- .../v1/mcaptcha/levels/struct.get_levels.html | 31 +- .../mcaptcha/levels/struct.update_levels.html | 31 +- .../v1/mcaptcha/mcaptcha/fn.get_random.html | 4 - guard/api/v1/mcaptcha/mcaptcha/index.html | 8 +- .../api/v1/mcaptcha/mcaptcha/sidebar-items.js | 2 +- .../mcaptcha/struct.MCaptchaDetails.html | 39 +- .../mcaptcha/mcaptcha/struct.MCaptchaID.html | 39 +- .../mcaptcha/struct.add_mcaptcha.html | 31 +- .../mcaptcha/struct.delete_mcaptcha.html | 31 +- guard/api/v1/mcaptcha/sidebar-items.js | 2 +- guard/api/v1/meta/index.html | 7 +- guard/api/v1/meta/struct.Health.html | 39 +- guard/api/v1/meta/struct.HealthBuilder.html | 39 +- guard/api/v1/meta/struct.build_details.html | 31 +- guard/api/v1/meta/struct.health.html | 31 +- guard/data/index.html | 7 +- guard/data/struct.Data.html | 39 +- guard/errors/enum.ServiceError.html | 77 +- guard/errors/fn.dup_error.html | 5 +- guard/errors/index.html | 7 +- guard/errors/struct.ErrorToResponse.html | 37 +- guard/errors/type.ServiceResult.html | 5 +- guard/fn.get_identity_service.html | 5 +- guard/fn.get_json_err.html | 5 +- guard/fn.main.html | 5 +- guard/index.html | 7 +- guard/settings/fn.set_database_url.html | 5 +- guard/settings/fn.set_from_database_url.html | 5 +- guard/settings/index.html | 7 +- guard/settings/struct.Captcha.html | 39 +- guard/settings/struct.Database.html | 39 +- guard/settings/struct.DatabaseBuilder.html | 39 +- guard/settings/struct.Server.html | 39 +- guard/settings/struct.Settings.html | 39 +- guard/static.PKG_DESCRIPTION.html | 5 +- guard/static.PKG_HOMEPAGE.html | 5 +- guard/static.PKG_NAME.html | 5 +- guard/static.VERSION.html | 5 +- guard/struct.Data.html | 39 +- guard/struct.GIT_COMMIT_HASH.html | 1437 ++++++++++++++++- guard/struct.SETTINGS.html | 37 +- guard/struct.Settings.html | 39 +- .../actix_http/error/trait.ResponseError.js | 2 +- .../service/trait.HttpServiceFactory.js | 2 +- implementors/core/clone/trait.Clone.js | 5 +- implementors/core/cmp/trait.PartialEq.js | 2 +- implementors/core/convert/trait.From.js | 2 +- implementors/core/default/trait.Default.js | 2 +- implementors/core/fmt/trait.Debug.js | 5 +- implementors/core/fmt/trait.Display.js | 2 +- implementors/core/marker/trait.Freeze.js | 5 +- implementors/core/marker/trait.Send.js | 5 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- implementors/core/marker/trait.Sync.js | 5 +- implementors/core/marker/trait.Unpin.js | 5 +- implementors/core/ops/deref/trait.Deref.js | 4 +- implementors/lazy_static/trait.LazyStatic.js | 4 +- implementors/serde/de/trait.Deserialize.js | 5 +- implementors/serde/ser/trait.Serialize.js | 3 +- implementors/std/error/trait.Error.js | 2 +- implementors/std/panic/trait.RefUnwindSafe.js | 5 +- implementors/std/panic/trait.UnwindSafe.js | 5 +- kv_test_util/all.html | 7 + kv_test_util/fn.main.html | 5 + kv_test_util/fn.server.html | 5 + kv_test_util/fn.util_server_add.html | 5 + kv_test_util/fn.util_server_retrive.html | 5 + kv_test_util/index.html | 8 + kv_test_util/sidebar-items.js | 1 + kv_test_util/struct.Challenge.html | 124 ++ kv_test_util/type.UtilKVServer.html | 5 + main.js | 4 +- rustdoc.css | 2 +- search-index.js | 5 +- settings.html | 5 +- source-files.js | 1 + source-script.js | 2 +- src/guard/api/mod.rs.html | 3 +- src/guard/api/v1/auth.rs.html | 13 +- src/guard/api/v1/mcaptcha/domains.rs.html | 391 ++++- src/guard/api/v1/mcaptcha/duration.rs.html | 3 +- src/guard/api/v1/mcaptcha/levels.rs.html | 3 +- src/guard/api/v1/mcaptcha/mcaptcha.rs.html | 75 +- src/guard/api/v1/mcaptcha/mod.rs.html | 31 +- src/guard/api/v1/meta.rs.html | 3 +- src/guard/api/v1/mod.rs.html | 7 +- src/guard/data.rs.html | 3 +- src/guard/errors.rs.html | 51 +- src/guard/main.rs.html | 211 +-- src/guard/settings.rs.html | 3 +- src/kv_test_util/kvserver.rs.html | 195 +++ src/tests_migrate/data.rs.html | 3 +- src/tests_migrate/settings.rs.html | 3 +- src/tests_migrate/tests-migrate.rs.html | 3 +- storage.js | 2 +- tests_migrate/all.html | 5 +- tests_migrate/data/index.html | 7 +- tests_migrate/data/struct.Data.html | 39 +- tests_migrate/fn.main.html | 5 +- tests_migrate/index.html | 7 +- .../settings/fn.set_database_url.html | 5 +- .../settings/fn.set_from_database_url.html | 5 +- tests_migrate/settings/index.html | 7 +- tests_migrate/settings/struct.Captcha.html | 39 +- tests_migrate/settings/struct.Database.html | 39 +- .../settings/struct.DatabaseBuilder.html | 39 +- tests_migrate/settings/struct.Server.html | 39 +- tests_migrate/settings/struct.Settings.html | 39 +- tests_migrate/struct.Data.html | 39 +- tests_migrate/struct.SETTINGS.html | 35 +- tests_migrate/struct.Settings.html | 39 +- 149 files changed, 3862 insertions(+), 1261 deletions(-) create mode 100644 guard/api/v1/mcaptcha/domains/struct.Challenge.html create mode 100644 guard/api/v1/mcaptcha/domains/struct.get_challenge.html create mode 100644 guard/api/v1/mcaptcha/domains/struct.verify.html create mode 100644 guard/api/v1/mcaptcha/fn.get_random.html delete mode 100644 guard/api/v1/mcaptcha/mcaptcha/fn.get_random.html create mode 100644 kv_test_util/all.html create mode 100644 kv_test_util/fn.main.html create mode 100644 kv_test_util/fn.server.html create mode 100644 kv_test_util/fn.util_server_add.html create mode 100644 kv_test_util/fn.util_server_retrive.html create mode 100644 kv_test_util/index.html create mode 100644 kv_test_util/sidebar-items.js create mode 100644 kv_test_util/struct.Challenge.html create mode 100644 kv_test_util/type.UtilKVServer.html create mode 100644 src/kv_test_util/kvserver.rs.html diff --git a/dark.css b/dark.css index 85dec489..57e76d07 100644 --- a/dark.css +++ b/dark.css @@ -1 +1 @@ -body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{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)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.traitalias{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-focus:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;color:#2f2f2f;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;color:#2f2f2f;}.stab.portability>code{color:#ddd;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);color:black;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;} \ No newline at end of file +body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{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)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.traitalias{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-focus:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;color:#2f2f2f;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;color:#2f2f2f;}.stab.portability>code{color:#ddd;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;} \ No newline at end of file diff --git a/guard/all.html b/guard/all.html index a95b04b8..6adb2ecc 100644 --- a/guard/all.html +++ b/guard/all.html @@ -1,6 +1,7 @@ List of all items in this crate

[] + Change settings

List of all items[] - List of all items

Structs

Enums

Functions

Typedefs

Statics

\ No newline at end of file +

Structs

Enums

Functions

Typedefs

Statics

+ \ No newline at end of file diff --git a/guard/api/index.html b/guard/api/index.html index 6e3586ce..25747aeb 100644 --- a/guard/api/index.html +++ b/guard/api/index.html @@ -1,5 +1,6 @@ guard::api - Rust -

[][src]Module guard::api

Modules

-
v1
\ No newline at end of file +

Module guard::api[][src]

Modules

+
v1
+ \ No newline at end of file diff --git a/guard/api/v1/auth/fn.is_authenticated.html b/guard/api/v1/auth/fn.is_authenticated.html index 636cdca8..bbe4d08e 100644 --- a/guard/api/v1/auth/fn.is_authenticated.html +++ b/guard/api/v1/auth/fn.is_authenticated.html @@ -1,5 +1,6 @@ guard::api::v1::auth::is_authenticated - Rust -

[][src]Function guard::api::v1::auth::is_authenticated

pub fn is_authenticated(id: &Identity) -> Result<(), ServiceError>

Check if user is authenticated

-
\ No newline at end of file +

Function guard::api::v1::auth::is_authenticated[][src]

pub fn is_authenticated(id: &Identity) -> Result<(), ServiceError>

Check if user is authenticated

+
+ \ No newline at end of file diff --git a/guard/api/v1/auth/index.html b/guard/api/v1/auth/index.html index 7d0dc063..846c36a1 100644 --- a/guard/api/v1/auth/index.html +++ b/guard/api/v1/auth/index.html @@ -1,7 +1,8 @@ guard::api::v1::auth - Rust -

[][src]Module guard::api::v1::auth

Structs

+

Module guard::api::v1::auth[][src]

Structs

Login
Password
Register
delete_account
signin
signout
signup

Functions

is_authenticated

Check if user is authenticated

-
\ No newline at end of file +
+ \ No newline at end of file diff --git a/guard/api/v1/auth/struct.Login.html b/guard/api/v1/auth/struct.Login.html index 5aa0e386..20b3bb0e 100644 --- a/guard/api/v1/auth/struct.Login.html +++ b/guard/api/v1/auth/struct.Login.html @@ -1,18 +1,18 @@ guard::api::v1::auth::Login - Rust -

[][src]Struct guard::api::v1::auth::Login

pub struct Login {
+

Struct guard::api::v1::auth::Login[][src]

pub struct Login {
     pub username: String,
     pub password: String,
 }

Fields

username: Stringpassword: String

Trait Implementations

impl Clone for Login[src]

impl Debug for Login[src]

impl<'de> Deserialize<'de> for Login[src]

impl Serialize for Login[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/auth/struct.Password.html b/guard/api/v1/auth/struct.Password.html index a74f0dcc..4c668841 100644 --- a/guard/api/v1/auth/struct.Password.html +++ b/guard/api/v1/auth/struct.Password.html @@ -1,12 +1,12 @@ guard::api::v1::auth::Password - Rust -

[][src]Struct guard::api::v1::auth::Password

struct Password {
+

Struct guard::api::v1::auth::Password[][src]

struct Password {
     password: String,
 }

- Fields

password: String

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/auth/struct.Register.html b/guard/api/v1/auth/struct.Register.html index e2bcae89..9f472ab3 100644 --- a/guard/api/v1/auth/struct.Register.html +++ b/guard/api/v1/auth/struct.Register.html @@ -1,19 +1,19 @@ guard::api::v1::auth::Register - Rust -

[][src]Struct guard::api::v1::auth::Register

pub struct Register {
+

Struct guard::api::v1::auth::Register[][src]

pub struct Register {
     pub username: String,
     pub password: String,
     pub email: String,
 }

Fields

username: Stringpassword: Stringemail: String

Trait Implementations

impl Clone for Register[src]

impl Debug for Register[src]

impl<'de> Deserialize<'de> for Register[src]

impl Serialize for Register[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/auth/struct.delete_account.html b/guard/api/v1/auth/struct.delete_account.html index 05c7cb22..5a1708cb 100644 --- a/guard/api/v1/auth/struct.delete_account.html +++ b/guard/api/v1/auth/struct.delete_account.html @@ -1,9 +1,9 @@ guard::api::v1::auth::delete_account - Rust -

[][src]Struct guard::api::v1::auth::delete_account

pub struct delete_account;

Trait Implementations

impl HttpServiceFactory for delete_account[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/auth/struct.signin.html b/guard/api/v1/auth/struct.signin.html index 7e94afdc..18767d19 100644 --- a/guard/api/v1/auth/struct.signin.html +++ b/guard/api/v1/auth/struct.signin.html @@ -1,9 +1,9 @@ guard::api::v1::auth::signin - Rust -

[][src]Struct guard::api::v1::auth::signin

pub struct signin;

Trait Implementations

impl HttpServiceFactory for signin[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/auth/struct.signout.html b/guard/api/v1/auth/struct.signout.html index 26053d16..ba6b79ec 100644 --- a/guard/api/v1/auth/struct.signout.html +++ b/guard/api/v1/auth/struct.signout.html @@ -1,9 +1,9 @@ guard::api::v1::auth::signout - Rust -

[][src]Struct guard::api::v1::auth::signout

pub struct signout;

Trait Implementations

impl HttpServiceFactory for signout[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/auth/struct.signup.html b/guard/api/v1/auth/struct.signup.html index 4f748783..a5b138f0 100644 --- a/guard/api/v1/auth/struct.signup.html +++ b/guard/api/v1/auth/struct.signup.html @@ -1,9 +1,9 @@ guard::api::v1::auth::signup - Rust -

[][src]Struct guard::api::v1::auth::signup

pub struct signup;

Trait Implementations

impl HttpServiceFactory for signup[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/fn.services.html b/guard/api/v1/fn.services.html index cc46585a..051fbae1 100644 --- a/guard/api/v1/fn.services.html +++ b/guard/api/v1/fn.services.html @@ -1,4 +1,5 @@ guard::api::v1::services - Rust -

[][src]Function guard::api::v1::services

pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file +

Function guard::api::v1::services[][src]

pub fn services(cfg: &mut ServiceConfig)
+ \ No newline at end of file diff --git a/guard/api/v1/index.html b/guard/api/v1/index.html index 74b0e79e..ea57655d 100644 --- a/guard/api/v1/index.html +++ b/guard/api/v1/index.html @@ -1,6 +1,7 @@ guard::api::v1 - Rust -

[][src]Module guard::api::v1

Modules

+

Module guard::api::v1[][src]

Modules

auth
mcaptcha
meta

Functions

-
services
\ No newline at end of file +
services
+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/domains/index.html b/guard/api/v1/mcaptcha/domains/index.html index 6097da74..a3577711 100644 --- a/guard/api/v1/mcaptcha/domains/index.html +++ b/guard/api/v1/mcaptcha/domains/index.html @@ -1,5 +1,6 @@ guard::api::v1::mcaptcha::domains - Rust -

[][src]Module guard::api::v1::mcaptcha::domains

Structs

-
Domain
add_domain
delete_domain
\ No newline at end of file +

Module guard::api::v1::mcaptcha::domains[][src]

Structs

+
Challenge
Domain
add_domain
delete_domain
get_challenge
verify
+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/domains/sidebar-items.js b/guard/api/v1/mcaptcha/domains/sidebar-items.js index 5c40f72a..67373d4d 100644 --- a/guard/api/v1/mcaptcha/domains/sidebar-items.js +++ b/guard/api/v1/mcaptcha/domains/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Domain",""],["add_domain",""],["delete_domain",""]]}); \ No newline at end of file +initSidebarItems({"struct":[["Challenge",""],["Domain",""],["add_domain",""],["delete_domain",""],["get_challenge",""],["verify",""]]}); \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/domains/struct.Challenge.html b/guard/api/v1/mcaptcha/domains/struct.Challenge.html new file mode 100644 index 00000000..d7ee2ace --- /dev/null +++ b/guard/api/v1/mcaptcha/domains/struct.Challenge.html @@ -0,0 +1,124 @@ +guard::api::v1::mcaptcha::domains::Challenge - Rust + +

Struct guard::api::v1::mcaptcha::domains::Challenge[][src]

pub struct Challenge {
+    verification_challenge: String,
+}

+ Fields

verification_challenge: String

Trait Implementations

impl Clone for Challenge[src]

impl Debug for Challenge[src]

impl<'de> Deserialize<'de> for Challenge[src]

impl Serialize for Challenge[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Same<T> for T

type Output = T

Should always be Self

+

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

+

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/domains/struct.Domain.html b/guard/api/v1/mcaptcha/domains/struct.Domain.html index 9e39fdb5..02b1e832 100644 --- a/guard/api/v1/mcaptcha/domains/struct.Domain.html +++ b/guard/api/v1/mcaptcha/domains/struct.Domain.html @@ -1,17 +1,17 @@ guard::api::v1::mcaptcha::domains::Domain - Rust -

[][src]Struct guard::api::v1::mcaptcha::domains::Domain

pub struct Domain {
+

Struct guard::api::v1::mcaptcha::domains::Domain[][src]

pub struct Domain {
     pub name: String,
 }

- Fields

name: String

Trait Implementations

impl Clone for Domain[src]

impl Debug for Domain[src]

impl<'de> Deserialize<'de> for Domain[src]

impl Serialize for Domain[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/domains/struct.add_domain.html b/guard/api/v1/mcaptcha/domains/struct.add_domain.html index a144ee3f..6ea0a317 100644 --- a/guard/api/v1/mcaptcha/domains/struct.add_domain.html +++ b/guard/api/v1/mcaptcha/domains/struct.add_domain.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::domains::add_domain - Rust -

[][src]Struct guard::api::v1::mcaptcha::domains::add_domain

pub struct add_domain;

Trait Implementations

impl HttpServiceFactory for add_domain[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/domains/struct.delete_domain.html b/guard/api/v1/mcaptcha/domains/struct.delete_domain.html index 0ca4364b..e844f04c 100644 --- a/guard/api/v1/mcaptcha/domains/struct.delete_domain.html +++ b/guard/api/v1/mcaptcha/domains/struct.delete_domain.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::domains::delete_domain - Rust -

[][src]Struct guard::api::v1::mcaptcha::domains::delete_domain

pub struct delete_domain;

Trait Implementations

impl HttpServiceFactory for delete_domain[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/domains/struct.get_challenge.html b/guard/api/v1/mcaptcha/domains/struct.get_challenge.html new file mode 100644 index 00000000..076d30df --- /dev/null +++ b/guard/api/v1/mcaptcha/domains/struct.get_challenge.html @@ -0,0 +1,112 @@ +guard::api::v1::mcaptcha::domains::get_challenge - Rust + +

Struct guard::api::v1::mcaptcha::domains::get_challenge[][src]

pub struct get_challenge;

Trait Implementations

impl HttpServiceFactory for get_challenge[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Same<T> for T

type Output = T

Should always be Self

+

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/domains/struct.verify.html b/guard/api/v1/mcaptcha/domains/struct.verify.html new file mode 100644 index 00000000..48d5afba --- /dev/null +++ b/guard/api/v1/mcaptcha/domains/struct.verify.html @@ -0,0 +1,112 @@ +guard::api::v1::mcaptcha::domains::verify - Rust + +

Struct guard::api::v1::mcaptcha::domains::verify[][src]

pub struct verify;

Trait Implementations

impl HttpServiceFactory for verify[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Same<T> for T

type Output = T

Should always be Self

+

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/duration/index.html b/guard/api/v1/mcaptcha/duration/index.html index 16626043..e48364b6 100644 --- a/guard/api/v1/mcaptcha/duration/index.html +++ b/guard/api/v1/mcaptcha/duration/index.html @@ -1,5 +1,6 @@ guard::api::v1::mcaptcha::duration - Rust -

[][src]Module guard::api::v1::mcaptcha::duration

Structs

-
GetDuration
GetDurationResp
UpdateDuration
get_duration
update_duration
\ No newline at end of file +

Module guard::api::v1::mcaptcha::duration[][src]

Structs

+
GetDuration
GetDurationResp
UpdateDuration
get_duration
update_duration
+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/duration/struct.GetDuration.html b/guard/api/v1/mcaptcha/duration/struct.GetDuration.html index f28d6fea..1be87b9b 100644 --- a/guard/api/v1/mcaptcha/duration/struct.GetDuration.html +++ b/guard/api/v1/mcaptcha/duration/struct.GetDuration.html @@ -1,14 +1,14 @@ guard::api::v1::mcaptcha::duration::GetDuration - Rust -

[][src]Struct guard::api::v1::mcaptcha::duration::GetDuration

pub struct GetDuration {
+

Struct guard::api::v1::mcaptcha::duration::GetDuration[][src]

pub struct GetDuration {
     pub token: String,
 }

Fields

token: String

Trait Implementations

impl<'de> Deserialize<'de> for GetDuration[src]

impl Serialize for GetDuration[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/duration/struct.GetDurationResp.html b/guard/api/v1/mcaptcha/duration/struct.GetDurationResp.html index 8f2f1118..0874e44f 100644 --- a/guard/api/v1/mcaptcha/duration/struct.GetDurationResp.html +++ b/guard/api/v1/mcaptcha/duration/struct.GetDurationResp.html @@ -1,14 +1,14 @@ guard::api::v1::mcaptcha::duration::GetDurationResp - Rust -

[][src]Struct guard::api::v1::mcaptcha::duration::GetDurationResp

pub struct GetDurationResp {
+

Struct guard::api::v1::mcaptcha::duration::GetDurationResp[][src]

pub struct GetDurationResp {
     pub duration: i32,
 }

Fields

duration: i32

Trait Implementations

impl<'de> Deserialize<'de> for GetDurationResp[src]

impl Serialize for GetDurationResp[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/duration/struct.UpdateDuration.html b/guard/api/v1/mcaptcha/duration/struct.UpdateDuration.html index fd8f54c1..22ecc58d 100644 --- a/guard/api/v1/mcaptcha/duration/struct.UpdateDuration.html +++ b/guard/api/v1/mcaptcha/duration/struct.UpdateDuration.html @@ -1,15 +1,15 @@ guard::api::v1::mcaptcha::duration::UpdateDuration - Rust -

[][src]Struct guard::api::v1::mcaptcha::duration::UpdateDuration

pub struct UpdateDuration {
+

Struct guard::api::v1::mcaptcha::duration::UpdateDuration[][src]

pub struct UpdateDuration {
     pub token_name: String,
     pub duration: i32,
 }

Fields

token_name: Stringduration: i32

Trait Implementations

impl<'de> Deserialize<'de> for UpdateDuration[src]

impl Serialize for UpdateDuration[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/duration/struct.get_duration.html b/guard/api/v1/mcaptcha/duration/struct.get_duration.html index 7a23f32a..64a0f208 100644 --- a/guard/api/v1/mcaptcha/duration/struct.get_duration.html +++ b/guard/api/v1/mcaptcha/duration/struct.get_duration.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::duration::get_duration - Rust -

[][src]Struct guard::api::v1::mcaptcha::duration::get_duration

pub struct get_duration;

Trait Implementations

impl HttpServiceFactory for get_duration[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/duration/struct.update_duration.html b/guard/api/v1/mcaptcha/duration/struct.update_duration.html index 237b31b1..efd884f0 100644 --- a/guard/api/v1/mcaptcha/duration/struct.update_duration.html +++ b/guard/api/v1/mcaptcha/duration/struct.update_duration.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::duration::update_duration - Rust -

[][src]Struct guard::api::v1::mcaptcha::duration::update_duration

pub struct update_duration;

Trait Implementations

impl HttpServiceFactory for update_duration[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/fn.get_random.html b/guard/api/v1/mcaptcha/fn.get_random.html new file mode 100644 index 00000000..ebaa736f --- /dev/null +++ b/guard/api/v1/mcaptcha/fn.get_random.html @@ -0,0 +1,5 @@ +guard::api::v1::mcaptcha::get_random - Rust + +

Function guard::api::v1::mcaptcha::get_random[][src]

pub fn get_random(len: usize) -> String
+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/index.html b/guard/api/v1/mcaptcha/index.html index a1c60d57..029b19a4 100644 --- a/guard/api/v1/mcaptcha/index.html +++ b/guard/api/v1/mcaptcha/index.html @@ -1,6 +1,8 @@ guard::api::v1::mcaptcha - Rust -

[][src]Module guard::api::v1::mcaptcha

Re-exports

+

Module guard::api::v1::mcaptcha[][src]

Re-exports

pub use super::auth::is_authenticated;

Modules

-
domains
duration
levels
mcaptcha
\ No newline at end of file +
domains
duration
levels
mcaptcha

Functions

+
get_random
+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/fn.get_levels_util.html b/guard/api/v1/mcaptcha/levels/fn.get_levels_util.html index 007b8a9a..37c3e0a5 100644 --- a/guard/api/v1/mcaptcha/levels/fn.get_levels_util.html +++ b/guard/api/v1/mcaptcha/levels/fn.get_levels_util.html @@ -1,4 +1,5 @@ guard::api::v1::mcaptcha::levels::get_levels_util - Rust -

[][src]Function guard::api::v1::mcaptcha::levels::get_levels_util

async fn get_levels_util(
    name: &str,
    data: &Data
) -> Result<Vec<I32Levels>, ServiceError>
\ No newline at end of file +

Function guard::api::v1::mcaptcha::levels::get_levels_util[][src]

async fn get_levels_util(
    name: &str,
    data: &Data
) -> Result<Vec<I32Levels>, ServiceError>
+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/index.html b/guard/api/v1/mcaptcha/levels/index.html index 4377163e..953b6dbe 100644 --- a/guard/api/v1/mcaptcha/levels/index.html +++ b/guard/api/v1/mcaptcha/levels/index.html @@ -1,6 +1,7 @@ guard::api::v1::mcaptcha::levels - Rust -

[][src]Module guard::api::v1::mcaptcha::levels

Structs

+

Module guard::api::v1::mcaptcha::levels[][src]

Structs

AddLevels
GetLevels
I32Levels
Levels
add_levels
delete_levels
get_levels
update_levels

Functions

-
get_levels_util
\ No newline at end of file +
get_levels_util
+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/struct.AddLevels.html b/guard/api/v1/mcaptcha/levels/struct.AddLevels.html index a99bec68..ff53277f 100644 --- a/guard/api/v1/mcaptcha/levels/struct.AddLevels.html +++ b/guard/api/v1/mcaptcha/levels/struct.AddLevels.html @@ -1,15 +1,15 @@ guard::api::v1::mcaptcha::levels::AddLevels - Rust -

[][src]Struct guard::api::v1::mcaptcha::levels::AddLevels

pub struct AddLevels {
+

Struct guard::api::v1::mcaptcha::levels::AddLevels[][src]

pub struct AddLevels {
     pub levels: Vec<Level>,
     pub name: String,
 }

Fields

levels: Vec<Level>name: String

Trait Implementations

impl<'de> Deserialize<'de> for AddLevels[src]

impl Serialize for AddLevels[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/struct.GetLevels.html b/guard/api/v1/mcaptcha/levels/struct.GetLevels.html index 1b8c1462..360b5e73 100644 --- a/guard/api/v1/mcaptcha/levels/struct.GetLevels.html +++ b/guard/api/v1/mcaptcha/levels/struct.GetLevels.html @@ -1,14 +1,14 @@ guard::api::v1::mcaptcha::levels::GetLevels - Rust -

[][src]Struct guard::api::v1::mcaptcha::levels::GetLevels

pub struct GetLevels {
+

Struct guard::api::v1::mcaptcha::levels::GetLevels[][src]

pub struct GetLevels {
     pub token: String,
 }

Fields

token: String

Trait Implementations

impl<'de> Deserialize<'de> for GetLevels[src]

impl Serialize for GetLevels[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/struct.I32Levels.html b/guard/api/v1/mcaptcha/levels/struct.I32Levels.html index 5fca8c3c..5f53bf86 100644 --- a/guard/api/v1/mcaptcha/levels/struct.I32Levels.html +++ b/guard/api/v1/mcaptcha/levels/struct.I32Levels.html @@ -1,15 +1,15 @@ guard::api::v1::mcaptcha::levels::I32Levels - Rust -

[][src]Struct guard::api::v1::mcaptcha::levels::I32Levels

pub struct I32Levels {
+

Struct guard::api::v1::mcaptcha::levels::I32Levels[][src]

pub struct I32Levels {
     difficulty_factor: i32,
     visitor_threshold: i32,
 }

Fields

difficulty_factor: i32visitor_threshold: i32

Trait Implementations

impl<'de> Deserialize<'de> for I32Levels[src]

impl Serialize for I32Levels[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/struct.Levels.html b/guard/api/v1/mcaptcha/levels/struct.Levels.html index 05d6c2cb..a2de3313 100644 --- a/guard/api/v1/mcaptcha/levels/struct.Levels.html +++ b/guard/api/v1/mcaptcha/levels/struct.Levels.html @@ -1,14 +1,14 @@ guard::api::v1::mcaptcha::levels::Levels - Rust -

[][src]Struct guard::api::v1::mcaptcha::levels::Levels

pub struct Levels {
+

Struct guard::api::v1::mcaptcha::levels::Levels[][src]

pub struct Levels {
     levels: I32Levels,
 }

Fields

levels: I32Levels

Trait Implementations

impl<'de> Deserialize<'de> for Levels[src]

impl Serialize for Levels[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/struct.add_levels.html b/guard/api/v1/mcaptcha/levels/struct.add_levels.html index e1813e0e..5d3021c0 100644 --- a/guard/api/v1/mcaptcha/levels/struct.add_levels.html +++ b/guard/api/v1/mcaptcha/levels/struct.add_levels.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::levels::add_levels - Rust -

[][src]Struct guard::api::v1::mcaptcha::levels::add_levels

pub struct add_levels;

Trait Implementations

impl HttpServiceFactory for add_levels[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/struct.delete_levels.html b/guard/api/v1/mcaptcha/levels/struct.delete_levels.html index c1903703..0b45bc26 100644 --- a/guard/api/v1/mcaptcha/levels/struct.delete_levels.html +++ b/guard/api/v1/mcaptcha/levels/struct.delete_levels.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::levels::delete_levels - Rust -

[][src]Struct guard::api::v1::mcaptcha::levels::delete_levels

pub struct delete_levels;

Trait Implementations

impl HttpServiceFactory for delete_levels[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/struct.get_levels.html b/guard/api/v1/mcaptcha/levels/struct.get_levels.html index 747767fd..73357ef2 100644 --- a/guard/api/v1/mcaptcha/levels/struct.get_levels.html +++ b/guard/api/v1/mcaptcha/levels/struct.get_levels.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::levels::get_levels - Rust -

[][src]Struct guard::api::v1::mcaptcha::levels::get_levels

pub struct get_levels;

Trait Implementations

impl HttpServiceFactory for get_levels[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/levels/struct.update_levels.html b/guard/api/v1/mcaptcha/levels/struct.update_levels.html index 257c37b4..3074bda9 100644 --- a/guard/api/v1/mcaptcha/levels/struct.update_levels.html +++ b/guard/api/v1/mcaptcha/levels/struct.update_levels.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::levels::update_levels - Rust -

[][src]Struct guard::api::v1::mcaptcha::levels::update_levels

pub struct update_levels;

Trait Implementations

impl HttpServiceFactory for update_levels[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/mcaptcha/fn.get_random.html b/guard/api/v1/mcaptcha/mcaptcha/fn.get_random.html deleted file mode 100644 index 9e6fc8e3..00000000 --- a/guard/api/v1/mcaptcha/mcaptcha/fn.get_random.html +++ /dev/null @@ -1,4 +0,0 @@ -guard::api::v1::mcaptcha::mcaptcha::get_random - Rust - -

[][src]Function guard::api::v1::mcaptcha::mcaptcha::get_random

fn get_random(len: usize) -> String
\ No newline at end of file diff --git a/guard/api/v1/mcaptcha/mcaptcha/index.html b/guard/api/v1/mcaptcha/mcaptcha/index.html index 196d7b7a..b218bf55 100644 --- a/guard/api/v1/mcaptcha/mcaptcha/index.html +++ b/guard/api/v1/mcaptcha/mcaptcha/index.html @@ -1,6 +1,6 @@ guard::api::v1::mcaptcha::mcaptcha - Rust -

[][src]Module guard::api::v1::mcaptcha::mcaptcha

Structs

-
MCaptchaDetails
MCaptchaID
add_mcaptcha
delete_mcaptcha

Functions

-
get_random
\ No newline at end of file +

Module guard::api::v1::mcaptcha::mcaptcha[][src]

Structs

+
MCaptchaDetails
MCaptchaID
add_mcaptcha
delete_mcaptcha
+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/mcaptcha/sidebar-items.js b/guard/api/v1/mcaptcha/mcaptcha/sidebar-items.js index 865b8007..d9e530d7 100644 --- a/guard/api/v1/mcaptcha/mcaptcha/sidebar-items.js +++ b/guard/api/v1/mcaptcha/mcaptcha/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["get_random",""]],"struct":[["MCaptchaDetails",""],["MCaptchaID",""],["add_mcaptcha",""],["delete_mcaptcha",""]]}); \ No newline at end of file +initSidebarItems({"struct":[["MCaptchaDetails",""],["MCaptchaID",""],["add_mcaptcha",""],["delete_mcaptcha",""]]}); \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/mcaptcha/struct.MCaptchaDetails.html b/guard/api/v1/mcaptcha/mcaptcha/struct.MCaptchaDetails.html index a48fc349..8a970937 100644 --- a/guard/api/v1/mcaptcha/mcaptcha/struct.MCaptchaDetails.html +++ b/guard/api/v1/mcaptcha/mcaptcha/struct.MCaptchaDetails.html @@ -1,18 +1,18 @@ guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails - Rust -

[][src]Struct guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails

pub struct MCaptchaDetails {
+

Struct guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails[][src]

pub struct MCaptchaDetails {
     pub name: String,
     pub key: String,
 }

Fields

name: Stringkey: String

Trait Implementations

impl Clone for MCaptchaDetails[src]

impl Debug for MCaptchaDetails[src]

impl<'de> Deserialize<'de> for MCaptchaDetails[src]

impl Serialize for MCaptchaDetails[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/mcaptcha/struct.MCaptchaID.html b/guard/api/v1/mcaptcha/mcaptcha/struct.MCaptchaID.html index c3b2b13a..aa1b026d 100644 --- a/guard/api/v1/mcaptcha/mcaptcha/struct.MCaptchaID.html +++ b/guard/api/v1/mcaptcha/mcaptcha/struct.MCaptchaID.html @@ -1,18 +1,18 @@ guard::api::v1::mcaptcha::mcaptcha::MCaptchaID - Rust -

[][src]Struct guard::api::v1::mcaptcha::mcaptcha::MCaptchaID

pub struct MCaptchaID {
+

Struct guard::api::v1::mcaptcha::mcaptcha::MCaptchaID[][src]

pub struct MCaptchaID {
     pub name: String,
     pub domain: String,
 }

Fields

name: Stringdomain: String

Trait Implementations

impl Clone for MCaptchaID[src]

impl Debug for MCaptchaID[src]

impl<'de> Deserialize<'de> for MCaptchaID[src]

impl Serialize for MCaptchaID[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/mcaptcha/struct.add_mcaptcha.html b/guard/api/v1/mcaptcha/mcaptcha/struct.add_mcaptcha.html index 09e8e321..6cd5089a 100644 --- a/guard/api/v1/mcaptcha/mcaptcha/struct.add_mcaptcha.html +++ b/guard/api/v1/mcaptcha/mcaptcha/struct.add_mcaptcha.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::mcaptcha::add_mcaptcha - Rust -

[][src]Struct guard::api::v1::mcaptcha::mcaptcha::add_mcaptcha

pub struct add_mcaptcha;

Trait Implementations

impl HttpServiceFactory for add_mcaptcha[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/mcaptcha/struct.delete_mcaptcha.html b/guard/api/v1/mcaptcha/mcaptcha/struct.delete_mcaptcha.html index 1a05fdef..10773aa9 100644 --- a/guard/api/v1/mcaptcha/mcaptcha/struct.delete_mcaptcha.html +++ b/guard/api/v1/mcaptcha/mcaptcha/struct.delete_mcaptcha.html @@ -1,9 +1,9 @@ guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha - Rust -

[][src]Struct guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha

pub struct delete_mcaptcha;

Trait Implementations

impl HttpServiceFactory for delete_mcaptcha[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/mcaptcha/sidebar-items.js b/guard/api/v1/mcaptcha/sidebar-items.js index 0c9cbf6e..17330cc2 100644 --- a/guard/api/v1/mcaptcha/sidebar-items.js +++ b/guard/api/v1/mcaptcha/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["domains",""],["duration",""],["levels",""],["mcaptcha",""]]}); \ No newline at end of file +initSidebarItems({"fn":[["get_random",""]],"mod":[["domains",""],["duration",""],["levels",""],["mcaptcha",""]]}); \ No newline at end of file diff --git a/guard/api/v1/meta/index.html b/guard/api/v1/meta/index.html index bb178587..3d5fc45d 100644 --- a/guard/api/v1/meta/index.html +++ b/guard/api/v1/meta/index.html @@ -1,7 +1,8 @@ guard::api::v1::meta - Rust -

[][src]Module guard::api::v1::meta

Structs

+

Module guard::api::v1::meta[][src]

Structs

Health

Health check return datatype

HealthBuilder

Builder for Health.

-
build_details
health
\ No newline at end of file +build_detailshealth
+ \ No newline at end of file diff --git a/guard/api/v1/meta/struct.Health.html b/guard/api/v1/meta/struct.Health.html index 2dc9b18b..d22961f2 100644 --- a/guard/api/v1/meta/struct.Health.html +++ b/guard/api/v1/meta/struct.Health.html @@ -1,18 +1,18 @@ guard::api::v1::meta::Health - Rust -

[][src]Struct guard::api::v1::meta::Health

pub struct Health {
+

Struct guard::api::v1::meta::Health[][src]

pub struct Health {
     db: bool,
 }

Health check return datatype

Fields

db: bool

Trait Implementations

impl Clone for Health[src]

impl Debug for Health[src]

impl<'de> Deserialize<'de> for Health[src]

impl Serialize for Health[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/meta/struct.HealthBuilder.html b/guard/api/v1/meta/struct.HealthBuilder.html index d92c62ae..3a326cc1 100644 --- a/guard/api/v1/meta/struct.HealthBuilder.html +++ b/guard/api/v1/meta/struct.HealthBuilder.html @@ -1,7 +1,7 @@ guard::api::v1::meta::HealthBuilder - Rust -

[][src]Struct guard::api::v1::meta::HealthBuilder

pub struct HealthBuilder {
+

Struct guard::api::v1::meta::HealthBuilder[][src]

pub struct HealthBuilder {
     db: Option<bool>,
 }

Builder for Health.

@@ -9,11 +9,11 @@

Errors

If a required field has not been initialized.

Trait Implementations

impl Clone for HealthBuilder[src]

impl Default for HealthBuilder[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/meta/struct.build_details.html b/guard/api/v1/meta/struct.build_details.html index 6ed2227b..c56b10d9 100644 --- a/guard/api/v1/meta/struct.build_details.html +++ b/guard/api/v1/meta/struct.build_details.html @@ -1,9 +1,9 @@ guard::api::v1::meta::build_details - Rust -

[][src]Struct guard::api::v1::meta::build_details

pub struct build_details;

Trait Implementations

impl HttpServiceFactory for build_details[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/api/v1/meta/struct.health.html b/guard/api/v1/meta/struct.health.html index afbf5fbd..33c87fc7 100644 --- a/guard/api/v1/meta/struct.health.html +++ b/guard/api/v1/meta/struct.health.html @@ -1,9 +1,9 @@ guard::api::v1::meta::health - Rust -

[][src]Struct guard::api::v1::meta::health

pub struct health;

Trait Implementations

impl HttpServiceFactory for health[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/data/index.html b/guard/data/index.html index 7ce5534f..da05b0f2 100644 --- a/guard/data/index.html +++ b/guard/data/index.html @@ -1,5 +1,6 @@ guard::data - Rust -

[][src]Module guard::data

Structs

-
Data
\ No newline at end of file +

Module guard::data[][src]

Structs

+
Data
+ \ No newline at end of file diff --git a/guard/data/struct.Data.html b/guard/data/struct.Data.html index 2df10f5e..00b5e0a0 100644 --- a/guard/data/struct.Data.html +++ b/guard/data/struct.Data.html @@ -1,16 +1,16 @@ guard::data::Data - Rust -

[][src]Struct guard::data::Data

pub struct Data {
+

Struct guard::data::Data[][src]

pub struct Data {
     pub db: PgPool,
     pub creds: Config,
     pub captcha: System<HashCache>,
 }

Fields

db: PgPoolcreds: Configcaptcha: System<HashCache>

Implementations

impl Data[src]

pub async fn new() -> Self[src]

Trait Implementations

impl Clone for Data[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/errors/enum.ServiceError.html b/guard/errors/enum.ServiceError.html index 3df43e49..067fbf25 100644 --- a/guard/errors/enum.ServiceError.html +++ b/guard/errors/enum.ServiceError.html @@ -1,7 +1,7 @@ guard::errors::ServiceError - Rust -

[][src]Enum guard::errors::ServiceError

pub enum ServiceError {
+

Enum guard::errors::ServiceError[][src]

pub enum ServiceError {
     InternalServerError,
     NotAnEmail,
     NotAUrl,
@@ -17,6 +17,9 @@
     TokenNameTaken,
     HostnameTaken,
     CaptchaError(CaptchaError),
+    ClientServerUnreachable,
+    ChallengeCourruption,
+    ChallengeVerificationFailure,
 }

Variants

InternalServerError
NotAnEmail
NotAUrl
WrongPassword
UsernameNotFound
AuthorizationRequired
ProfainityError

when the value passed contains profainity

@@ -28,27 +31,28 @@ profile

PasswordTooShort
PasswordTooLong
UsernameTaken

when the a username is already taken

TokenNameTaken

when the a token name is already taken

HostnameTaken

when the a host name is already taken

-
CaptchaError(CaptchaError)

Trait Implementations

impl Clone for ServiceError[src]

impl Debug for ServiceError[src]

impl Display for ServiceError[src]

impl Error for ServiceError[src]

impl From<CaptchaError> for ServiceError[src]

impl From<CredsError> for ServiceError[src]

impl From<Error> for ServiceError[src]

impl From<ParseError> for ServiceError[src]

impl From<ValidationErrors> for ServiceError[src]

impl PartialEq<ServiceError> for ServiceError[src]

CaptchaError(CaptchaError)
ClientServerUnreachable
ChallengeCourruption
ChallengeVerificationFailure

Trait Implementations

impl Clone for ServiceError[src]

impl Debug for ServiceError[src]

impl Display for ServiceError[src]

impl Error for ServiceError[src]

impl From<CaptchaError> for ServiceError[src]

impl From<CredsError> for ServiceError[src]

impl From<Error> for ServiceError[src]

impl From<ParseError> for ServiceError[src]

impl From<SendRequestError> for ServiceError[src]

impl From<ValidationErrors> for ServiceError[src]

impl PartialEq<ServiceError> for ServiceError[src]

impl ResponseError for ServiceError[src]

impl StructuralPartialEq for ServiceError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl ResponseError for ServiceError[src]

impl StructuralPartialEq for ServiceError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/errors/fn.dup_error.html b/guard/errors/fn.dup_error.html index c92dbb00..8211098f 100644 --- a/guard/errors/fn.dup_error.html +++ b/guard/errors/fn.dup_error.html @@ -1,4 +1,5 @@ guard::errors::dup_error - Rust -

[][src]Function guard::errors::dup_error

pub fn dup_error(e: Error, dup_error: ServiceError) -> ServiceError
\ No newline at end of file +

Function guard::errors::dup_error[][src]

pub fn dup_error(e: Error, dup_error: ServiceError) -> ServiceError
+ \ No newline at end of file diff --git a/guard/errors/index.html b/guard/errors/index.html index 2a6423a4..6df6af8e 100644 --- a/guard/errors/index.html +++ b/guard/errors/index.html @@ -1,8 +1,9 @@ guard::errors - Rust -

[][src]Module guard::errors

Structs

+

Module guard::errors[][src]

Structs

ErrorToResponse

Enums

ServiceError

Functions

dup_error

Type Definitions

-
ServiceResult
\ No newline at end of file +
ServiceResult
+ \ No newline at end of file diff --git a/guard/errors/struct.ErrorToResponse.html b/guard/errors/struct.ErrorToResponse.html index 1d074465..db38a88e 100644 --- a/guard/errors/struct.ErrorToResponse.html +++ b/guard/errors/struct.ErrorToResponse.html @@ -1,14 +1,14 @@ guard::errors::ErrorToResponse - Rust -

[][src]Struct guard::errors::ErrorToResponse

pub struct ErrorToResponse {
+

Struct guard::errors::ErrorToResponse[][src]

pub struct ErrorToResponse {
     pub error: String,
 }

- Fields

error: String

Trait Implementations

impl<'de> Deserialize<'de> for ErrorToResponse[src]

impl Serialize for ErrorToResponse[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/errors/type.ServiceResult.html b/guard/errors/type.ServiceResult.html index 6d490bc0..26ffa37c 100644 --- a/guard/errors/type.ServiceResult.html +++ b/guard/errors/type.ServiceResult.html @@ -1,4 +1,5 @@ guard::errors::ServiceResult - Rust -

[][src]Type Definition guard::errors::ServiceResult

type ServiceResult<V> = Result<V, ServiceError>;
\ No newline at end of file +

Type Definition guard::errors::ServiceResult[][src]

type ServiceResult<V> = Result<V, ServiceError>;
+ \ No newline at end of file diff --git a/guard/fn.get_identity_service.html b/guard/fn.get_identity_service.html index 505afa8c..c7f85b10 100644 --- a/guard/fn.get_identity_service.html +++ b/guard/fn.get_identity_service.html @@ -1,4 +1,5 @@ guard::get_identity_service - Rust -

[][src]Function guard::get_identity_service

pub fn get_identity_service() -> IdentityService<CookieIdentityPolicy>
\ No newline at end of file +

Function guard::get_identity_service[][src]

pub fn get_identity_service() -> IdentityService<CookieIdentityPolicy>
+ \ No newline at end of file diff --git a/guard/fn.get_json_err.html b/guard/fn.get_json_err.html index 99718eb6..7ce5d907 100644 --- a/guard/fn.get_json_err.html +++ b/guard/fn.get_json_err.html @@ -1,4 +1,5 @@ guard::get_json_err - Rust -

[][src]Function guard::get_json_err

pub fn get_json_err() -> JsonConfig
\ No newline at end of file +

Function guard::get_json_err[][src]

pub fn get_json_err() -> JsonConfig
+ \ No newline at end of file diff --git a/guard/fn.main.html b/guard/fn.main.html index 5c36603e..065ed23b 100644 --- a/guard/fn.main.html +++ b/guard/fn.main.html @@ -1,4 +1,5 @@ guard::main - Rust -

[][src]Function guard::main

pub(crate) fn main() -> Result<()>
\ No newline at end of file +

Function guard::main[][src]

pub(crate) fn main() -> Result<()>
+ \ No newline at end of file diff --git a/guard/index.html b/guard/index.html index 8e6b399a..b7c83621 100644 --- a/guard/index.html +++ b/guard/index.html @@ -1,8 +1,9 @@ guard - Rust -

[][src]Crate guard

Modules

+

Crate guard[][src]

Modules

api
data
errors
settings

Structs

Data
GIT_COMMIT_HASH
SETTINGS
Settings

Statics

PKG_DESCRIPTION
PKG_HOMEPAGE
PKG_NAME
VERSION

Functions

-
get_identity_service
get_json_err
main
\ No newline at end of file +
get_identity_service
get_json_err
main
+ \ No newline at end of file diff --git a/guard/settings/fn.set_database_url.html b/guard/settings/fn.set_database_url.html index a5ff59b9..364def5c 100644 --- a/guard/settings/fn.set_database_url.html +++ b/guard/settings/fn.set_database_url.html @@ -1,4 +1,5 @@ guard::settings::set_database_url - Rust -

[][src]Function guard::settings::set_database_url

fn set_database_url(s: &mut Config)
\ No newline at end of file +

Function guard::settings::set_database_url[][src]

fn set_database_url(s: &mut Config)
+ \ No newline at end of file diff --git a/guard/settings/fn.set_from_database_url.html b/guard/settings/fn.set_from_database_url.html index 2f0719fe..ab8f0aa8 100644 --- a/guard/settings/fn.set_from_database_url.html +++ b/guard/settings/fn.set_from_database_url.html @@ -1,4 +1,5 @@ guard::settings::set_from_database_url - Rust -

[][src]Function guard::settings::set_from_database_url

fn set_from_database_url(s: &mut Config, database_conf: &DatabaseBuilder)
\ No newline at end of file +

Function guard::settings::set_from_database_url[][src]

fn set_from_database_url(s: &mut Config, database_conf: &DatabaseBuilder)
+ \ No newline at end of file diff --git a/guard/settings/index.html b/guard/settings/index.html index 2f9dfcfc..70244322 100644 --- a/guard/settings/index.html +++ b/guard/settings/index.html @@ -1,6 +1,7 @@ guard::settings - Rust -

[][src]Module guard::settings

Structs

+

Module guard::settings[][src]

Structs

Captcha
Database
DatabaseBuilder
Server
Settings

Functions

-
set_database_url
set_from_database_url
\ No newline at end of file +
set_database_url
set_from_database_url
+ \ No newline at end of file diff --git a/guard/settings/struct.Captcha.html b/guard/settings/struct.Captcha.html index 80a1b5f0..28db8896 100644 --- a/guard/settings/struct.Captcha.html +++ b/guard/settings/struct.Captcha.html @@ -1,17 +1,17 @@ guard::settings::Captcha - Rust -

[][src]Struct guard::settings::Captcha

pub struct Captcha {
+

Struct guard::settings::Captcha[][src]

pub struct Captcha {
     pub salt: String,
     pub gc: u64,
 }

Fields

salt: Stringgc: u64

Trait Implementations

impl Clone for Captcha[src]

impl Debug for Captcha[src]

impl<'de> Deserialize<'de> for Captcha[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/settings/struct.Database.html b/guard/settings/struct.Database.html index cb09a756..7dfd43d8 100644 --- a/guard/settings/struct.Database.html +++ b/guard/settings/struct.Database.html @@ -1,17 +1,17 @@ guard::settings::Database - Rust -

[][src]Struct guard::settings::Database

pub struct Database {
+

Struct guard::settings::Database[][src]

pub struct Database {
     pub url: String,
     pub pool: u32,
 }

Fields

url: Stringpool: u32

Trait Implementations

impl Clone for Database[src]

impl Debug for Database[src]

impl<'de> Deserialize<'de> for Database[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/settings/struct.DatabaseBuilder.html b/guard/settings/struct.DatabaseBuilder.html index 7ead7893..81bcadfe 100644 --- a/guard/settings/struct.DatabaseBuilder.html +++ b/guard/settings/struct.DatabaseBuilder.html @@ -1,7 +1,7 @@ guard::settings::DatabaseBuilder - Rust -

[][src]Struct guard::settings::DatabaseBuilder

struct DatabaseBuilder {
+

Struct guard::settings::DatabaseBuilder[][src]

struct DatabaseBuilder {
     pub port: u32,
     pub hostname: String,
     pub username: String,
@@ -10,12 +10,12 @@
     pub url: String,
 }

Fields

port: u32hostname: Stringusername: Stringpassword: Stringname: Stringurl: String

Implementations

impl DatabaseBuilder[src]

fn extract_database_url(url: &Url) -> Self[src]

Trait Implementations

impl Clone for DatabaseBuilder[src]

impl Debug for DatabaseBuilder[src]

impl<'de> Deserialize<'de> for DatabaseBuilder[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/settings/struct.Server.html b/guard/settings/struct.Server.html index 9ef516d5..fea26c89 100644 --- a/guard/settings/struct.Server.html +++ b/guard/settings/struct.Server.html @@ -1,7 +1,7 @@ guard::settings::Server - Rust -

[][src]Struct guard::settings::Server

pub struct Server {
+

Struct guard::settings::Server[][src]

pub struct Server {
     pub allow_registration: bool,
     pub port: u32,
     pub domain: String,
@@ -9,12 +9,12 @@
     pub ip: String,
 }

Fields

allow_registration: boolport: u32domain: Stringcookie_secret: Stringip: String

Implementations

impl Server[src]

pub fn get_ip(&self) -> String[src]

Trait Implementations

impl Clone for Server[src]

impl Debug for Server[src]

impl<'de> Deserialize<'de> for Server[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/settings/struct.Settings.html b/guard/settings/struct.Settings.html index a5f89c6b..f3de36b5 100644 --- a/guard/settings/struct.Settings.html +++ b/guard/settings/struct.Settings.html @@ -1,19 +1,19 @@ guard::settings::Settings - Rust -

[][src]Struct guard::settings::Settings

pub struct Settings {
+

Struct guard::settings::Settings[][src]

pub struct Settings {
     pub debug: bool,
     pub database: Database,
     pub server: Server,
     pub pow: Captcha,
 }

Fields

debug: booldatabase: Databaseserver: Serverpow: Captcha

Implementations

impl Settings[src]

pub fn new() -> Result<Self, ConfigError>[src]

Trait Implementations

impl Clone for Settings[src]

impl Debug for Settings[src]

impl<'de> Deserialize<'de> for Settings[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/static.PKG_DESCRIPTION.html b/guard/static.PKG_DESCRIPTION.html index cc81b734..3b2e8d4c 100644 --- a/guard/static.PKG_DESCRIPTION.html +++ b/guard/static.PKG_DESCRIPTION.html @@ -1,4 +1,5 @@ guard::PKG_DESCRIPTION - Rust -

[][src]Static guard::PKG_DESCRIPTION

pub static PKG_DESCRIPTION: &str
\ No newline at end of file +

Static guard::PKG_DESCRIPTION[][src]

pub static PKG_DESCRIPTION: &str
+ \ No newline at end of file diff --git a/guard/static.PKG_HOMEPAGE.html b/guard/static.PKG_HOMEPAGE.html index d682441f..f1ac7e21 100644 --- a/guard/static.PKG_HOMEPAGE.html +++ b/guard/static.PKG_HOMEPAGE.html @@ -1,4 +1,5 @@ guard::PKG_HOMEPAGE - Rust -

[][src]Static guard::PKG_HOMEPAGE

pub static PKG_HOMEPAGE: &str
\ No newline at end of file +

Static guard::PKG_HOMEPAGE[][src]

pub static PKG_HOMEPAGE: &str
+ \ No newline at end of file diff --git a/guard/static.PKG_NAME.html b/guard/static.PKG_NAME.html index 48b6001a..14db2ebd 100644 --- a/guard/static.PKG_NAME.html +++ b/guard/static.PKG_NAME.html @@ -1,4 +1,5 @@ guard::PKG_NAME - Rust -

[][src]Static guard::PKG_NAME

pub static PKG_NAME: &str
\ No newline at end of file +

Static guard::PKG_NAME[][src]

pub static PKG_NAME: &str
+ \ No newline at end of file diff --git a/guard/static.VERSION.html b/guard/static.VERSION.html index 749766fb..1869067d 100644 --- a/guard/static.VERSION.html +++ b/guard/static.VERSION.html @@ -1,4 +1,5 @@ guard::VERSION - Rust -

[][src]Static guard::VERSION

pub static VERSION: &str
\ No newline at end of file +

Static guard::VERSION[][src]

pub static VERSION: &str
+ \ No newline at end of file diff --git a/guard/struct.Data.html b/guard/struct.Data.html index 86b14dd6..9dd803fd 100644 --- a/guard/struct.Data.html +++ b/guard/struct.Data.html @@ -1,16 +1,16 @@ guard::Data - Rust -

[][src]Struct guard::Data

pub struct Data {
+

Struct guard::Data[][src]

pub struct Data {
     pub db: PgPool,
     pub creds: Config,
     pub captcha: System<HashCache>,
 }

Fields

db: PgPoolcreds: Configcaptcha: System<HashCache>

Implementations

impl Data[src]

pub async fn new() -> Self[src]

Trait Implementations

impl Clone for Data[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/struct.GIT_COMMIT_HASH.html b/guard/struct.GIT_COMMIT_HASH.html index 5f7a23d4..6d37bf9f 100644 --- a/guard/struct.GIT_COMMIT_HASH.html +++ b/guard/struct.GIT_COMMIT_HASH.html @@ -1,10 +1,10 @@ guard::GIT_COMMIT_HASH - Rust -

[][src]Struct guard::GIT_COMMIT_HASH

pub struct GIT_COMMIT_HASH {
+

Struct guard::GIT_COMMIT_HASH[][src]

pub struct GIT_COMMIT_HASH {
     __private_field: (),
 }

- Fields

__private_field: ()

Methods from Deref<Target = String>

pub fn as_str(&self) -> &str1.7.0[src]

Extracts a string slice containing the entire String.

+ Fields__private_field: ()

Methods from Deref<Target = String>

pub fn as_str(&self) -> &str1.7.0[src]

Extracts a string slice containing the entire String.

Examples

Basic usage:

@@ -12,7 +12,7 @@ let s = String::from("foo"); assert_eq!("foo", s.as_str());
-

pub fn capacity(&self) -> usize1.0.0[src]

Returns this String's capacity, in bytes.

+

pub fn capacity(&self) -> usize1.0.0[src]

Returns this String's capacity, in bytes.

Examples

Basic usage:

@@ -20,7 +20,7 @@ let s = String::with_capacity(10); assert!(s.capacity() >= 10);
-

pub fn as_bytes(&self) -> &[u8]1.0.0[src]

Returns a byte slice of this String's contents.

+

pub fn as_bytes(&self) -> &[u8]1.0.0[src]

Returns a byte slice of this String's contents.

The inverse of this method is from_utf8.

Examples

Basic usage:

@@ -29,7 +29,7 @@ let s = String::from("hello"); assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
-

pub fn len(&self) -> usize1.0.0[src]

Returns the length of this String, in bytes, not chars or +

pub fn len(&self) -> usize1.0.0[src]

Returns the length of this String, in bytes, not chars or graphemes. In other words, it may not be what a human considers the length of the string.

Examples

@@ -42,7 +42,7 @@ length of the string.

let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
-

pub fn is_empty(&self) -> bool1.0.0[src]

Returns true if this String has a length of zero, and false otherwise.

+

pub fn is_empty(&self) -> bool1.0.0[src]

Returns true if this String has a length of zero, and false otherwise.

Examples

Basic usage:

@@ -52,11 +52,1401 @@ length of the string.

v.push('a'); assert!(!v.is_empty());
-

Trait Implementations

impl Deref for GIT_COMMIT_HASH[src]

type Target = String

The resulting type after dereferencing.

-

impl LazyStatic for GIT_COMMIT_HASH[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Methods from Deref<Target = str>

pub const fn len(&self) -> usize1.0.0 (const: 1.32.0)[src]

Returns the length of self.

+

This length is in bytes, not chars or graphemes. In other words, +it may not be what a human considers the length of the string.

+

Examples

+

Basic usage:

+ +
+let len = "foo".len();
+assert_eq!(3, len);
+
+assert_eq!("ƒoo".len(), 4); // fancy f!
+assert_eq!("ƒoo".chars().count(), 3);
+

pub const fn is_empty(&self) -> bool1.0.0 (const: 1.32.0)[src]

Returns true if self has a length of zero bytes.

+

Examples

+

Basic usage:

+ +
+let s = "";
+assert!(s.is_empty());
+
+let s = "not empty";
+assert!(!s.is_empty());
+

pub fn is_char_boundary(&self, index: usize) -> bool1.9.0[src]

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";
+assert!(s.is_char_boundary(0));
+// start of `老`
+assert!(s.is_char_boundary(6));
+assert!(s.is_char_boundary(s.len()));
+
+// second byte of `ö`
+assert!(!s.is_char_boundary(2));
+
+// third byte of `老`
+assert!(!s.is_char_boundary(8));
+

pub const fn as_bytes(&self) -> &[u8]1.0.0 (const: 1.32.0)[src]

Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

+

Examples

+

Basic usage:

+ +
+let bytes = "bors".as_bytes();
+assert_eq!(b"bors", bytes);
+

pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]1.20.0[src]

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.

+

Use of a str whose contents are not valid UTF-8 is undefined behavior.

+

Examples

+

Basic usage:

+ +
+let mut s = String::from("Hello");
+let bytes = unsafe { s.as_bytes_mut() };
+
+assert_eq!(b"Hello", bytes);
+

Mutability:

+ +
+let mut s = String::from("🗻∈🌏");
+
+unsafe {
+    let bytes = s.as_bytes_mut();
+
+    bytes[0] = 0xF0;
+    bytes[1] = 0x9F;
+    bytes[2] = 0x8D;
+    bytes[3] = 0x94;
+}
+
+assert_eq!("🍔∈🌏", s);
+

pub const fn as_ptr(&self) -> *const u81.0.0 (const: 1.32.0)[src]

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

+

Examples

+

Basic usage:

+ +
+let s = "Hello";
+let ptr = s.as_ptr();
+

pub fn as_mut_ptr(&mut self) -> *mut u81.36.0[src]

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 +slice.

+

It is your responsibility to make sure that the string slice only gets +modified in a way that it remains valid UTF-8.

+

pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output> where
    I: SliceIndex<str>, 
1.20.0[src]

Returns a subslice of str.

+

This is the non-panicking alternative to indexing the str. Returns +None whenever equivalent indexing operation would panic.

+

Examples

+
+let v = String::from("🗻∈🌏");
+
+assert_eq!(Some("🗻"), v.get(0..4));
+
+// indices not on UTF-8 sequence boundaries
+assert!(v.get(1..).is_none());
+assert!(v.get(..8).is_none());
+
+// out of bounds
+assert!(v.get(..42).is_none());
+

pub fn get_mut<I>(
    &mut self,
    i: I
) -> Option<&mut <I as SliceIndex<str>>::Output> where
    I: SliceIndex<str>, 
1.20.0[src]

Returns a mutable subslice of str.

+

This is the non-panicking alternative to indexing the str. Returns +None whenever equivalent indexing operation would panic.

+

Examples

+
+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!("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!("HEllo", v);
+

pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output where
    I: SliceIndex<str>, 
1.20.0[src]

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 +satisfied:

+
    +
  • The starting index must not exceed the ending index;
  • +
  • Indexes must be within bounds of the original slice;
  • +
  • Indexes must lie on UTF-8 sequence boundaries.
  • +
+

Failing that, the returned string slice may reference invalid memory or +violate the invariants communicated by the str type.

+

Examples

+
+let v = "🗻∈🌏";
+unsafe {
+    assert_eq!("🗻", v.get_unchecked(0..4));
+    assert_eq!("∈", v.get_unchecked(4..7));
+    assert_eq!("🌏", v.get_unchecked(7..11));
+}
+

pub unsafe fn get_unchecked_mut<I>(
    &mut self,
    i: I
) -> &mut <I as SliceIndex<str>>::Output where
    I: SliceIndex<str>, 
1.20.0[src]

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 +satisfied:

+
    +
  • The starting index must not exceed the ending index;
  • +
  • Indexes must be within bounds of the original slice;
  • +
  • Indexes must lie on UTF-8 sequence boundaries.
  • +
+

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("🗻∈🌏");
+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));
+}
+

pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str1.0.0[src]

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

+

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.

+

Safety

+

Callers of this function are responsible that three preconditions are +satisfied:

+
    +
  • begin must not exceed end.
  • +
  • begin and end must be byte positions within the string slice.
  • +
  • begin and end must lie on UTF-8 sequence boundaries.
  • +
+

Examples

+

Basic usage:

+ +
+let s = "Löwe 老虎 Léopard";
+
+unsafe {
+    assert_eq!("Löwe 老虎 Léopard", s.slice_unchecked(0, 21));
+}
+
+let s = "Hello, world!";
+
+unsafe {
+    assert_eq!("world", s.slice_unchecked(7, 12));
+}
+

pub unsafe fn slice_mut_unchecked(
    &mut self,
    begin: usize,
    end: usize
) -> &mut str
1.5.0[src]

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

+

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.

+

Safety

+

Callers of this function are responsible that three preconditions are +satisfied:

+
    +
  • begin must not exceed end.
  • +
  • begin and end must be byte positions within the string slice.
  • +
  • begin and end must lie on UTF-8 sequence boundaries.
  • +
+

pub fn split_at(&self, mid: usize) -> (&str, &str)1.4.0[src]

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 +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

+

Basic usage:

+ +
+let s = "Per Martin-Löf";
+
+let (first, last) = s.split_at(3);
+
+assert_eq!("Per", first);
+assert_eq!(" Martin-Löf", last);
+

pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)1.4.0[src]

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.

+

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

+

Basic usage:

+ +
+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 Martin-Löf", s);
+

pub fn chars(&self) -> Chars<'_>1.0.0[src]

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 +Value, and may 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 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!(None, chars.next());
+

Remember, chars may not match your intuition about characters:

+ +
+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!(None, chars.next());
+

pub fn char_indices(&self) -> CharIndices<'_>1.0.0[src]

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 +second.

+

Examples

+

Basic usage:

+ +
+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!(None, char_indices.next());
+

Remember, chars may not match your intuition about characters:

+ +
+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());
+
+// note the 3 here - the last character took up two bytes
+assert_eq!(Some((3, 'e')), char_indices.next());
+assert_eq!(Some((4, 's')), char_indices.next());
+
+assert_eq!(None, char_indices.next());
+

pub fn bytes(&self) -> Bytes<'_>1.0.0[src]

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

+

Basic usage:

+ +
+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!(None, bytes.next());
+

pub fn split_whitespace(&self) -> SplitWhitespace<'_>1.1.0[src]

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.

+

Examples

+

Basic usage:

+ +
+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!(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());
+
+assert_eq!(None, iter.next());
+

pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_>1.34.0[src]

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.

+

Examples

+

Basic usage:

+ +
+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!(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());
+
+assert_eq!(None, iter.next());
+

pub fn lines(&self) -> Lines<'_>1.0.0[src]

An iterator over the lines of a string, as string slices.

+

Lines are ended with either a newline (\n) or a carriage return with +a line feed (\r\n).

+

The final line ending is optional. A string that ends with a final line +ending will return the same lines as an otherwise identical string +without a final line ending.

+

Examples

+

Basic usage:

+ +
+let text = "foo\r\nbar\n\nbaz\n";
+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!(None, lines.next());
+

The final line ending isn't required:

+ +
+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!(None, lines.next());
+

pub fn lines_any(&self) -> LinesAny<'_>1.0.0[src]

👎 Deprecated since 1.4.0:

use lines() instead now

+

An iterator over the lines of a string.

+

pub fn encode_utf16(&self) -> EncodeUtf16<'_>1.8.0[src]

Returns an iterator of u16 over the string encoded as UTF-16.

+

Examples

+

Basic usage:

+ +
+let text = "Zażółć gęślą jaźń";
+
+let utf8_len = text.len();
+let utf16_len = text.encode_utf16().count();
+
+assert!(utf16_len <= utf8_len);
+

pub fn contains<'a, P>(&'a self, pat: P) -> bool where
    P: Pattern<'a>, 
1.0.0[src]

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 +function or closure that determines if a character matches.

+

Examples

+

Basic usage:

+ +
+let bananas = "bananas";
+
+assert!(bananas.contains("nana"));
+assert!(!bananas.contains("apples"));
+

pub fn starts_with<'a, P>(&'a self, pat: P) -> bool where
    P: Pattern<'a>, 
1.0.0[src]

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 +function or closure that determines if a character matches.

+

Examples

+

Basic usage:

+ +
+let bananas = "bananas";
+
+assert!(bananas.starts_with("bana"));
+assert!(!bananas.starts_with("nana"));
+

pub fn ends_with<'a, P>(&'a self, pat: P) -> bool where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 
1.0.0[src]

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 +function or closure that determines if a character matches.

+

Examples

+

Basic usage:

+ +
+let bananas = "bananas";
+
+assert!(bananas.ends_with("anas"));
+assert!(!bananas.ends_with("nana"));
+

pub fn find<'a, P>(&'a self, pat: P) -> Option<usize> where
    P: Pattern<'a>, 
1.0.0[src]

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 +function or closure that determines if a character matches.

+

Examples

+

Simple patterns:

+ +
+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));
+

More complex patterns using point-free style and closures:

+ +
+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));
+

Not finding the pattern:

+ +
+let s = "Löwe 老虎 Léopard";
+let x: &[_] = &['1', '2'];
+
+assert_eq!(s.find(x), None);
+

pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 
1.0.0[src]

Returns the byte index for the first character of the rightmost match of the pattern in +this string slice.

+

Returns None if the pattern doesn't match.

+

The pattern can be a &str, char, a slice of chars, or a +function or closure that determines if a character matches.

+

Examples

+

Simple patterns:

+ +
+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));
+

More complex patterns with closures:

+ +
+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'];
+
+assert_eq!(s.rfind(x), None);
+

pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P> where
    P: Pattern<'a>, 
1.0.0[src]

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 +function or closure that determines if a character matches.

+

Iterator behavior

+

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.

+

If the pattern allows a reverse search but its results might differ +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> = "".split('X').collect();
+assert_eq!(v, [""]);
+
+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> = "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"]);
+

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"]);
+

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"]);
+

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();
+
+assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
+

Contiguous separators are separated by the empty string.

+ +
+let x = "(///)".to_string();
+let d: Vec<_> = x.split('/').collect();
+
+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", ""]);
+

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", ""]);
+

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();
+
+assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
+

It does not give you:

+ +
+assert_eq!(d, &["a", "b", "c"]);
+

Use split_whitespace for this behavior.

+

pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P> where
    P: Pattern<'a>, 
1.51.0[src]

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 +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."]);
+

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"]);
+

pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 
1.0.0[src]

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 +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 yields the same elements.

+

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> = "".rsplit('X').collect();
+assert_eq!(v, [""]);
+
+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"]);
+

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"]);
+

pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P> where
    P: Pattern<'a>, 
1.0.0[src]

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 +function or closure that determines if a character matches.

+

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 +allows a reverse search and forward/reverse search yields the same +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.

+

Examples

+

Basic usage:

+ +
+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", ""]);
+

pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 
1.0.0[src]

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 +function or closure that determines if a character matches.

+

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 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 +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"]);
+

pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P> where
    P: Pattern<'a>, 
1.0.0[src]

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 +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 +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> = "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> = "".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"]);
+

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>, 
1.0.0[src]

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

+

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> = "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"]);
+

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"]);
+

pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)> where
    P: Pattern<'a>, 
[src]

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

newly added

+

Splits the string on the first occurrence of the specified delimiter and +returns prefix before delimiter and suffix after delimiter.

+

Examples

+
+#![feature(str_split_once)]
+
+assert_eq!("cfg".split_once('='), None);
+assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
+assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
+

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>, 
[src]

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

newly added

+

Splits the string on the last occurrence of the specified delimiter and +returns prefix before delimiter and suffix after delimiter.

+

Examples

+
+#![feature(str_split_once)]
+
+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")));
+

pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P> where
    P: Pattern<'a>, 
1.2.0[src]

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 +function or closure that determines if a character matches.

+

Iterator behavior

+

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.

+

If the pattern allows a reverse search but its results might differ +from a forward search, the rmatches method can be used.

+

Examples

+

Basic usage:

+ +
+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"]);
+

pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 
1.2.0[src]

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 +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 yields the same elements.

+

For iterating from the front, the matches method can be used.

+

Examples

+

Basic usage:

+ +
+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"]);
+

pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P> where
    P: Pattern<'a>, 
1.5.0[src]

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 +function or closure that determines if a character matches.

+

Iterator behavior

+

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.

+

If the pattern allows a reverse search but its results might differ +from a forward search, the rmatch_indices method can be used.

+

Examples

+

Basic usage:

+ +
+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<_> = "ababa".match_indices("aba").collect();
+assert_eq!(v, [(0, "aba")]); // only the first `aba`
+

pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 
1.5.0[src]

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 +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 yields the same elements.

+

For iterating from the front, the match_indices method can be used.

+

Examples

+

Basic usage:

+ +
+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<_> = "ababa".rmatch_indices("aba").collect();
+assert_eq!(v, [(2, "aba")]); // only the last `aba`
+

#[must_use = + "this returns the trimmed string as a slice, \ + without modifying the original"]pub fn trim(&self) -> &str1.0.0[src]

Returns a string slice with leading and trailing whitespace removed.

+

'Whitespace' is defined according to the terms of the Unicode Derived +Core Property White_Space.

+

Examples

+

Basic usage:

+ +
+let s = " Hello\tworld\t";
+
+assert_eq!("Hello\tworld", s.trim());
+

#[must_use = + "this returns the trimmed string as a new slice, \ + without modifying the original"]pub fn trim_start(&self) -> &str1.30.0[src]

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

+

A string is a sequence of bytes. start in this context means the first +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

+

Basic usage:

+ +
+let s = " Hello\tworld\t";
+assert_eq!("Hello\tworld\t", s.trim_start());
+

Directionality:

+ +
+let s = "  English  ";
+assert!(Some('E') == s.trim_start().chars().next());
+
+let s = "  עברית  ";
+assert!(Some('ע') == s.trim_start().chars().next());
+

#[must_use = + "this returns the trimmed string as a new slice, \ + without modifying the original"]pub fn trim_end(&self) -> &str1.30.0[src]

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

+

A string is a sequence of bytes. end in this context means the last +position of that byte string; for a left-to-right language like English or +Russian, this will be right side, and for right-to-left languages like +Arabic or Hebrew, this will be the left side.

+

Examples

+

Basic usage:

+ +
+let s = " Hello\tworld\t";
+assert_eq!(" Hello\tworld", s.trim_end());
+

Directionality:

+ +
+let s = "  English  ";
+assert!(Some('h') == s.trim_end().chars().rev().next());
+
+let s = "  עברית  ";
+assert!(Some('ת') == s.trim_end().chars().rev().next());
+

pub fn trim_left(&self) -> &str1.0.0[src]

👎 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

+

A string is a sequence of bytes. 'Left' in this context means the first +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

+

Basic usage:

+ +
+let s = " Hello\tworld\t";
+
+assert_eq!("Hello\tworld\t", s.trim_left());
+

Directionality:

+ +
+let s = "  English";
+assert!(Some('E') == s.trim_left().chars().next());
+
+let s = "  עברית";
+assert!(Some('ע') == s.trim_left().chars().next());
+

pub fn trim_right(&self) -> &str1.0.0[src]

👎 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

+

A string is a sequence of bytes. 'Right' in this context means the last +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 left side, not the right.

+

Examples

+

Basic usage:

+ +
+let s = " Hello\tworld\t";
+
+assert_eq!(" Hello\tworld", s.trim_right());
+

Directionality:

+ +
+let s = "English  ";
+assert!(Some('h') == s.trim_right().chars().rev().next());
+
+let s = "עברית  ";
+assert!(Some('ת') == s.trim_right().chars().rev().next());
+

#[must_use = + "this returns the trimmed string as a new slice, \ + without modifying the original"]pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>, 
1.0.0[src]

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 +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");
+
+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");
+

#[must_use = + "this returns the trimmed string as a new slice, \ + without modifying the original"]pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str where
    P: Pattern<'a>, 
1.30.0[src]

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 +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 +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

+

Basic usage:

+ +
+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");
+

#[must_use = + "this returns the remaining substring as a new slice, \ + without modifying the original"]pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str> where
    P: Pattern<'a>, 
1.45.0[src]

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 +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"));
+

#[must_use = + "this returns the remaining substring as a new slice, \ + without modifying the original"]pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 
1.45.0[src]

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 +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"));
+

#[must_use = + "this returns the trimmed string as a new slice, \ + without modifying the original"]pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 
1.30.0[src]

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 +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 +position of that byte string; for a left-to-right language like English or +Russian, this will be right side, and for right-to-left languages like +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");
+
+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");
+

pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str where
    P: Pattern<'a>, 
1.0.0[src]

👎 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 +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 +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

+

Basic usage:

+ +
+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");
+

pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 
1.0.0[src]

👎 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 +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 +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 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");
+
+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");
+

pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err> where
    F: FromStr
1.0.0[src]

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.

+

Errors

+

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();
+
+assert_eq!(4, four);
+

Using the 'turbofish' instead of annotating four:

+ +
+let four = "4".parse::<u32>();
+
+assert_eq!(Ok(4), four);
+

Failing to parse:

+ +
+let nope = "j".parse::<u32>();
+
+assert!(nope.is_err());
+

pub fn is_ascii(&self) -> bool1.23.0[src]

Checks if all characters in this string are within the ASCII range.

+

Examples

+
+let ascii = "hello!\n";
+let non_ascii = "Grüße, Jürgen ❤";
+
+assert!(ascii.is_ascii());
+assert!(!non_ascii.is_ascii());
+

pub fn eq_ignore_ascii_case(&self, other: &str) -> bool1.23.0[src]

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"));
+

pub fn make_ascii_uppercase(&mut self)1.23.0[src]

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 ❤");
+
+s.make_ascii_uppercase();
+
+assert_eq!("GRüßE, JüRGEN ❤", s);
+

pub fn make_ascii_lowercase(&mut self)1.23.0[src]

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 ❤");
+
+s.make_ascii_lowercase();
+
+assert_eq!("grÜße, jÜrgen ❤", s);
+

pub fn escape_debug(&self) -> EscapeDebug<'_>1.34.0[src]

Return an iterator that escapes each char in self with char::escape_debug.

+

Note: only extended grapheme codepoints that begin the string will be +escaped.

+

Examples

+

As an iterator:

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

Using println! directly:

+ +
+println!("{}", "❤\n!".escape_debug());
+

Both are equivalent to:

+ +
+println!("❤\\n!");
+

Using to_string:

+ +
+assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
+

pub fn escape_default(&self) -> EscapeDefault<'_>1.34.0[src]

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);
+}
+println!();
+

Using println! directly:

+ +
+println!("{}", "❤\n!".escape_default());
+

Both are equivalent to:

+ +
+println!("\\u{{2764}}\\n!");
+

Using to_string:

+ +
+assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
+

pub fn escape_unicode(&self) -> EscapeUnicode<'_>1.34.0[src]

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);
+}
+println!();
+

Using println! directly:

+ +
+println!("{}", "❤\n!".escape_unicode());
+

Both are equivalent to:

+ +
+println!("\\u{{2764}}\\u{{a}}\\u{{21}}");
+

Using to_string:

+ +
+assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
+

#[must_use = + "this returns the replaced string as a new allocation, \ + without modifying the original"]pub fn replace<'a, P>(&'a self, from: P, to: &str) -> String where
    P: Pattern<'a>, 
1.0.0[src]

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"));
+

When the pattern doesn't match:

+ +
+let s = "this is old";
+assert_eq!(s, s.replace("cookie monster", "little lamb"));
+

#[must_use = + "this returns the replaced string as a new allocation, \ + without modifying the original"]pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> String where
    P: Pattern<'a>, 
1.16.0[src]

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:

+ +
+let s = "this is old";
+assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
+

pub fn to_lowercase(&self) -> String1.2.0[src]

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());
+

pub fn to_uppercase(&self) -> String1.2.0[src]

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 = "农历新年";
+
+assert_eq!(new_year, new_year.to_uppercase());
+

One character can become multiple:

+ +
+let s = "tschüß";
+
+assert_eq!("TSCHÜSS", s.to_uppercase());
+

pub fn repeat(&self, n: usize) -> String1.16.0[src]

Creates a new String by repeating a string n times.

+

Panics

+

This function will panic if the capacity would overflow.

+

Examples

+

Basic usage:

+ +
+assert_eq!("abc".repeat(4), String::from("abcabcabcabc"));
+

A panic upon overflow:

+ +
+// this will panic at runtime
+"0123456789abcdef".repeat(usize::MAX);
+

pub fn to_ascii_uppercase(&self) -> String1.23.0[src]

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 ASCII characters in addition to non-ASCII characters, use +to_uppercase.

+

Examples

+
+let s = "Grüße, Jürgen ❤";
+
+assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
+

pub fn to_ascii_lowercase(&self) -> String1.23.0[src]

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 ASCII characters in addition to non-ASCII characters, use +to_lowercase.

+

Examples

+
+let s = "Grüße, Jürgen ❤";
+
+assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
+

Trait Implementations

impl Deref for GIT_COMMIT_HASH[src]

type Target = String

The resulting type after dereferencing.

+

impl LazyStatic for GIT_COMMIT_HASH[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/struct.SETTINGS.html b/guard/struct.SETTINGS.html index 62d2b3a6..cbcc7ca5 100644 --- a/guard/struct.SETTINGS.html +++ b/guard/struct.SETTINGS.html @@ -1,14 +1,14 @@ guard::SETTINGS - Rust -

[][src]Struct guard::SETTINGS

pub struct SETTINGS {
+

Struct guard::SETTINGS[][src]

pub struct SETTINGS {
     __private_field: (),
 }

- Fields

__private_field: ()

Methods from Deref<Target = Settings>

Trait Implementations

impl Deref for SETTINGS[src]

type Target = Settings

The resulting type after dereferencing.

-

impl LazyStatic for SETTINGS[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/guard/struct.Settings.html b/guard/struct.Settings.html index 65f87821..425ae937 100644 --- a/guard/struct.Settings.html +++ b/guard/struct.Settings.html @@ -1,19 +1,19 @@ guard::Settings - Rust -

[][src]Struct guard::Settings

pub struct Settings {
+

Struct guard::Settings[][src]

pub struct Settings {
     pub debug: bool,
     pub database: Database,
     pub server: Server,
     pub pow: Captcha,
 }

Fields

debug: booldatabase: Databaseserver: Serverpow: Captcha

Implementations

impl Settings[src]

pub fn new() -> Result<Self, ConfigError>[src]

Trait Implementations

impl Clone for Settings[src]

impl Debug for Settings[src]

impl<'de> Deserialize<'de> for Settings[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/implementors/actix_http/error/trait.ResponseError.js b/implementors/actix_http/error/trait.ResponseError.js index 7d6f533c..a454c406 100644 --- a/implementors/actix_http/error/trait.ResponseError.js +++ b/implementors/actix_http/error/trait.ResponseError.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl ResponseError for ServiceError","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl ResponseError for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/actix_web/service/trait.HttpServiceFactory.js b/implementors/actix_web/service/trait.HttpServiceFactory.js index d7ae29f6..894b5ec5 100644 --- a/implementors/actix_web/service/trait.HttpServiceFactory.js +++ b/implementors/actix_web/service/trait.HttpServiceFactory.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl HttpServiceFactory for signup","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for signin","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for signout","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for delete_account","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for add_domain","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for delete_domain","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for update_duration","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for get_duration","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for add_levels","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for update_levels","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for delete_levels","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for get_levels","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for add_mcaptcha","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for delete_mcaptcha","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for build_details","synthetic":false,"types":[]},{"text":"impl HttpServiceFactory for health","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl HttpServiceFactory for signup","synthetic":false,"types":["guard::api::v1::auth::signup"]},{"text":"impl HttpServiceFactory for signin","synthetic":false,"types":["guard::api::v1::auth::signin"]},{"text":"impl HttpServiceFactory for signout","synthetic":false,"types":["guard::api::v1::auth::signout"]},{"text":"impl HttpServiceFactory for delete_account","synthetic":false,"types":["guard::api::v1::auth::delete_account"]},{"text":"impl HttpServiceFactory for add_domain","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::add_domain"]},{"text":"impl HttpServiceFactory for get_challenge","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::get_challenge"]},{"text":"impl HttpServiceFactory for verify","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::verify"]},{"text":"impl HttpServiceFactory for delete_domain","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::delete_domain"]},{"text":"impl HttpServiceFactory for update_duration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl HttpServiceFactory for get_duration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl HttpServiceFactory for add_levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl HttpServiceFactory for update_levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl HttpServiceFactory for delete_levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl HttpServiceFactory for get_levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl HttpServiceFactory for add_mcaptcha","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::add_mcaptcha"]},{"text":"impl HttpServiceFactory for delete_mcaptcha","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl HttpServiceFactory for build_details","synthetic":false,"types":["guard::api::v1::meta::build_details"]},{"text":"impl HttpServiceFactory for health","synthetic":false,"types":["guard::api::v1::meta::health"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index 75f2a9c2..0793b72b 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Clone for Data","synthetic":false,"types":[]},{"text":"impl Clone for ServiceError","synthetic":false,"types":[]},{"text":"impl Clone for Register","synthetic":false,"types":[]},{"text":"impl Clone for Login","synthetic":false,"types":[]},{"text":"impl Clone for Domain","synthetic":false,"types":[]},{"text":"impl Clone for MCaptchaID","synthetic":false,"types":[]},{"text":"impl Clone for MCaptchaDetails","synthetic":false,"types":[]},{"text":"impl Clone for Health","synthetic":false,"types":[]},{"text":"impl Clone for HealthBuilder","synthetic":false,"types":[]},{"text":"impl Clone for Server","synthetic":false,"types":[]},{"text":"impl Clone for Captcha","synthetic":false,"types":[]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":[]},{"text":"impl Clone for Database","synthetic":false,"types":[]},{"text":"impl Clone for Settings","synthetic":false,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl Clone for Data","synthetic":false,"types":[]},{"text":"impl Clone for Server","synthetic":false,"types":[]},{"text":"impl Clone for Captcha","synthetic":false,"types":[]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":[]},{"text":"impl Clone for Database","synthetic":false,"types":[]},{"text":"impl Clone for Settings","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl Clone for Data","synthetic":false,"types":["guard::data::Data"]},{"text":"impl Clone for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl Clone for Register","synthetic":false,"types":["guard::api::v1::auth::Register"]},{"text":"impl Clone for Login","synthetic":false,"types":["guard::api::v1::auth::Login"]},{"text":"impl Clone for Domain","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl Clone for Challenge","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl Clone for MCaptchaID","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Clone for MCaptchaDetails","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Clone for Health","synthetic":false,"types":["guard::api::v1::meta::Health"]},{"text":"impl Clone for HealthBuilder","synthetic":false,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Clone for Server","synthetic":false,"types":["guard::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["guard::settings::Captcha"]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Clone for Database","synthetic":false,"types":["guard::settings::Database"]},{"text":"impl Clone for Settings","synthetic":false,"types":["guard::settings::Settings"]}]; +implementors["kv_test_util"] = [{"text":"impl Clone for Challenge","synthetic":false,"types":["kv_test_util::Challenge"]}]; +implementors["tests_migrate"] = [{"text":"impl Clone for Data","synthetic":false,"types":["tests_migrate::data::Data"]},{"text":"impl Clone for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Clone for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl Clone for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index a3afaf5a..df68a83a 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index dbe78cd5..d0f901fa 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl From<CredsError> for ServiceError","synthetic":false,"types":[]},{"text":"impl From<ValidationErrors> for ServiceError","synthetic":false,"types":[]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":[]},{"text":"impl From<CaptchaError> for ServiceError","synthetic":false,"types":[]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl From<CredsError> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<ValidationErrors> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<SendRequestError> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<CaptchaError> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js index 84435cdd..7f17461a 100644 --- a/implementors/core/default/trait.Default.js +++ b/implementors/core/default/trait.Default.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Default for HealthBuilder","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl Default for HealthBuilder","synthetic":false,"types":["guard::api::v1::meta::HealthBuilder"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index 762e4508..6c53dd5f 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Debug for ServiceError","synthetic":false,"types":[]},{"text":"impl Debug for Register","synthetic":false,"types":[]},{"text":"impl Debug for Login","synthetic":false,"types":[]},{"text":"impl Debug for Domain","synthetic":false,"types":[]},{"text":"impl Debug for MCaptchaID","synthetic":false,"types":[]},{"text":"impl Debug for MCaptchaDetails","synthetic":false,"types":[]},{"text":"impl Debug for Health","synthetic":false,"types":[]},{"text":"impl Debug for Server","synthetic":false,"types":[]},{"text":"impl Debug for Captcha","synthetic":false,"types":[]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":[]},{"text":"impl Debug for Database","synthetic":false,"types":[]},{"text":"impl Debug for Settings","synthetic":false,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl Debug for Server","synthetic":false,"types":[]},{"text":"impl Debug for Captcha","synthetic":false,"types":[]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":[]},{"text":"impl Debug for Database","synthetic":false,"types":[]},{"text":"impl Debug for Settings","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl Debug for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl Debug for Register","synthetic":false,"types":["guard::api::v1::auth::Register"]},{"text":"impl Debug for Login","synthetic":false,"types":["guard::api::v1::auth::Login"]},{"text":"impl Debug for Domain","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl Debug for Challenge","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl Debug for MCaptchaID","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Debug for MCaptchaDetails","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Debug for Health","synthetic":false,"types":["guard::api::v1::meta::Health"]},{"text":"impl Debug for Server","synthetic":false,"types":["guard::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["guard::settings::Captcha"]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Debug for Database","synthetic":false,"types":["guard::settings::Database"]},{"text":"impl Debug for Settings","synthetic":false,"types":["guard::settings::Settings"]}]; +implementors["kv_test_util"] = [{"text":"impl Debug for Challenge","synthetic":false,"types":["kv_test_util::Challenge"]}]; +implementors["tests_migrate"] = [{"text":"impl Debug for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Debug for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl Debug for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index 5a72be1d..1f28f969 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Display for ServiceError","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl Display for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index f8502214..6ddbbe88 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Freeze for Data","synthetic":true,"types":[]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":[]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":[]},{"text":"impl Freeze for Register","synthetic":true,"types":[]},{"text":"impl Freeze for Login","synthetic":true,"types":[]},{"text":"impl Freeze for Password","synthetic":true,"types":[]},{"text":"impl Freeze for signup","synthetic":true,"types":[]},{"text":"impl Freeze for signin","synthetic":true,"types":[]},{"text":"impl Freeze for signout","synthetic":true,"types":[]},{"text":"impl Freeze for delete_account","synthetic":true,"types":[]},{"text":"impl Freeze for Domain","synthetic":true,"types":[]},{"text":"impl Freeze for add_domain","synthetic":true,"types":[]},{"text":"impl Freeze for delete_domain","synthetic":true,"types":[]},{"text":"impl Freeze for UpdateDuration","synthetic":true,"types":[]},{"text":"impl Freeze for update_duration","synthetic":true,"types":[]},{"text":"impl Freeze for GetDurationResp","synthetic":true,"types":[]},{"text":"impl Freeze for GetDuration","synthetic":true,"types":[]},{"text":"impl Freeze for get_duration","synthetic":true,"types":[]},{"text":"impl Freeze for AddLevels","synthetic":true,"types":[]},{"text":"impl Freeze for add_levels","synthetic":true,"types":[]},{"text":"impl Freeze for update_levels","synthetic":true,"types":[]},{"text":"impl Freeze for delete_levels","synthetic":true,"types":[]},{"text":"impl Freeze for GetLevels","synthetic":true,"types":[]},{"text":"impl Freeze for get_levels","synthetic":true,"types":[]},{"text":"impl Freeze for Levels","synthetic":true,"types":[]},{"text":"impl Freeze for I32Levels","synthetic":true,"types":[]},{"text":"impl Freeze for MCaptchaID","synthetic":true,"types":[]},{"text":"impl Freeze for MCaptchaDetails","synthetic":true,"types":[]},{"text":"impl Freeze for add_mcaptcha","synthetic":true,"types":[]},{"text":"impl Freeze for delete_mcaptcha","synthetic":true,"types":[]},{"text":"impl Freeze for build_details","synthetic":true,"types":[]},{"text":"impl Freeze for Health","synthetic":true,"types":[]},{"text":"impl Freeze for HealthBuilder","synthetic":true,"types":[]},{"text":"impl Freeze for health","synthetic":true,"types":[]},{"text":"impl Freeze for Server","synthetic":true,"types":[]},{"text":"impl Freeze for Captcha","synthetic":true,"types":[]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl Freeze for Database","synthetic":true,"types":[]},{"text":"impl Freeze for Settings","synthetic":true,"types":[]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":[]},{"text":"impl Freeze for GIT_COMMIT_HASH","synthetic":true,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl Freeze for Data","synthetic":true,"types":[]},{"text":"impl Freeze for Server","synthetic":true,"types":[]},{"text":"impl Freeze for Captcha","synthetic":true,"types":[]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl Freeze for Database","synthetic":true,"types":[]},{"text":"impl Freeze for Settings","synthetic":true,"types":[]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":[]}]; +implementors["guard"] = [{"text":"impl Freeze for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Freeze for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl Freeze for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl Freeze for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl Freeze for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl Freeze for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl Freeze for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl Freeze for delete_account","synthetic":true,"types":["guard::api::v1::auth::delete_account"]},{"text":"impl Freeze for Domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl Freeze for add_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::add_domain"]},{"text":"impl Freeze for Challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl Freeze for get_challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::get_challenge"]},{"text":"impl Freeze for verify","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::verify"]},{"text":"impl Freeze for delete_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::delete_domain"]},{"text":"impl Freeze for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Freeze for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Freeze for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Freeze for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Freeze for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Freeze for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Freeze for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Freeze for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Freeze for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Freeze for GetLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::GetLevels"]},{"text":"impl Freeze for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Freeze for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Freeze for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Freeze for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Freeze for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Freeze for add_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::add_mcaptcha"]},{"text":"impl Freeze for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl Freeze for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl Freeze for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Freeze for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl Freeze for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Freeze for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl Freeze for GIT_COMMIT_HASH","synthetic":true,"types":["guard::GIT_COMMIT_HASH"]}]; +implementors["kv_test_util"] = [{"text":"impl Freeze for Challenge","synthetic":true,"types":["kv_test_util::Challenge"]}]; +implementors["tests_migrate"] = [{"text":"impl Freeze for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl Freeze for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Freeze for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index d3e534b6..8519fdb3 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Send for Data","synthetic":true,"types":[]},{"text":"impl Send for ServiceError","synthetic":true,"types":[]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":[]},{"text":"impl Send for Register","synthetic":true,"types":[]},{"text":"impl Send for Login","synthetic":true,"types":[]},{"text":"impl Send for Password","synthetic":true,"types":[]},{"text":"impl Send for signup","synthetic":true,"types":[]},{"text":"impl Send for signin","synthetic":true,"types":[]},{"text":"impl Send for signout","synthetic":true,"types":[]},{"text":"impl Send for delete_account","synthetic":true,"types":[]},{"text":"impl Send for Domain","synthetic":true,"types":[]},{"text":"impl Send for add_domain","synthetic":true,"types":[]},{"text":"impl Send for delete_domain","synthetic":true,"types":[]},{"text":"impl Send for UpdateDuration","synthetic":true,"types":[]},{"text":"impl Send for update_duration","synthetic":true,"types":[]},{"text":"impl Send for GetDurationResp","synthetic":true,"types":[]},{"text":"impl Send for GetDuration","synthetic":true,"types":[]},{"text":"impl Send for get_duration","synthetic":true,"types":[]},{"text":"impl Send for AddLevels","synthetic":true,"types":[]},{"text":"impl Send for add_levels","synthetic":true,"types":[]},{"text":"impl Send for update_levels","synthetic":true,"types":[]},{"text":"impl Send for delete_levels","synthetic":true,"types":[]},{"text":"impl Send for GetLevels","synthetic":true,"types":[]},{"text":"impl Send for get_levels","synthetic":true,"types":[]},{"text":"impl Send for Levels","synthetic":true,"types":[]},{"text":"impl Send for I32Levels","synthetic":true,"types":[]},{"text":"impl Send for MCaptchaID","synthetic":true,"types":[]},{"text":"impl Send for MCaptchaDetails","synthetic":true,"types":[]},{"text":"impl Send for add_mcaptcha","synthetic":true,"types":[]},{"text":"impl Send for delete_mcaptcha","synthetic":true,"types":[]},{"text":"impl Send for build_details","synthetic":true,"types":[]},{"text":"impl Send for Health","synthetic":true,"types":[]},{"text":"impl Send for HealthBuilder","synthetic":true,"types":[]},{"text":"impl Send for health","synthetic":true,"types":[]},{"text":"impl Send for Server","synthetic":true,"types":[]},{"text":"impl Send for Captcha","synthetic":true,"types":[]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl Send for Database","synthetic":true,"types":[]},{"text":"impl Send for Settings","synthetic":true,"types":[]},{"text":"impl Send for SETTINGS","synthetic":true,"types":[]},{"text":"impl Send for GIT_COMMIT_HASH","synthetic":true,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl Send for Data","synthetic":true,"types":[]},{"text":"impl Send for Server","synthetic":true,"types":[]},{"text":"impl Send for Captcha","synthetic":true,"types":[]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl Send for Database","synthetic":true,"types":[]},{"text":"impl Send for Settings","synthetic":true,"types":[]},{"text":"impl Send for SETTINGS","synthetic":true,"types":[]}]; +implementors["guard"] = [{"text":"impl Send for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Send for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl Send for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl Send for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl Send for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl Send for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl Send for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl Send for delete_account","synthetic":true,"types":["guard::api::v1::auth::delete_account"]},{"text":"impl Send for Domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl Send for add_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::add_domain"]},{"text":"impl Send for Challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl Send for get_challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::get_challenge"]},{"text":"impl Send for verify","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::verify"]},{"text":"impl Send for delete_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::delete_domain"]},{"text":"impl Send for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Send for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Send for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Send for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Send for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Send for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Send for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Send for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Send for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Send for GetLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::GetLevels"]},{"text":"impl Send for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Send for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Send for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Send for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Send for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Send for add_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::add_mcaptcha"]},{"text":"impl Send for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Send for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl Send for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl Send for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Send for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl Send for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Send for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl Send for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl Send for GIT_COMMIT_HASH","synthetic":true,"types":["guard::GIT_COMMIT_HASH"]}]; +implementors["kv_test_util"] = [{"text":"impl Send for Challenge","synthetic":true,"types":["kv_test_util::Challenge"]}]; +implementors["tests_migrate"] = [{"text":"impl Send for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl Send for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Send for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Send for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index 2f8d56b9..74fc1f91 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index ae46f2fe..32e4b047 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Sync for Data","synthetic":true,"types":[]},{"text":"impl Sync for ServiceError","synthetic":true,"types":[]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":[]},{"text":"impl Sync for Register","synthetic":true,"types":[]},{"text":"impl Sync for Login","synthetic":true,"types":[]},{"text":"impl Sync for Password","synthetic":true,"types":[]},{"text":"impl Sync for signup","synthetic":true,"types":[]},{"text":"impl Sync for signin","synthetic":true,"types":[]},{"text":"impl Sync for signout","synthetic":true,"types":[]},{"text":"impl Sync for delete_account","synthetic":true,"types":[]},{"text":"impl Sync for Domain","synthetic":true,"types":[]},{"text":"impl Sync for add_domain","synthetic":true,"types":[]},{"text":"impl Sync for delete_domain","synthetic":true,"types":[]},{"text":"impl Sync for UpdateDuration","synthetic":true,"types":[]},{"text":"impl Sync for update_duration","synthetic":true,"types":[]},{"text":"impl Sync for GetDurationResp","synthetic":true,"types":[]},{"text":"impl Sync for GetDuration","synthetic":true,"types":[]},{"text":"impl Sync for get_duration","synthetic":true,"types":[]},{"text":"impl Sync for AddLevels","synthetic":true,"types":[]},{"text":"impl Sync for add_levels","synthetic":true,"types":[]},{"text":"impl Sync for update_levels","synthetic":true,"types":[]},{"text":"impl Sync for delete_levels","synthetic":true,"types":[]},{"text":"impl Sync for GetLevels","synthetic":true,"types":[]},{"text":"impl Sync for get_levels","synthetic":true,"types":[]},{"text":"impl Sync for Levels","synthetic":true,"types":[]},{"text":"impl Sync for I32Levels","synthetic":true,"types":[]},{"text":"impl Sync for MCaptchaID","synthetic":true,"types":[]},{"text":"impl Sync for MCaptchaDetails","synthetic":true,"types":[]},{"text":"impl Sync for add_mcaptcha","synthetic":true,"types":[]},{"text":"impl Sync for delete_mcaptcha","synthetic":true,"types":[]},{"text":"impl Sync for build_details","synthetic":true,"types":[]},{"text":"impl Sync for Health","synthetic":true,"types":[]},{"text":"impl Sync for HealthBuilder","synthetic":true,"types":[]},{"text":"impl Sync for health","synthetic":true,"types":[]},{"text":"impl Sync for Server","synthetic":true,"types":[]},{"text":"impl Sync for Captcha","synthetic":true,"types":[]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl Sync for Database","synthetic":true,"types":[]},{"text":"impl Sync for Settings","synthetic":true,"types":[]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":[]},{"text":"impl Sync for GIT_COMMIT_HASH","synthetic":true,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl Sync for Data","synthetic":true,"types":[]},{"text":"impl Sync for Server","synthetic":true,"types":[]},{"text":"impl Sync for Captcha","synthetic":true,"types":[]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl Sync for Database","synthetic":true,"types":[]},{"text":"impl Sync for Settings","synthetic":true,"types":[]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":[]}]; +implementors["guard"] = [{"text":"impl Sync for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Sync for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl Sync for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl Sync for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl Sync for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl Sync for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl Sync for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl Sync for delete_account","synthetic":true,"types":["guard::api::v1::auth::delete_account"]},{"text":"impl Sync for Domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl Sync for add_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::add_domain"]},{"text":"impl Sync for Challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl Sync for get_challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::get_challenge"]},{"text":"impl Sync for verify","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::verify"]},{"text":"impl Sync for delete_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::delete_domain"]},{"text":"impl Sync for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Sync for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Sync for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Sync for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Sync for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Sync for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Sync for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Sync for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Sync for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Sync for GetLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::GetLevels"]},{"text":"impl Sync for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Sync for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Sync for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Sync for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Sync for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Sync for add_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::add_mcaptcha"]},{"text":"impl Sync for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Sync for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl Sync for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl Sync for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Sync for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl Sync for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Sync for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl Sync for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl Sync for GIT_COMMIT_HASH","synthetic":true,"types":["guard::GIT_COMMIT_HASH"]}]; +implementors["kv_test_util"] = [{"text":"impl Sync for Challenge","synthetic":true,"types":["kv_test_util::Challenge"]}]; +implementors["tests_migrate"] = [{"text":"impl Sync for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl Sync for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Sync for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Sync for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index 966ff03d..3baf4a03 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Unpin for Data","synthetic":true,"types":[]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":[]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":[]},{"text":"impl Unpin for Register","synthetic":true,"types":[]},{"text":"impl Unpin for Login","synthetic":true,"types":[]},{"text":"impl Unpin for Password","synthetic":true,"types":[]},{"text":"impl Unpin for signup","synthetic":true,"types":[]},{"text":"impl Unpin for signin","synthetic":true,"types":[]},{"text":"impl Unpin for signout","synthetic":true,"types":[]},{"text":"impl Unpin for delete_account","synthetic":true,"types":[]},{"text":"impl Unpin for Domain","synthetic":true,"types":[]},{"text":"impl Unpin for add_domain","synthetic":true,"types":[]},{"text":"impl Unpin for delete_domain","synthetic":true,"types":[]},{"text":"impl Unpin for UpdateDuration","synthetic":true,"types":[]},{"text":"impl Unpin for update_duration","synthetic":true,"types":[]},{"text":"impl Unpin for GetDurationResp","synthetic":true,"types":[]},{"text":"impl Unpin for GetDuration","synthetic":true,"types":[]},{"text":"impl Unpin for get_duration","synthetic":true,"types":[]},{"text":"impl Unpin for AddLevels","synthetic":true,"types":[]},{"text":"impl Unpin for add_levels","synthetic":true,"types":[]},{"text":"impl Unpin for update_levels","synthetic":true,"types":[]},{"text":"impl Unpin for delete_levels","synthetic":true,"types":[]},{"text":"impl Unpin for GetLevels","synthetic":true,"types":[]},{"text":"impl Unpin for get_levels","synthetic":true,"types":[]},{"text":"impl Unpin for Levels","synthetic":true,"types":[]},{"text":"impl Unpin for I32Levels","synthetic":true,"types":[]},{"text":"impl Unpin for MCaptchaID","synthetic":true,"types":[]},{"text":"impl Unpin for MCaptchaDetails","synthetic":true,"types":[]},{"text":"impl Unpin for add_mcaptcha","synthetic":true,"types":[]},{"text":"impl Unpin for delete_mcaptcha","synthetic":true,"types":[]},{"text":"impl Unpin for build_details","synthetic":true,"types":[]},{"text":"impl Unpin for Health","synthetic":true,"types":[]},{"text":"impl Unpin for HealthBuilder","synthetic":true,"types":[]},{"text":"impl Unpin for health","synthetic":true,"types":[]},{"text":"impl Unpin for Server","synthetic":true,"types":[]},{"text":"impl Unpin for Captcha","synthetic":true,"types":[]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl Unpin for Database","synthetic":true,"types":[]},{"text":"impl Unpin for Settings","synthetic":true,"types":[]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":[]},{"text":"impl Unpin for GIT_COMMIT_HASH","synthetic":true,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl Unpin for Data","synthetic":true,"types":[]},{"text":"impl Unpin for Server","synthetic":true,"types":[]},{"text":"impl Unpin for Captcha","synthetic":true,"types":[]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl Unpin for Database","synthetic":true,"types":[]},{"text":"impl Unpin for Settings","synthetic":true,"types":[]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":[]}]; +implementors["guard"] = [{"text":"impl Unpin for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Unpin for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl Unpin for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl Unpin for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl Unpin for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl Unpin for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl Unpin for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl Unpin for delete_account","synthetic":true,"types":["guard::api::v1::auth::delete_account"]},{"text":"impl Unpin for Domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl Unpin for add_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::add_domain"]},{"text":"impl Unpin for Challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl Unpin for get_challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::get_challenge"]},{"text":"impl Unpin for verify","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::verify"]},{"text":"impl Unpin for delete_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::delete_domain"]},{"text":"impl Unpin for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Unpin for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Unpin for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Unpin for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Unpin for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Unpin for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Unpin for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Unpin for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Unpin for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Unpin for GetLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::GetLevels"]},{"text":"impl Unpin for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Unpin for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Unpin for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Unpin for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Unpin for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Unpin for add_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::add_mcaptcha"]},{"text":"impl Unpin for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl Unpin for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl Unpin for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Unpin for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl Unpin for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Unpin for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl Unpin for GIT_COMMIT_HASH","synthetic":true,"types":["guard::GIT_COMMIT_HASH"]}]; +implementors["kv_test_util"] = [{"text":"impl Unpin for Challenge","synthetic":true,"types":["kv_test_util::Challenge"]}]; +implementors["tests_migrate"] = [{"text":"impl Unpin for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl Unpin for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Unpin for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/deref/trait.Deref.js b/implementors/core/ops/deref/trait.Deref.js index 80a04439..525ca35d 100644 --- a/implementors/core/ops/deref/trait.Deref.js +++ b/implementors/core/ops/deref/trait.Deref.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Deref for SETTINGS","synthetic":false,"types":[]},{"text":"impl Deref for GIT_COMMIT_HASH","synthetic":false,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl Deref for SETTINGS","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl Deref for SETTINGS","synthetic":false,"types":["guard::SETTINGS"]},{"text":"impl Deref for GIT_COMMIT_HASH","synthetic":false,"types":["guard::GIT_COMMIT_HASH"]}]; +implementors["tests_migrate"] = [{"text":"impl Deref for SETTINGS","synthetic":false,"types":["tests_migrate::SETTINGS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/lazy_static/trait.LazyStatic.js b/implementors/lazy_static/trait.LazyStatic.js index 4adca13c..e722317a 100644 --- a/implementors/lazy_static/trait.LazyStatic.js +++ b/implementors/lazy_static/trait.LazyStatic.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl LazyStatic for SETTINGS","synthetic":false,"types":[]},{"text":"impl LazyStatic for GIT_COMMIT_HASH","synthetic":false,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl LazyStatic for SETTINGS","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl LazyStatic for SETTINGS","synthetic":false,"types":["guard::SETTINGS"]},{"text":"impl LazyStatic for GIT_COMMIT_HASH","synthetic":false,"types":["guard::GIT_COMMIT_HASH"]}]; +implementors["tests_migrate"] = [{"text":"impl LazyStatic for SETTINGS","synthetic":false,"types":["tests_migrate::SETTINGS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/de/trait.Deserialize.js b/implementors/serde/de/trait.Deserialize.js index 00c8648c..b60e7ec9 100644 --- a/implementors/serde/de/trait.Deserialize.js +++ b/implementors/serde/de/trait.Deserialize.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl<'de> Deserialize<'de> for ErrorToResponse","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Register","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Login","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Domain","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for UpdateDuration","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for GetDurationResp","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for GetDuration","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for AddLevels","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for GetLevels","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Levels","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for I32Levels","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for MCaptchaID","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for MCaptchaDetails","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Health","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Captcha","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for DatabaseBuilder","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Database","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Captcha","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for DatabaseBuilder","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Database","synthetic":false,"types":[]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl<'de> Deserialize<'de> for ErrorToResponse","synthetic":false,"types":["guard::errors::ErrorToResponse"]},{"text":"impl<'de> Deserialize<'de> for Register","synthetic":false,"types":["guard::api::v1::auth::Register"]},{"text":"impl<'de> Deserialize<'de> for Login","synthetic":false,"types":["guard::api::v1::auth::Login"]},{"text":"impl<'de> Deserialize<'de> for Domain","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl<'de> Deserialize<'de> for Challenge","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl<'de> Deserialize<'de> for UpdateDuration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl<'de> Deserialize<'de> for GetDurationResp","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl<'de> Deserialize<'de> for GetDuration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl<'de> Deserialize<'de> for AddLevels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl<'de> Deserialize<'de> for GetLevels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::GetLevels"]},{"text":"impl<'de> Deserialize<'de> for Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl<'de> Deserialize<'de> for I32Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl<'de> Deserialize<'de> for MCaptchaID","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl<'de> Deserialize<'de> for MCaptchaDetails","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl<'de> Deserialize<'de> for Health","synthetic":false,"types":["guard::api::v1::meta::Health"]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["guard::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for Captcha","synthetic":false,"types":["guard::settings::Captcha"]},{"text":"impl<'de> Deserialize<'de> for DatabaseBuilder","synthetic":false,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl<'de> Deserialize<'de> for Database","synthetic":false,"types":["guard::settings::Database"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["guard::settings::Settings"]}]; +implementors["kv_test_util"] = [{"text":"impl<'de> Deserialize<'de> for Challenge","synthetic":false,"types":["kv_test_util::Challenge"]}]; +implementors["tests_migrate"] = [{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl<'de> Deserialize<'de> for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl<'de> Deserialize<'de> for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/ser/trait.Serialize.js b/implementors/serde/ser/trait.Serialize.js index 8001fa51..4f83596e 100644 --- a/implementors/serde/ser/trait.Serialize.js +++ b/implementors/serde/ser/trait.Serialize.js @@ -1,3 +1,4 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Serialize for ErrorToResponse","synthetic":false,"types":[]},{"text":"impl Serialize for Register","synthetic":false,"types":[]},{"text":"impl Serialize for Login","synthetic":false,"types":[]},{"text":"impl Serialize for Domain","synthetic":false,"types":[]},{"text":"impl Serialize for UpdateDuration","synthetic":false,"types":[]},{"text":"impl Serialize for GetDurationResp","synthetic":false,"types":[]},{"text":"impl Serialize for GetDuration","synthetic":false,"types":[]},{"text":"impl Serialize for AddLevels","synthetic":false,"types":[]},{"text":"impl Serialize for GetLevels","synthetic":false,"types":[]},{"text":"impl Serialize for Levels","synthetic":false,"types":[]},{"text":"impl Serialize for I32Levels","synthetic":false,"types":[]},{"text":"impl Serialize for MCaptchaID","synthetic":false,"types":[]},{"text":"impl Serialize for MCaptchaDetails","synthetic":false,"types":[]},{"text":"impl Serialize for Health","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl Serialize for ErrorToResponse","synthetic":false,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Serialize for Register","synthetic":false,"types":["guard::api::v1::auth::Register"]},{"text":"impl Serialize for Login","synthetic":false,"types":["guard::api::v1::auth::Login"]},{"text":"impl Serialize for Domain","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl Serialize for Challenge","synthetic":false,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl Serialize for UpdateDuration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Serialize for GetDurationResp","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Serialize for GetDuration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Serialize for AddLevels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Serialize for GetLevels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::GetLevels"]},{"text":"impl Serialize for Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Serialize for I32Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Serialize for MCaptchaID","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Serialize for MCaptchaDetails","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Serialize for Health","synthetic":false,"types":["guard::api::v1::meta::Health"]}]; +implementors["kv_test_util"] = [{"text":"impl Serialize for Challenge","synthetic":false,"types":["kv_test_util::Challenge"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/error/trait.Error.js b/implementors/std/error/trait.Error.js index 7731e8db..47c56cfe 100644 --- a/implementors/std/error/trait.Error.js +++ b/implementors/std/error/trait.Error.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl Error for ServiceError","synthetic":false,"types":[]}]; +implementors["guard"] = [{"text":"impl Error for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/panic/trait.RefUnwindSafe.js b/implementors/std/panic/trait.RefUnwindSafe.js index 8a6bfcac..35d5ccfa 100644 --- a/implementors/std/panic/trait.RefUnwindSafe.js +++ b/implementors/std/panic/trait.RefUnwindSafe.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ServiceError","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Register","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Login","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Password","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for signup","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for signin","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for signout","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Domain","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for add_domain","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for delete_domain","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for UpdateDuration","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for update_duration","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for GetDurationResp","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for GetDuration","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for get_duration","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for AddLevels","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for add_levels","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for update_levels","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for delete_levels","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for GetLevels","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for get_levels","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for I32Levels","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for MCaptchaID","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for MCaptchaDetails","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for add_mcaptcha","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for delete_mcaptcha","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Health","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for HealthBuilder","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for health","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for GIT_COMMIT_HASH","synthetic":true,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":[]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":[]}]; +implementors["guard"] = [{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl RefUnwindSafe for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl RefUnwindSafe for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl RefUnwindSafe for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl RefUnwindSafe for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl RefUnwindSafe for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl RefUnwindSafe for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl RefUnwindSafe for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["guard::api::v1::auth::delete_account"]},{"text":"impl RefUnwindSafe for Domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl RefUnwindSafe for add_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::add_domain"]},{"text":"impl RefUnwindSafe for Challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl RefUnwindSafe for get_challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::get_challenge"]},{"text":"impl RefUnwindSafe for verify","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::verify"]},{"text":"impl RefUnwindSafe for delete_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::delete_domain"]},{"text":"impl RefUnwindSafe for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl RefUnwindSafe for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl RefUnwindSafe for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl RefUnwindSafe for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl RefUnwindSafe for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl RefUnwindSafe for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl RefUnwindSafe for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl RefUnwindSafe for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl RefUnwindSafe for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl RefUnwindSafe for GetLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::GetLevels"]},{"text":"impl RefUnwindSafe for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl RefUnwindSafe for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl RefUnwindSafe for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl RefUnwindSafe for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl RefUnwindSafe for add_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::add_mcaptcha"]},{"text":"impl RefUnwindSafe for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl RefUnwindSafe for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl RefUnwindSafe for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl RefUnwindSafe for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl RefUnwindSafe for GIT_COMMIT_HASH","synthetic":true,"types":["guard::GIT_COMMIT_HASH"]}]; +implementors["kv_test_util"] = [{"text":"impl RefUnwindSafe for Challenge","synthetic":true,"types":["kv_test_util::Challenge"]}]; +implementors["tests_migrate"] = [{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/panic/trait.UnwindSafe.js b/implementors/std/panic/trait.UnwindSafe.js index bcc8d79e..5621d730 100644 --- a/implementors/std/panic/trait.UnwindSafe.js +++ b/implementors/std/panic/trait.UnwindSafe.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; -implementors["guard"] = [{"text":"impl !UnwindSafe for Data","synthetic":true,"types":[]},{"text":"impl UnwindSafe for ServiceError","synthetic":true,"types":[]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Register","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Login","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Password","synthetic":true,"types":[]},{"text":"impl UnwindSafe for signup","synthetic":true,"types":[]},{"text":"impl UnwindSafe for signin","synthetic":true,"types":[]},{"text":"impl UnwindSafe for signout","synthetic":true,"types":[]},{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Domain","synthetic":true,"types":[]},{"text":"impl UnwindSafe for add_domain","synthetic":true,"types":[]},{"text":"impl UnwindSafe for delete_domain","synthetic":true,"types":[]},{"text":"impl UnwindSafe for UpdateDuration","synthetic":true,"types":[]},{"text":"impl UnwindSafe for update_duration","synthetic":true,"types":[]},{"text":"impl UnwindSafe for GetDurationResp","synthetic":true,"types":[]},{"text":"impl UnwindSafe for GetDuration","synthetic":true,"types":[]},{"text":"impl UnwindSafe for get_duration","synthetic":true,"types":[]},{"text":"impl UnwindSafe for AddLevels","synthetic":true,"types":[]},{"text":"impl UnwindSafe for add_levels","synthetic":true,"types":[]},{"text":"impl UnwindSafe for update_levels","synthetic":true,"types":[]},{"text":"impl UnwindSafe for delete_levels","synthetic":true,"types":[]},{"text":"impl UnwindSafe for GetLevels","synthetic":true,"types":[]},{"text":"impl UnwindSafe for get_levels","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":[]},{"text":"impl UnwindSafe for I32Levels","synthetic":true,"types":[]},{"text":"impl UnwindSafe for MCaptchaID","synthetic":true,"types":[]},{"text":"impl UnwindSafe for MCaptchaDetails","synthetic":true,"types":[]},{"text":"impl UnwindSafe for add_mcaptcha","synthetic":true,"types":[]},{"text":"impl UnwindSafe for delete_mcaptcha","synthetic":true,"types":[]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Health","synthetic":true,"types":[]},{"text":"impl UnwindSafe for HealthBuilder","synthetic":true,"types":[]},{"text":"impl UnwindSafe for health","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":[]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":[]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":[]},{"text":"impl UnwindSafe for GIT_COMMIT_HASH","synthetic":true,"types":[]}]; -implementors["tests_migrate"] = [{"text":"impl !UnwindSafe for Data","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":[]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":[]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":[]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":[]}]; +implementors["guard"] = [{"text":"impl !UnwindSafe for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl UnwindSafe for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl UnwindSafe for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl UnwindSafe for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl UnwindSafe for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl UnwindSafe for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl UnwindSafe for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl UnwindSafe for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["guard::api::v1::auth::delete_account"]},{"text":"impl UnwindSafe for Domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Domain"]},{"text":"impl UnwindSafe for add_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::add_domain"]},{"text":"impl UnwindSafe for Challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::Challenge"]},{"text":"impl UnwindSafe for get_challenge","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::get_challenge"]},{"text":"impl UnwindSafe for verify","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::verify"]},{"text":"impl UnwindSafe for delete_domain","synthetic":true,"types":["guard::api::v1::mcaptcha::domains::delete_domain"]},{"text":"impl UnwindSafe for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl UnwindSafe for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl UnwindSafe for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl UnwindSafe for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl UnwindSafe for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl UnwindSafe for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl UnwindSafe for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl UnwindSafe for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl UnwindSafe for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl UnwindSafe for GetLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::GetLevels"]},{"text":"impl UnwindSafe for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl UnwindSafe for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl UnwindSafe for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl UnwindSafe for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl UnwindSafe for add_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::add_mcaptcha"]},{"text":"impl UnwindSafe for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl UnwindSafe for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl UnwindSafe for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl UnwindSafe for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl UnwindSafe for GIT_COMMIT_HASH","synthetic":true,"types":["guard::GIT_COMMIT_HASH"]}]; +implementors["kv_test_util"] = [{"text":"impl UnwindSafe for Challenge","synthetic":true,"types":["kv_test_util::Challenge"]}]; +implementors["tests_migrate"] = [{"text":"impl !UnwindSafe for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/kv_test_util/all.html b/kv_test_util/all.html new file mode 100644 index 00000000..230a541f --- /dev/null +++ b/kv_test_util/all.html @@ -0,0 +1,7 @@ +List of all items in this crate + +

List of all items[] + +

Structs

Functions

Typedefs

+ \ No newline at end of file diff --git a/kv_test_util/fn.main.html b/kv_test_util/fn.main.html new file mode 100644 index 00000000..ea72f6eb --- /dev/null +++ b/kv_test_util/fn.main.html @@ -0,0 +1,5 @@ +kv_test_util::main - Rust + +

Function kv_test_util::main[][src]

pub(crate) fn main()
+ \ No newline at end of file diff --git a/kv_test_util/fn.server.html b/kv_test_util/fn.server.html new file mode 100644 index 00000000..323db55e --- /dev/null +++ b/kv_test_util/fn.server.html @@ -0,0 +1,5 @@ +kv_test_util::server - Rust + +

Function kv_test_util::server[][src]

pub async fn server(ip: &str, tx: Sender<Server>)
+ \ No newline at end of file diff --git a/kv_test_util/fn.util_server_add.html b/kv_test_util/fn.util_server_add.html new file mode 100644 index 00000000..2dea7ca9 --- /dev/null +++ b/kv_test_util/fn.util_server_add.html @@ -0,0 +1,5 @@ +kv_test_util::util_server_add - Rust + +

Function kv_test_util::util_server_add[][src]

pub(crate) async fn util_server_add(
    key: Path<String>,
    payload: Json<Challenge>,
    data: Data<Arc<RwLock<HashMap<String, Challenge>>>>
) -> impl Responder
+ \ No newline at end of file diff --git a/kv_test_util/fn.util_server_retrive.html b/kv_test_util/fn.util_server_retrive.html new file mode 100644 index 00000000..cd05a08c --- /dev/null +++ b/kv_test_util/fn.util_server_retrive.html @@ -0,0 +1,5 @@ +kv_test_util::util_server_retrive - Rust + +

Function kv_test_util::util_server_retrive[][src]

pub(crate) async fn util_server_retrive(
    key: Path<String>,
    data: Data<Arc<RwLock<HashMap<String, Challenge>>>>
) -> impl Responder
+ \ No newline at end of file diff --git a/kv_test_util/index.html b/kv_test_util/index.html new file mode 100644 index 00000000..2c59cec5 --- /dev/null +++ b/kv_test_util/index.html @@ -0,0 +1,8 @@ +kv_test_util - Rust + +

Crate kv_test_util[][src]

Structs

+
Challenge

Functions

+
main
server
util_server_add
util_server_retrive

Type Definitions

+
UtilKVServer
+ \ No newline at end of file diff --git a/kv_test_util/sidebar-items.js b/kv_test_util/sidebar-items.js new file mode 100644 index 00000000..2c22c71d --- /dev/null +++ b/kv_test_util/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["main",""],["server",""],["util_server_add",""],["util_server_retrive",""]],"struct":[["Challenge",""]],"type":[["UtilKVServer",""]]}); \ No newline at end of file diff --git a/kv_test_util/struct.Challenge.html b/kv_test_util/struct.Challenge.html new file mode 100644 index 00000000..6a2e9ecd --- /dev/null +++ b/kv_test_util/struct.Challenge.html @@ -0,0 +1,124 @@ +kv_test_util::Challenge - Rust + +

Struct kv_test_util::Challenge[][src]

pub struct Challenge {
+    verification_challenge: String,
+}

+ Fields

verification_challenge: String

Trait Implementations

impl Clone for Challenge[src]

impl Debug for Challenge[src]

impl<'de> Deserialize<'de> for Challenge[src]

impl Serialize for Challenge[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Same<T> for T

type Output = T

Should always be Self

+

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

+

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/kv_test_util/type.UtilKVServer.html b/kv_test_util/type.UtilKVServer.html new file mode 100644 index 00000000..f89205cd --- /dev/null +++ b/kv_test_util/type.UtilKVServer.html @@ -0,0 +1,5 @@ +kv_test_util::UtilKVServer - Rust + +

Type Definition kv_test_util::UtilKVServer[][src]

type UtilKVServer = Arc<RwLock<HashMap<String, Challenge>>>;
+ \ No newline at end of file diff --git a/main.js b/main.js index 03cfb2cc..7217fe8e 100644 --- a/main.js +++ b/main.js @@ -1,5 +1,5 @@ -if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}function getSearchInput(){return document.getElementsByClassName("search-input")[0]}function getSearchElement(){return document.getElementById("search")}function getThemesElement(){return document.getElementById("theme-choices")}function getThemePickerElement(){return document.getElementById("theme-picker")}function focusSearchBar(){getSearchInput().focus()}function defocusSearchBar(){getSearchInput().blur()}(function(){"use strict";var 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"];var disableShortcuts=getSettingValue("disable-shortcuts")==="true";var search_input=getSearchInput();var searchTimeout=null;var toggleAllDocsId="toggle-all-docs";var currentTab=0;var mouseMovedAfterSearch=true;var titleBeforeSearch=document.title;var searchTitle=null;function clearInputTimeout(){if(searchTimeout!==null){clearTimeout(searchTimeout);searchTimeout=null}}function getPageId(){if(window.location.hash){var tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop=""}function showSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(main,"hidden");removeClass(search,"hidden");mouseMovedAfterSearch=false;document.title=searchTitle}function hideSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=titleBeforeSearch}var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function getQueryStringParams(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function isHidden(elem){return elem.offsetHeight===0}var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=getSearchElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){hideSearchResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(hash,"","?search=#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}elem=document.getElementById(savedHash.slice(1));if(!elem||!isHidden(elem)){return}var parent=elem.parentNode;if(parent&&hasClass(parent,"impl-items")){onEachLazy(parent.getElementsByClassName("collapsed"),function(e){if(e.parentNode===parent){e.click();return true}});if(isHidden(elem)){if(hasClass(parent.lastElementChild,"collapse-toggle")){parent.lastElementChild.click()}}}}}function highlightSourceLines(match,ev){if(typeof match==="undefined"){hideSidebar();match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to0){collapseDocs(collapses[0],"show")}}}}function getHelpElement(){buildHelperPopup();return document.getElementById("help")}function displayHelp(display,ev,help){help=help?help:getHelpElement();if(display===true){if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else if(hasClass(help,"hidden")===false){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}function handleEscape(ev){var help=getHelpElement();var search=getSearchElement();if(hasClass(help,"hidden")===false){displayHelp(false,ev,help)}else if(hasClass(search,"hidden")===false){clearInputTimeout();ev.preventDefault();hideSearchResults(search)}defocusSearchBar();hideThemeButtonState()}function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts===true){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();focusSearchBar();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:var themePicker=getThemePickerElement();if(themePicker.parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!=="theme-picker"){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!=="theme-picker"){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id==="theme-picker"&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}function findParentElement(elem,tagName){do{if(elem&&elem.tagName===tagName){return elem}elem=elem.parentNode}while(elem);return null}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function resetMouseMoved(ev){mouseMovedAfterSearch=true}document.addEventListener("mousemove",resetMouseMoved);var handleSourceHighlight=(function(){var prev_line_id=0;var set_fragment=function(name){var x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return function(ev){var cur_line_id=parseInt(ev.target.id,10);ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());document.addEventListener("click",function(ev){if(hasClass(ev.target,"help-button")){displayHelp(true,ev)}else if(hasClass(ev.target,"collapse-toggle")){collapseDocs(ev.target,"toggle")}else if(hasClass(ev.target.parentNode,"collapse-toggle")){collapseDocs(ev.target.parentNode,"toggle")}else if(ev.target.tagName==="SPAN"&&hasClass(ev.target.parentNode,"line-numbers")){handleSourceHighlight(ev)}else if(hasClass(getHelpElement(),"hidden")===false){var help=getHelpElement();var is_inside_help_popup=ev.target!==help&&help.contains(ev.target);if(is_inside_help_popup===false){addClass(help,"hidden");removeClass(document.body,"blur")}}else{var a=findParentElement(ev.target,"A");if(a&&a.hash){expandSection(a.hash.replace(/^#/,""))}}});(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=rootPath.match(/\.\.\//g).length+1;for(i=0;i-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;if(isType!==true||obj.type){var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnProperty(results,entry)){ar.push(results[entry])}}results=ar;var i;var nresults=results.length;for(i=0;ib?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}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});var length=results.length;for(i=0;i"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectFromId(id){if(typeof id==="number"){return searchIndex[id]}return{'name':id}}function checkGenerics(obj,val){var lev_distance=MAX_LEV_DISTANCE+1;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var total=0;var done=0;var vlength=val.generics.length;for(var y=0;yGENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var allFound=true;for(var y=0;allFound===true&&yGENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch===true){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var length=obj[GENERICS_DATA].length;for(x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x0){var length=obj.type[INPUTS_DATA].length;for(var i=0;iOUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0;xlength){return MAX_LEV_DISTANCE+1}for(var i=0;ilength){break}var lev_total=0;var aborted=false;for(var x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(aborted===false){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var 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 generateId(ty){if(ty.parent&&ty.parent.name){return itemTypes[ty.ty]+ty.path+ty.parent.name+ty.name}return itemTypes[ty.ty]+ty.path+ty.name}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,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];var i;if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){for(i=0;iMAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i;var ty;var fullId;var returned;var in_args;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0;i1?paths.length-1:1);var lev;for(j=0;j1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=generateId(ty);if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||searchWords[j].replace(/_/g,"").indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=searchWords[j].replace(/_/g,"").indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){lev=MAX_LEV_DISTANCE+1}else{lev+=1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0;i-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function initSearchNav(){var hoverTimeout;var click_func=function(e){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}var dst=e.target.getElementsByTagName("a");if(dst.length<1){return}dst=dst[0];if(window.location.pathname===dst.pathname){hideSearchResults();document.location.href=dst.href}};var mouseover_func=function(e){if(mouseMovedAfterSearch){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}clearTimeout(hoverTimeout);hoverTimeout=setTimeout(function(){onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){removeClass(i_e,"highlighted")})});addClass(el,"highlighted")},20)}};onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){i_e.onclick=click_func;i_e.onmouseover=mouseover_func})});search_input.onkeydown=function(e){var actives=[[],[],[]];var current=0;onEachLazy(document.getElementById("results").childNodes,function(e){onEachLazy(e.getElementsByClassName("highlighted"),function(h_e){actives[current].push(h_e)});current+=1});if(e.which===38){if(e.ctrlKey){printTab(currentTab>0?currentTab-1:2)}else{if(!actives[currentTab].length||!actives[currentTab][0].previousElementSibling){return}addClass(actives[currentTab][0].previousElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===40){if(e.ctrlKey){printTab(currentTab>1?0:currentTab+1)}else if(!actives[currentTab].length){var results=document.getElementById("results").childNodes;if(results.length>0){var res=results[currentTab].getElementsByClassName("result");if(res.length>0){addClass(res[0],"highlighted")}}}else if(actives[currentTab][0].nextElementSibling){addClass(actives[currentTab][0].nextElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===13){if(actives[currentTab].length){document.location.href=actives[currentTab][0].getElementsByTagName("a")[0].href}}else if(e.which===16){}else if(actives[currentTab].length>0){removeClass(actives[currentTab][0],"highlighted")}}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var splitPath=item.path.split("::");var enumName=splitPath.pop();path=splitPath.join("::");displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraStyle="";if(display===false){extraStyle=" style=\"display: none;\""}var output="";var duplicates={};var length=0;if(array.length>0){output="";array.forEach(function(item){var name,type;name=item.name;type=itemTypes[item.ty];if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}length+=1;output+=""});output+="
"+""+(item.is_alias===true?(""+item.alias+"  - see "):"")+item.displayPath+""+name+""+""+""+item.desc+" 
"}else{output="
No results :(
"+"Try on DuckDuckGo?

"+"Or try looking in one of these:
"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(currentTab===tabNb){return""}return""}function showResults(results){var search=getSearchElement();if(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==getSearchLoadingText())){var elem=document.createElement("a");elem.href=results.others[0].href;elem.style.display="none";document.body.appendChild(elem);elem.click();return}var query=getQuery(search_input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);var output="

Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"

"+"
"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
"+ret_others[0]+ret_in_args[0]+ret_returned[0]+"
";search.innerHTML=output;showSearchResults(search);var tds=search.getElementsByTagName("td");var td_width=0;if(tds.length>0){td_width=tds[0].offsetWidth}var width=search.offsetWidth-40-td_width;onEachLazy(search.getElementsByClassName("desc"),function(e){e.style.width=width+"px"});initSearchNav();var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0;itpositions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0;xpositions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0;i1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnProperty(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=getQueryStringParams();var query=getQuery(search_input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(forced!==true&&query.id===currentResults){if(query.query.length>0){putBackSearch(search_input)}return}searchTitle="Results for "+query.query+" - Rust";if(browserSupportsHistoryApi()){if(!history.state&&!params.search){history.pushState(query,"","?search="+encodeURIComponent(query.raw))}else{history.replaceState(query,"","?search="+encodeURIComponent(query.raw))}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i;var currentIndex=0;for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);searchIndex.push({crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,type:null,});currentIndex+=1;var items=rawSearchIndex[crate].i;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}search()}index=buildIndex(rawSearchIndex);startSearch();if(rootPath==="../"||rootPath==="./"){var sidebar=document.getElementsByClassName("sidebar-elems")[0];if(sidebar){var div=document.createElement("div");div.className="block crate";div.innerHTML="

Crates

";var ul=document.createElement("ul");div.appendChild(ul);var crates=[];for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}crates.push(crate)}crates.sort();for(var i=0;i','`').replace('','`');return x.innerText}window.initSidebarItems=function(items){var sidebar=document.getElementsByClassName("sidebar-elems")[0];var current=window.sidebarCurrent;function block(shortty,longty){var filtered=items[shortty];if(!filtered){return}var div=document.createElement("div");div.className="block "+shortty;var h3=document.createElement("h3");h3.textContent=longty;div.appendChild(h3);var ul=document.createElement("ul");var length=filtered.length;for(var i=0;i"+""+"
"+code.outerHTML+"
";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function onEveryMatchingChild(elem,className,func){if(elem&&className&&func){var length=elem.childNodes.length;var nodes=elem.childNodes;for(var i=0;i"+labelForToggleButton(sectionIsCollapsed)+"
]";return toggle}function createToggle(toggle,otherMessage,fontSize,extraClass,show){var span=document.createElement("span");span.className="toggle-label";if(show){span.style.display="none"}if(!otherMessage){span.innerHTML=" Expand description"}else{span.innerHTML=otherMessage}if(fontSize){span.style.fontSize=fontSize}var mainToggle=toggle.cloneNode(true);mainToggle.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper";if(!show){addClass(wrapper,"collapsed");var inner=mainToggle.getElementsByClassName("inner");if(inner&&inner.length>0){inner[0].innerHTML="+"}}if(extraClass){addClass(wrapper,extraClass)}wrapper.appendChild(mainToggle);return wrapper}(function(){var toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}var toggle=createSimpleToggle(false);var hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";var hideImplementors=getSettingValue("auto-collapse-implementors")!=="false";var pageId=getPageId();var func=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(!next){return}if(hasClass(next,"docblock")){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideMethodDocs===true&&hasClass(e,"method")===true){collapseDocs(newToggle,"hide",pageId)}}};var funcImpl=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(next&&hasClass(next,"docblock")){next=next.nextElementSibling}if(!next){return}if(hasClass(e,"impl")&&(next.getElementsByClassName("method").length>0||next.getElementsByClassName("associatedconstant").length>0)){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideImplementors===true&&e.parentNode.id==="implementors-list"){collapseDocs(newToggle,"hide",pageId)}}};onEachLazy(document.getElementsByClassName("method"),func);onEachLazy(document.getElementsByClassName("associatedconstant"),func);onEachLazy(document.getElementsByClassName("impl"),funcImpl);var impl_call=function(){};if(hideMethodDocs===true){impl_call=function(e,newToggle){if(e.id.match(/^impl(?:-\d+)?$/)===null){if(hasClass(e,"impl")===true){collapseDocs(newToggle,"hide",pageId)}}}}var newToggle=document.createElement("a");newToggle.href="javascript:void(0)";newToggle.className="collapse-toggle hidden-default collapsed";newToggle.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items";function toggleClicked(){if(hasClass(this,"collapsed")){removeClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("hidden"),function(x){if(hasClass(x,"content")===false){removeClass(x,"hidden");addClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(false)+"] Hide undocumented items"}else{addClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("x"),function(x){if(hasClass(x,"content")===false){addClass(x,"hidden");removeClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items"}}onEachLazy(document.getElementsByClassName("impl-items"),function(e){onEachLazy(e.getElementsByClassName("associatedconstant"),func);var hiddenElems=e.getElementsByClassName("hidden");var needToggle=false;var hlength=hiddenElems.length;for(var i=0;i"+getSearchLoadingText()+"";showSearchResults(search)}var sidebar_menu=document.getElementsByClassName("sidebar-menu")[0];if(sidebar_menu){sidebar_menu.onclick=function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(hasClass(sidebar,"mobile")===true){hideSidebar()}else{showSidebar()}}}if(main){onEachLazy(main.getElementsByClassName("loading-content"),function(e){e.remove()});onEachLazy(main.childNodes,function(e){if(e.tagName==="H2"||e.tagName==="H3"){var nextTagName=e.nextElementSibling.tagName;if(nextTagName=="H2"||nextTagName=="H3"){e.nextElementSibling.style.display="flex"}else{e.nextElementSibling.style.display="block"}}})}function enableSearchInput(){if(search_input){search_input.removeAttribute('disabled')}}window.addSearchOptions=function(crates){var elem=document.getElementById("crate-search");if(!elem){enableSearchInput();return}var crates_text=[];if(Object.keys(crates).length>1){for(var crate in crates){if(hasOwnProperty(crates,crate)){crates_text.push(crate)}}}crates_text.sort(function(a,b){var lower_a=a.toLowerCase();var lower_b=b.toLowerCase();if(lower_alower_b){return 1}return 0});var savedCrate=getSettingValue("saved-filter-crate");for(var i=0;ithe rustdoc book.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["ctrl + ↑ / ↓","Switch result tab"],["⏎","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("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";var infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ +if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}(function(){var rustdocVars=document.getElementById("rustdoc-vars");if(rustdocVars){window.rootPath=rustdocVars.attributes["data-root-path"].value;window.currentCrate=rustdocVars.attributes["data-current-crate"].value}var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}function getSearchInput(){return document.getElementsByClassName("search-input")[0]}function getSearchElement(){return document.getElementById("search")}function getThemesElement(){return document.getElementById("theme-choices")}function getThemePickerElement(){return document.getElementById("theme-picker")}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function focusSearchBar(){getSearchInput().focus()}function defocusSearchBar(){getSearchInput().blur()}(function(){"use strict";var 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"];var disableShortcuts=getSettingValue("disable-shortcuts")==="true";var search_input=getSearchInput();var searchTimeout=null;var toggleAllDocsId="toggle-all-docs";var currentTab=0;var mouseMovedAfterSearch=true;var titleBeforeSearch=document.title;var searchTitle=null;function clearInputTimeout(){if(searchTimeout!==null){clearTimeout(searchTimeout);searchTimeout=null}}function getPageId(){if(window.location.hash){var tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop=""}function showSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(main,"hidden");removeClass(search,"hidden");mouseMovedAfterSearch=false;document.title=searchTitle}function hideSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=titleBeforeSearch}var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function getQueryStringParams(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function isHidden(elem){return elem.offsetHeight===0}var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=getSearchElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){hideSearchResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(hash,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}elem=document.getElementById(savedHash.slice(1));if(!elem||!isHidden(elem)){return}var parent=elem.parentNode;if(parent&&hasClass(parent,"impl-items")){onEachLazy(parent.getElementsByClassName("collapsed"),function(e){if(e.parentNode===parent){e.click();return true}});if(isHidden(elem)){if(hasClass(parent.lastElementChild,"collapse-toggle")){parent.lastElementChild.click()}}}}}function highlightSourceLines(match,ev){if(typeof match==="undefined"){hideSidebar();match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to0){collapseDocs(collapses[0],"show")}}}}function getHelpElement(){buildHelperPopup();return document.getElementById("help")}function displayHelp(display,ev,help){help=help?help:getHelpElement();if(display===true){if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else if(hasClass(help,"hidden")===false){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}function handleEscape(ev){var help=getHelpElement();var search=getSearchElement();if(hasClass(help,"hidden")===false){displayHelp(false,ev,help)}else if(hasClass(search,"hidden")===false){clearInputTimeout();ev.preventDefault();hideSearchResults(search)}defocusSearchBar();hideThemeButtonState()}function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts===true){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();focusSearchBar();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:var themePicker=getThemePickerElement();if(themePicker.parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!=="theme-picker"){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!=="theme-picker"){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id==="theme-picker"&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}function findParentElement(elem,tagName){do{if(elem&&elem.tagName===tagName){return elem}elem=elem.parentNode}while(elem);return null}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);document.addEventListener("mousemove",function(){mouseMovedAfterSearch=true});var handleSourceHighlight=(function(){var prev_line_id=0;var set_fragment=function(name){var x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return function(ev){var cur_line_id=parseInt(ev.target.id,10);ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());document.addEventListener("click",function(ev){if(hasClass(ev.target,"help-button")){displayHelp(true,ev)}else if(hasClass(ev.target,"collapse-toggle")){collapseDocs(ev.target,"toggle")}else if(hasClass(ev.target.parentNode,"collapse-toggle")){collapseDocs(ev.target.parentNode,"toggle")}else if(ev.target.tagName==="SPAN"&&hasClass(ev.target.parentNode,"line-numbers")){handleSourceHighlight(ev)}else if(hasClass(getHelpElement(),"hidden")===false){var help=getHelpElement();var is_inside_help_popup=ev.target!==help&&help.contains(ev.target);if(is_inside_help_popup===false){addClass(help,"hidden");removeClass(document.body,"blur")}}else{var a=findParentElement(ev.target,"A");if(a&&a.hash){expandSection(a.hash.replace(/^#/,""))}}});(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;if(isType!==true||obj.type){var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnProperty(results,entry)){ar.push(results[entry])}}results=ar;var i,len,result;for(i=0,len=results.length;ib?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}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});for(i=0,len=results.length;i"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectFromId(id){if(typeof id==="number"){return searchIndex[id]}return{'name':id}}function checkGenerics(obj,val){var lev_distance=MAX_LEV_DISTANCE+1;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var total=0;var done=0;var vlength=val.generics.length;for(var y=0;yGENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var allFound=true;len=val.generics.length;for(y=0;allFound===true&&yGENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch===true){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){return obj[GENERICS_DATA].some(function(name){return name===val.name})}return false}lev_distance=Math.min(levenshtein(obj[NAME],val.name),lev_distance);if(lev_distance<=MAX_LEV_DISTANCE){lev_distance=Math.ceil((checkGenerics(obj,val)+lev_distance)/2)}else if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x0){var length=obj.type[INPUTS_DATA].length;for(var i=0;iOUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0,len=ret.length;xlength){return MAX_LEV_DISTANCE+1}for(var i=0;ilength){break}var lev_total=0;var aborted=false;for(var x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(aborted===false){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var 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 generateId(ty){if(ty.parent&&ty.parent.name){return itemTypes[ty.ty]+ty.path+ty.parent.name+ty.name}return itemTypes[ty.ty]+ty.path+ty.name}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,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){var query_aliases=ALIASES[filterCrates][query.search];var len=query_aliases.length;for(var i=0;iMAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i,it;var ty;var fullId;var returned;var in_args;var len;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0,len=inputs.length;i1?paths.length-1:1);var lev;for(j=0;j1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=generateId(ty);if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||searchWords[j].replace(/_/g,"").indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=searchWords[j].replace(/_/g,"").indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){lev=MAX_LEV_DISTANCE+1}else{lev+=1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0,len=keys.length;i-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function initSearchNav(){var hoverTimeout;var click_func=function(e){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}var dst=e.target.getElementsByTagName("a");if(dst.length<1){return}dst=dst[0];if(window.location.pathname===dst.pathname){hideSearchResults();document.location.href=dst.href}};var mouseover_func=function(e){if(mouseMovedAfterSearch){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}clearTimeout(hoverTimeout);hoverTimeout=setTimeout(function(){onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){removeClass(i_e,"highlighted")})});addClass(el,"highlighted")},20)}};onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){i_e.onclick=click_func;i_e.onmouseover=mouseover_func})});search_input.onkeydown=function(e){var actives=[[],[],[]];var current=0;onEachLazy(document.getElementById("results").childNodes,function(e){onEachLazy(e.getElementsByClassName("highlighted"),function(h_e){actives[current].push(h_e)});current+=1});if(e.which===38){if(e.ctrlKey){printTab(currentTab>0?currentTab-1:2)}else{if(!actives[currentTab].length||!actives[currentTab][0].previousElementSibling){return}addClass(actives[currentTab][0].previousElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===40){if(e.ctrlKey){printTab(currentTab>1?0:currentTab+1)}else if(!actives[currentTab].length){var results=document.getElementById("results").childNodes;if(results.length>0){var res=results[currentTab].getElementsByClassName("result");if(res.length>0){addClass(res[0],"highlighted")}}}else if(actives[currentTab][0].nextElementSibling){addClass(actives[currentTab][0].nextElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===13){if(actives[currentTab].length){document.location.href=actives[currentTab][0].getElementsByTagName("a")[0].href}}else if(e.which===16){}else if(actives[currentTab].length>0){removeClass(actives[currentTab][0],"highlighted")}}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=window.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=window.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=window.rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var splitPath=item.path.split("::");var enumName=splitPath.pop();path=splitPath.join("::");displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=window.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraStyle="";if(display===false){extraStyle=" style=\"display: none;\""}var output="";var duplicates={};var length=0;if(array.length>0){output="";array.forEach(function(item){var name,type;name=item.name;type=itemTypes[item.ty];if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}length+=1;output+=""});output+="
"+""+(item.is_alias===true?(""+item.alias+"  - see "):"")+item.displayPath+""+name+""+""+""+item.desc+" 
"}else{output="
No results :(
"+"Try on DuckDuckGo?

"+"Or try looking in one of these:
"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(currentTab===tabNb){return""}return""}function showResults(results){var search=getSearchElement();if(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==getSearchLoadingText())){var elem=document.createElement("a");elem.href=results.others[0].href;elem.style.display="none";document.body.appendChild(elem);elem.click();return}var query=getQuery(search_input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);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}}var output="

Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"

"+"
"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
"+ret_others[0]+ret_in_args[0]+ret_returned[0]+"
";search.innerHTML=output;showSearchResults(search);initSearchNav();var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0,len=positions.length;itpositions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0,arrays_len=arrays.length;xpositions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0,len=queries.length;i1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnProperty(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=getQueryStringParams();var query=getQuery(search_input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(forced!==true&&query.id===currentResults){if(query.query.length>0){putBackSearch(search_input)}return}searchTitle="Results for "+query.query+" - Rust";if(browserSupportsHistoryApi()){var newURL=getNakedUrl()+"?search="+encodeURIComponent(query.raw)+window.location.hash;if(!history.state&&!params.search){history.pushState(query,"",newURL)}else{history.replaceState(query,"",newURL)}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i;var currentIndex=0;for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);searchIndex.push({crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,type:null,});currentIndex+=1;var items=rawSearchIndex[crate].i;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}search()}index=buildIndex(rawSearchIndex);startSearch();if(window.rootPath==="../"||window.rootPath==="./"){var sidebar=document.getElementsByClassName("sidebar-elems")[0];if(sidebar){var div=document.createElement("div");div.className="block crate";div.innerHTML="

Crates

";var ul=document.createElement("ul");div.appendChild(ul);var crates=[];for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}crates.push(crate)}crates.sort();for(var i=0;i','`').replace('','`');return x.innerText}window.initSidebarItems=function(items){var sidebar=document.getElementsByClassName("sidebar-elems")[0];var current=window.sidebarCurrent;function block(shortty,longty){var filtered=items[shortty];if(!filtered){return}var div=document.createElement("div");div.className="block "+shortty;var h3=document.createElement("h3");h3.textContent=longty;div.appendChild(h3);var ul=document.createElement("ul");for(var i=0,len=filtered.length;i"+""+"
"+code.outerHTML+"
";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function onEveryMatchingChild(elem,className,func){if(elem&&className&&func){var length=elem.childNodes.length;var nodes=elem.childNodes;for(var i=0;i"+labelForToggleButton(sectionIsCollapsed)+"
]";return toggle}function createToggle(toggle,otherMessage,fontSize,extraClass,show){var span=document.createElement("span");span.className="toggle-label";if(show){span.style.display="none"}if(!otherMessage){span.innerHTML=" Expand description"}else{span.innerHTML=otherMessage}if(fontSize){span.style.fontSize=fontSize}var mainToggle=toggle.cloneNode(true);mainToggle.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper";if(!show){addClass(wrapper,"collapsed");var inner=mainToggle.getElementsByClassName("inner");if(inner&&inner.length>0){inner[0].innerHTML="+"}}if(extraClass){addClass(wrapper,extraClass)}wrapper.appendChild(mainToggle);return wrapper}(function(){var toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}var toggle=createSimpleToggle(false);var hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";var hideImplementors=getSettingValue("auto-collapse-implementors")!=="false";var func=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(!next){return}if(hasClass(next,"docblock")){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideMethodDocs===true&&hasClass(e,"method")===true){collapseDocs(newToggle,"hide")}}};var funcImpl=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(next&&hasClass(next,"docblock")){next=next.nextElementSibling}if(!next){return}if(hasClass(e,"impl")&&(next.getElementsByClassName("method").length>0||next.getElementsByClassName("associatedconstant").length>0)){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideImplementors===true&&e.parentNode.id==="implementors-list"){collapseDocs(newToggle,"hide")}}};onEachLazy(document.getElementsByClassName("method"),func);onEachLazy(document.getElementsByClassName("associatedconstant"),func);onEachLazy(document.getElementsByClassName("impl"),funcImpl);var impl_call=function(){};if(hideMethodDocs===true){impl_call=function(e,newToggle){if(e.id.match(/^impl(?:-\d+)?$/)===null){if(hasClass(e,"impl")===true){collapseDocs(newToggle,"hide")}}}}var newToggle=document.createElement("a");newToggle.href="javascript:void(0)";newToggle.className="collapse-toggle hidden-default collapsed";newToggle.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items";function toggleClicked(){if(hasClass(this,"collapsed")){removeClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("hidden"),function(x){if(hasClass(x,"content")===false){removeClass(x,"hidden");addClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(false)+"] Hide undocumented items"}else{addClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("x"),function(x){if(hasClass(x,"content")===false){addClass(x,"hidden");removeClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items"}}onEachLazy(document.getElementsByClassName("impl-items"),function(e){onEachLazy(e.getElementsByClassName("associatedconstant"),func);var hiddenElems=Array.prototype.slice.call(e.getElementsByClassName("hidden"));var needToggle=hiddenElems.some(function(hiddenElem){return hasClass(hiddenElem,"content")===false&&hasClass(hiddenElem,"docblock")===false});if(needToggle===true){var inner_toggle=newToggle.cloneNode(true);inner_toggle.onclick=toggleClicked;e.insertBefore(inner_toggle,e.firstChild);impl_call(e.previousSibling,inner_toggle)}});var currentType=document.getElementsByClassName("type-decl")[0];var className=null;if(currentType){currentType=currentType.getElementsByClassName("rust")[0];if(currentType){currentType.classList.forEach(function(item){if(item!=="main"){className=item;return true}})}}var showItemDeclarations=getSettingValue("auto-hide-"+className);if(showItemDeclarations===null){if(className==="enum"||className==="macro"){showItemDeclarations="false"}else if(className==="struct"||className==="union"||className==="trait"){showItemDeclarations="true"}else{showItemDeclarations=getSettingValue("auto-hide-declarations")}}showItemDeclarations=showItemDeclarations==="false";function buildToggleWrapper(e){if(hasClass(e,"autohide")){var wrap=e.previousElementSibling;if(wrap&&hasClass(wrap,"toggle-wrapper")){var inner_toggle=wrap.childNodes[0];var extra=e.childNodes[0].tagName==="H3";e.style.display="none";addClass(wrap,"collapsed");onEachLazy(inner_toggle.getElementsByClassName("inner"),function(e){e.innerHTML=labelForToggleButton(true)});onEachLazy(inner_toggle.getElementsByClassName("toggle-label"),function(e){e.style.display="inline-block";if(extra===true){e.innerHTML=" Show "+e.childNodes[0].innerHTML}})}}if(e.parentNode.id==="main"){var otherMessage="";var fontSize;var extraClass;if(hasClass(e,"type-decl")){fontSize="20px";otherMessage=" Show declaration";if(showItemDeclarations===false){extraClass="collapsed"}}else if(hasClass(e,"sub-variant")){otherMessage=" Show fields"}else if(hasClass(e,"non-exhaustive")){otherMessage=" This ";if(hasClass(e,"non-exhaustive-struct")){otherMessage+="struct"}else if(hasClass(e,"non-exhaustive-enum")){otherMessage+="enum"}else if(hasClass(e,"non-exhaustive-variant")){otherMessage+="enum variant"}else if(hasClass(e,"non-exhaustive-type")){otherMessage+="type"}otherMessage+=" is marked as non-exhaustive"}else if(hasClass(e.childNodes[0],"impl-items")){extraClass="marg-left"}e.parentNode.insertBefore(createToggle(toggle,otherMessage,fontSize,extraClass,hasClass(e,"type-decl")===false||showItemDeclarations===true),e);if(hasClass(e,"type-decl")===true&&showItemDeclarations===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}if(hasClass(e,"non-exhaustive")===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}}}onEachLazy(document.getElementsByClassName("docblock"),buildToggleWrapper);onEachLazy(document.getElementsByClassName("sub-variant"),buildToggleWrapper);autoCollapse(getSettingValue("collapse")==="true");var pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());function createToggleWrapper(tog){var span=document.createElement("span");span.className="toggle-label";span.style.display="none";span.innerHTML=" Expand attributes";tog.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper toggle-attributes";wrapper.appendChild(tog);return wrapper}(function(){var itemAttributesFunc=function(){};if(getSettingValue("auto-hide-attributes")!=="false"){itemAttributesFunc=function(x){collapseDocs(x.previousSibling.childNodes[0],"toggle")}}var attributesToggle=createToggleWrapper(createSimpleToggle(false));onEachLazy(main.getElementsByClassName("attributes"),function(i_e){var attr_tog=attributesToggle.cloneNode(true);if(hasClass(i_e,"top-attr")===true){addClass(attr_tog,"top-attr")}i_e.parentNode.insertBefore(attr_tog,i_e);itemAttributesFunc(i_e)})}());(function(){var lineNumbersFunc=function(){};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=function(x){var count=x.textContent.split("\n").length;var elems=[];for(var i=0;i"+getSearchLoadingText()+"";showSearchResults(search)}var sidebar_menu=document.getElementsByClassName("sidebar-menu")[0];if(sidebar_menu){sidebar_menu.onclick=function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(hasClass(sidebar,"mobile")===true){hideSidebar()}else{showSidebar()}}}if(main){onEachLazy(main.getElementsByClassName("loading-content"),function(e){e.remove()});onEachLazy(main.childNodes,function(e){if(e.tagName==="H2"||e.tagName==="H3"){var nextTagName=e.nextElementSibling.tagName;if(nextTagName=="H2"||nextTagName=="H3"){e.nextElementSibling.style.display="flex"}else{e.nextElementSibling.style.display="block"}}})}function enableSearchInput(){if(search_input){search_input.removeAttribute('disabled')}}window.addSearchOptions=function(crates){var elem=document.getElementById("crate-search");if(!elem){enableSearchInput();return}var crates_text=[];if(Object.keys(crates).length>1){for(var crate in crates){if(hasOwnProperty(crates,crate)){crates_text.push(crate)}}}crates_text.sort(function(a,b){var lower_a=a.toLowerCase();var lower_b=b.toLowerCase();if(lower_alower_b){return 1}return 0});var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates_text.length;ithe rustdoc book.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["ctrl + ↑ / ↓","Switch result tab"],["⏎","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("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";var infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ enum, trait, type, macro, \ and const.","Search functions by type signature (e.g., vec -> usize or \ diff --git a/rustdoc.css b/rustdoc.css index 757de199..ecb81ce7 100644 --- a/rustdoc.css +++ b/rustdoc.css @@ -1 +1 @@ - @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff") format('woff');}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff") format('woff');}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:400;src:local('Source Serif Pro'),url("SourceSerifPro-Regular.ttf.woff") format('woff');}@font-face {font-family:'Source Serif Pro';font-style:italic;font-weight:400;src:local('Source Serif Pro Italic'),url("SourceSerifPro-It.ttf.woff") format('woff');}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:700;src:local('Source Serif Pro Bold'),url("SourceSerifPro-Bold.ttf.woff") format('woff');}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.woff") format('woff');}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.woff") format('woff');}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif Pro",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.notable),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h3.type{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table td:first-child>a,.collapse-toggle,div.item-list .out-of-band,#source-sidebar,#sidebar-toggle{font-family:"Fira Sans",sans-serif;}.content ul.crate a.crate{font:16px/1.6 "Fira Sans";}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code,.docblock code.spotlight{padding:0;}.docblock code.spotlight :last-child{padding-bottom:0.6em;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc:not(.source) .example-wrap{display:inline-flex;margin-bottom:10px;position:relative;}.example-wrap{width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;border-top-left-radius:5px;border-bottom-left-radius:5px;padding:13px 8px;text-align:right;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;margin-bottom:40px;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock code,.docblock-short code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}#main>h2+div,#main>h2+h3,#main>h3+div{display:none;flex-wrap:wrap;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{float:right;font-size:23px;margin:0px;padding:0px;font-weight:normal;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;margin-top:-13px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'⬑';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,h4>code+.srclink,h3>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:50%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a:after{clear:both;content:"";display:block;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.module-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.impl-items .since,.impl .since,.methods .since{flex-grow:0;padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{flex-grow:0;font-size:17px;font-weight:normal;}.impl-items code,.impl code,.methods code{flex-grow:1;}.impl-items h4,h4.impl,h3.impl,.methods h3{display:flex;flex-basis:100%;font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.collapse-toggle.hidden-default{position:relative;margin-left:20px;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:1px !important;}#main>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}h4>.notable-traits{position:absolute;left:-44px;top:2px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,.help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}.help-button{right:30px;font-family:"Fira Sans",sans-serif;text-align:center;font-size:17px;}#theme-picker,#settings-menu,.help-button{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (min-width:701px){.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}h1.fqn{overflow:initial;}.theme-picker{left:10px;top:54px;z-index:1;}h4>.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}.help-button{display:none;}.search-container>div{width:calc(100% - 32px);}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}@media (max-width:416px){#titles,#titles>button{height:73px;}#main{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}}h3.notable{margin:0;margin-bottom:13px;font-size:19px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}.type-decl>pre>.toggle-wrapper.toggle-attributes.top-attr{margin-left:0 !important;}.type-decl>pre>.docblock.attributes.top-attr{margin-left:1.8em !important;}.type-decl>pre>.toggle-attributes{margin-left:2.2em;}.type-decl>pre>.docblock.attributes{margin-left:4em;} \ No newline at end of file + @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff") format('woff');}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff") format('woff');}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:400;src:local('Source Serif Pro'),url("SourceSerifPro-Regular.ttf.woff") format('woff');}@font-face {font-family:'Source Serif Pro';font-style:italic;font-weight:400;src:local('Source Serif Pro Italic'),url("SourceSerifPro-It.ttf.woff") format('woff');}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:700;src:local('Source Serif Pro Bold'),url("SourceSerifPro-Bold.ttf.woff") format('woff');}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.woff") format('woff');}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.woff") format('woff');}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif Pro",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.notable),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h3.type{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table td:first-child>a,.collapse-toggle,div.item-list .out-of-band,#source-sidebar,#sidebar-toggle,#main>ul.docblock>li>a{font-family:"Fira Sans",sans-serif;}.content ul.crate a.crate{font:16px/1.6 "Fira Sans";}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code,.docblock code.spotlight{padding:0;padding-right:1ex;}.docblock code.spotlight :last-child{padding-bottom:0.6em;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc:not(.source) .example-wrap{display:inline-flex;margin-bottom:10px;position:relative;}.example-wrap{width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;border-top-left-radius:5px;border-bottom-left-radius:5px;padding:13px 8px;text-align:right;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;margin-bottom:40px;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock-short code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}#main>h2+div,#main>h2+h3,#main>h3+div{display:none;flex-wrap:wrap;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{float:right;font-size:23px;margin:0px;padding:0px;font-weight:normal;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;margin-top:-13px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'⬑';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,h4>code+.srclink,h3>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:50%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a:after{clear:both;content:"";display:block;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.module-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.impl-items .since,.impl .since,.methods .since{flex-grow:0;padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{flex-grow:0;font-size:17px;font-weight:normal;}.impl-items code,.impl code,.methods code{flex-grow:1;}.impl-items h4,h4.impl,h3.impl,.methods h3{display:flex;flex-basis:100%;font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.collapse-toggle.hidden-default{position:relative;margin-left:20px;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:1px !important;}#main>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}h4>.notable-traits{position:absolute;left:-44px;top:2px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,.help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}.help-button{right:30px;font-family:"Fira Sans",sans-serif;text-align:center;font-size:17px;}#theme-picker,#settings-menu,.help-button{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (min-width:701px){.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;margin-bottom:0;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main,#search{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}h1.fqn{overflow:initial;}.theme-picker{left:10px;top:54px;z-index:1;}h4>.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar.mobile>div.version{overflow:hidden;max-height:33px;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}.help-button{display:none;}.search-container>div{width:calc(100% - 32px);}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main,#search{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}.docblock{margin-left:12px;}}h3.notable{margin:0;margin-bottom:13px;font-size:19px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}.type-decl>pre>.toggle-wrapper.toggle-attributes.top-attr{margin-left:0 !important;}.type-decl>pre>.docblock.attributes.top-attr{margin-left:1.8em !important;}.type-decl>pre>.toggle-attributes{margin-left:2.2em;}.type-decl>pre>.docblock.attributes{margin-left:4em;} \ No newline at end of file diff --git a/search-index.js b/search-index.js index ed5d468b..ab92dda6 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,6 @@ var searchIndex = JSON.parse('{\ -"guard":{"doc":"","i":[[0,"data","guard","",null,null],[3,"Data","guard::data","",null,null],[12,"db","","",0,null],[12,"creds","","",0,null],[12,"captcha","","",0,null],[11,"new","","",0,[[]]],[0,"errors","guard","",null,null],[4,"ServiceError","guard::errors","",null,null],[13,"InternalServerError","","",1,null],[13,"NotAnEmail","","",1,null],[13,"NotAUrl","","",1,null],[13,"WrongPassword","","",1,null],[13,"UsernameNotFound","","",1,null],[13,"AuthorizationRequired","","",1,null],[13,"ProfainityError","","when the value passed contains profainity",1,null],[13,"BlacklistError","","when the value passed contains blacklisted words see …",1,null],[13,"UsernameCaseMappedError","","when the value passed contains characters not present in …",1,null],[13,"PasswordTooShort","","",1,null],[13,"PasswordTooLong","","",1,null],[13,"UsernameTaken","","when the a username is already taken",1,null],[13,"TokenNameTaken","","when the a token name is already taken",1,null],[13,"HostnameTaken","","when the a host name is already taken",1,null],[13,"CaptchaError","","",1,null],[3,"ErrorToResponse","","",null,null],[12,"error","","",2,null],[5,"dup_error","","",null,[[["serviceerror",4],["error",4]],["serviceerror",4]]],[6,"ServiceResult","","",null,null],[0,"api","guard","",null,null],[0,"v1","guard::api","",null,null],[0,"auth","guard::api::v1","",null,null],[3,"Register","guard::api::v1::auth","",null,null],[12,"username","","",3,null],[12,"password","","",3,null],[12,"email","","",3,null],[3,"Login","","",null,null],[12,"username","","",4,null],[12,"password","","",4,null],[3,"Password","","",null,null],[12,"password","","",5,null],[3,"signup","","",null,null],[3,"signin","","",null,null],[3,"signout","","",null,null],[5,"is_authenticated","","Check if user is authenticated",null,[[["identity",3]],[["serviceerror",4],["result",4]]]],[3,"delete_account","","",null,null],[0,"mcaptcha","guard::api::v1","",null,null],[0,"domains","guard::api::v1::mcaptcha","",null,null],[3,"Domain","guard::api::v1::mcaptcha::domains","",null,null],[12,"name","","",6,null],[3,"add_domain","","",null,null],[3,"delete_domain","","",null,null],[0,"duration","guard::api::v1::mcaptcha","",null,null],[3,"UpdateDuration","guard::api::v1::mcaptcha::duration","",null,null],[12,"token_name","","",7,null],[12,"duration","","",7,null],[3,"update_duration","","",null,null],[3,"GetDurationResp","","",null,null],[12,"duration","","",8,null],[3,"GetDuration","","",null,null],[12,"token","","",9,null],[3,"get_duration","","",null,null],[0,"levels","guard::api::v1::mcaptcha","",null,null],[3,"AddLevels","guard::api::v1::mcaptcha::levels","",null,null],[12,"levels","","",10,null],[12,"name","","",10,null],[3,"add_levels","","",null,null],[3,"update_levels","","",null,null],[3,"delete_levels","","",null,null],[3,"GetLevels","","",null,null],[12,"token","","",11,null],[3,"get_levels","","",null,null],[3,"Levels","","",null,null],[12,"levels","","",12,null],[3,"I32Levels","","",null,null],[12,"difficulty_factor","","",13,null],[12,"visitor_threshold","","",13,null],[5,"get_levels_util","","",null,[[["data",3]]]],[0,"mcaptcha","guard::api::v1::mcaptcha","",null,null],[3,"MCaptchaID","guard::api::v1::mcaptcha::mcaptcha","",null,null],[12,"name","","",14,null],[12,"domain","","",14,null],[3,"MCaptchaDetails","","",null,null],[12,"name","","",15,null],[12,"key","","",15,null],[3,"add_mcaptcha","","",null,null],[3,"delete_mcaptcha","","",null,null],[5,"get_random","","",null,[[],["string",3]]],[0,"meta","guard::api::v1","",null,null],[3,"build_details","guard::api::v1::meta","",null,null],[3,"Health","","Health check return datatype",null,null],[12,"db","","",16,null],[3,"HealthBuilder","","Builder for Health.",null,null],[12,"db","","",17,null],[11,"db","","",17,[[]]],[11,"build","","Builds a new Health.",17,[[],[["health",3],["string",3],["result",4]]]],[3,"health","","",null,null],[5,"services","guard::api::v1","",null,[[["serviceconfig",3]]]],[0,"settings","guard","",null,null],[3,"Server","guard::settings","",null,null],[12,"allow_registration","","",18,null],[12,"port","","",18,null],[12,"domain","","",18,null],[12,"cookie_secret","","",18,null],[12,"ip","","",18,null],[3,"Captcha","","",null,null],[12,"salt","","",19,null],[12,"gc","","",19,null],[11,"get_ip","","",18,[[],["string",3]]],[3,"DatabaseBuilder","","",null,null],[12,"port","","",20,null],[12,"hostname","","",20,null],[12,"username","","",20,null],[12,"password","","",20,null],[12,"name","","",20,null],[12,"url","","",20,null],[11,"extract_database_url","","",20,[[["url",3]]]],[3,"Database","","",null,null],[12,"url","","",21,null],[12,"pool","","",21,null],[3,"Settings","","",null,null],[12,"debug","","",22,null],[12,"database","","",22,null],[12,"server","","",22,null],[12,"pow","","",22,null],[11,"new","","",22,[[],[["result",4],["configerror",4]]]],[5,"set_from_database_url","","",null,[[["config",3],["databasebuilder",3]]]],[5,"set_database_url","","",null,[[["config",3]]]],[3,"Data","guard","",null,null],[12,"db","","",0,null],[12,"creds","","",0,null],[12,"captcha","","",0,null],[3,"Settings","","",null,null],[12,"debug","","",22,null],[12,"database","","",22,null],[12,"server","","",22,null],[12,"pow","","",22,null],[3,"SETTINGS","","",null,null],[12,"__private_field","","",23,null],[3,"GIT_COMMIT_HASH","","",null,null],[12,"__private_field","","",24,null],[7,"VERSION","","",null,null],[7,"PKG_NAME","","",null,null],[7,"PKG_DESCRIPTION","","",null,null],[7,"PKG_HOMEPAGE","","",null,null],[5,"main","","",null,[[],["result",6]]],[5,"get_json_err","","",null,[[],["jsonconfig",3]]],[5,"get_identity_service","","",null,[[],[["identityservice",3],["cookieidentitypolicy",3]]]],[11,"from","guard::data","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"from","guard::errors","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"to_string","","",1,[[],["string",3]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"vzip","","",2,[[]]],[11,"from","guard::api::v1::auth","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"vzip","","",3,[[]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"to_owned","","",4,[[]]],[11,"clone_into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"from","","",25,[[]]],[11,"into","","",25,[[]]],[11,"borrow","","",25,[[]]],[11,"borrow_mut","","",25,[[]]],[11,"try_from","","",25,[[],["result",4]]],[11,"try_into","","",25,[[],["result",4]]],[11,"type_id","","",25,[[],["typeid",3]]],[11,"vzip","","",25,[[]]],[11,"from","","",26,[[]]],[11,"into","","",26,[[]]],[11,"borrow","","",26,[[]]],[11,"borrow_mut","","",26,[[]]],[11,"try_from","","",26,[[],["result",4]]],[11,"try_into","","",26,[[],["result",4]]],[11,"type_id","","",26,[[],["typeid",3]]],[11,"vzip","","",26,[[]]],[11,"from","","",27,[[]]],[11,"into","","",27,[[]]],[11,"borrow","","",27,[[]]],[11,"borrow_mut","","",27,[[]]],[11,"try_from","","",27,[[],["result",4]]],[11,"try_into","","",27,[[],["result",4]]],[11,"type_id","","",27,[[],["typeid",3]]],[11,"vzip","","",27,[[]]],[11,"from","","",28,[[]]],[11,"into","","",28,[[]]],[11,"borrow","","",28,[[]]],[11,"borrow_mut","","",28,[[]]],[11,"try_from","","",28,[[],["result",4]]],[11,"try_into","","",28,[[],["result",4]]],[11,"type_id","","",28,[[],["typeid",3]]],[11,"vzip","","",28,[[]]],[11,"from","guard::api::v1::mcaptcha::domains","",6,[[]]],[11,"into","","",6,[[]]],[11,"to_owned","","",6,[[]]],[11,"clone_into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"from","","",29,[[]]],[11,"into","","",29,[[]]],[11,"borrow","","",29,[[]]],[11,"borrow_mut","","",29,[[]]],[11,"try_from","","",29,[[],["result",4]]],[11,"try_into","","",29,[[],["result",4]]],[11,"type_id","","",29,[[],["typeid",3]]],[11,"vzip","","",29,[[]]],[11,"from","","",30,[[]]],[11,"into","","",30,[[]]],[11,"borrow","","",30,[[]]],[11,"borrow_mut","","",30,[[]]],[11,"try_from","","",30,[[],["result",4]]],[11,"try_into","","",30,[[],["result",4]]],[11,"type_id","","",30,[[],["typeid",3]]],[11,"vzip","","",30,[[]]],[11,"from","guard::api::v1::mcaptcha::duration","",7,[[]]],[11,"into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"vzip","","",7,[[]]],[11,"from","","",31,[[]]],[11,"into","","",31,[[]]],[11,"borrow","","",31,[[]]],[11,"borrow_mut","","",31,[[]]],[11,"try_from","","",31,[[],["result",4]]],[11,"try_into","","",31,[[],["result",4]]],[11,"type_id","","",31,[[],["typeid",3]]],[11,"vzip","","",31,[[]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"vzip","","",8,[[]]],[11,"from","","",9,[[]]],[11,"into","","",9,[[]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"vzip","","",9,[[]]],[11,"from","","",32,[[]]],[11,"into","","",32,[[]]],[11,"borrow","","",32,[[]]],[11,"borrow_mut","","",32,[[]]],[11,"try_from","","",32,[[],["result",4]]],[11,"try_into","","",32,[[],["result",4]]],[11,"type_id","","",32,[[],["typeid",3]]],[11,"vzip","","",32,[[]]],[11,"from","guard::api::v1::mcaptcha::levels","",10,[[]]],[11,"into","","",10,[[]]],[11,"borrow","","",10,[[]]],[11,"borrow_mut","","",10,[[]]],[11,"try_from","","",10,[[],["result",4]]],[11,"try_into","","",10,[[],["result",4]]],[11,"type_id","","",10,[[],["typeid",3]]],[11,"vzip","","",10,[[]]],[11,"from","","",33,[[]]],[11,"into","","",33,[[]]],[11,"borrow","","",33,[[]]],[11,"borrow_mut","","",33,[[]]],[11,"try_from","","",33,[[],["result",4]]],[11,"try_into","","",33,[[],["result",4]]],[11,"type_id","","",33,[[],["typeid",3]]],[11,"vzip","","",33,[[]]],[11,"from","","",34,[[]]],[11,"into","","",34,[[]]],[11,"borrow","","",34,[[]]],[11,"borrow_mut","","",34,[[]]],[11,"try_from","","",34,[[],["result",4]]],[11,"try_into","","",34,[[],["result",4]]],[11,"type_id","","",34,[[],["typeid",3]]],[11,"vzip","","",34,[[]]],[11,"from","","",35,[[]]],[11,"into","","",35,[[]]],[11,"borrow","","",35,[[]]],[11,"borrow_mut","","",35,[[]]],[11,"try_from","","",35,[[],["result",4]]],[11,"try_into","","",35,[[],["result",4]]],[11,"type_id","","",35,[[],["typeid",3]]],[11,"vzip","","",35,[[]]],[11,"from","","",11,[[]]],[11,"into","","",11,[[]]],[11,"borrow","","",11,[[]]],[11,"borrow_mut","","",11,[[]]],[11,"try_from","","",11,[[],["result",4]]],[11,"try_into","","",11,[[],["result",4]]],[11,"type_id","","",11,[[],["typeid",3]]],[11,"vzip","","",11,[[]]],[11,"from","","",36,[[]]],[11,"into","","",36,[[]]],[11,"borrow","","",36,[[]]],[11,"borrow_mut","","",36,[[]]],[11,"try_from","","",36,[[],["result",4]]],[11,"try_into","","",36,[[],["result",4]]],[11,"type_id","","",36,[[],["typeid",3]]],[11,"vzip","","",36,[[]]],[11,"from","","",12,[[]]],[11,"into","","",12,[[]]],[11,"borrow","","",12,[[]]],[11,"borrow_mut","","",12,[[]]],[11,"try_from","","",12,[[],["result",4]]],[11,"try_into","","",12,[[],["result",4]]],[11,"type_id","","",12,[[],["typeid",3]]],[11,"vzip","","",12,[[]]],[11,"from","","",13,[[]]],[11,"into","","",13,[[]]],[11,"borrow","","",13,[[]]],[11,"borrow_mut","","",13,[[]]],[11,"try_from","","",13,[[],["result",4]]],[11,"try_into","","",13,[[],["result",4]]],[11,"type_id","","",13,[[],["typeid",3]]],[11,"vzip","","",13,[[]]],[11,"from","guard::api::v1::mcaptcha::mcaptcha","",14,[[]]],[11,"into","","",14,[[]]],[11,"to_owned","","",14,[[]]],[11,"clone_into","","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"vzip","","",14,[[]]],[11,"from","","",15,[[]]],[11,"into","","",15,[[]]],[11,"to_owned","","",15,[[]]],[11,"clone_into","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"vzip","","",15,[[]]],[11,"from","","",37,[[]]],[11,"into","","",37,[[]]],[11,"borrow","","",37,[[]]],[11,"borrow_mut","","",37,[[]]],[11,"try_from","","",37,[[],["result",4]]],[11,"try_into","","",37,[[],["result",4]]],[11,"type_id","","",37,[[],["typeid",3]]],[11,"vzip","","",37,[[]]],[11,"from","","",38,[[]]],[11,"into","","",38,[[]]],[11,"borrow","","",38,[[]]],[11,"borrow_mut","","",38,[[]]],[11,"try_from","","",38,[[],["result",4]]],[11,"try_into","","",38,[[],["result",4]]],[11,"type_id","","",38,[[],["typeid",3]]],[11,"vzip","","",38,[[]]],[11,"from","guard::api::v1::meta","",39,[[]]],[11,"into","","",39,[[]]],[11,"borrow","","",39,[[]]],[11,"borrow_mut","","",39,[[]]],[11,"try_from","","",39,[[],["result",4]]],[11,"try_into","","",39,[[],["result",4]]],[11,"type_id","","",39,[[],["typeid",3]]],[11,"vzip","","",39,[[]]],[11,"from","","",16,[[]]],[11,"into","","",16,[[]]],[11,"to_owned","","",16,[[]]],[11,"clone_into","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"vzip","","",16,[[]]],[11,"from","","",17,[[]]],[11,"into","","",17,[[]]],[11,"to_owned","","",17,[[]]],[11,"clone_into","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"vzip","","",17,[[]]],[11,"from","","",40,[[]]],[11,"into","","",40,[[]]],[11,"borrow","","",40,[[]]],[11,"borrow_mut","","",40,[[]]],[11,"try_from","","",40,[[],["result",4]]],[11,"try_into","","",40,[[],["result",4]]],[11,"type_id","","",40,[[],["typeid",3]]],[11,"vzip","","",40,[[]]],[11,"from","guard::settings","",18,[[]]],[11,"into","","",18,[[]]],[11,"to_owned","","",18,[[]]],[11,"clone_into","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"vzip","","",18,[[]]],[11,"from","","",19,[[]]],[11,"into","","",19,[[]]],[11,"to_owned","","",19,[[]]],[11,"clone_into","","",19,[[]]],[11,"borrow","","",19,[[]]],[11,"borrow_mut","","",19,[[]]],[11,"try_from","","",19,[[],["result",4]]],[11,"try_into","","",19,[[],["result",4]]],[11,"type_id","","",19,[[],["typeid",3]]],[11,"vzip","","",19,[[]]],[11,"from","","",20,[[]]],[11,"into","","",20,[[]]],[11,"to_owned","","",20,[[]]],[11,"clone_into","","",20,[[]]],[11,"borrow","","",20,[[]]],[11,"borrow_mut","","",20,[[]]],[11,"try_from","","",20,[[],["result",4]]],[11,"try_into","","",20,[[],["result",4]]],[11,"type_id","","",20,[[],["typeid",3]]],[11,"vzip","","",20,[[]]],[11,"from","","",21,[[]]],[11,"into","","",21,[[]]],[11,"to_owned","","",21,[[]]],[11,"clone_into","","",21,[[]]],[11,"borrow","","",21,[[]]],[11,"borrow_mut","","",21,[[]]],[11,"try_from","","",21,[[],["result",4]]],[11,"try_into","","",21,[[],["result",4]]],[11,"type_id","","",21,[[],["typeid",3]]],[11,"vzip","","",21,[[]]],[11,"from","","",22,[[]]],[11,"into","","",22,[[]]],[11,"to_owned","","",22,[[]]],[11,"clone_into","","",22,[[]]],[11,"borrow","","",22,[[]]],[11,"borrow_mut","","",22,[[]]],[11,"try_from","","",22,[[],["result",4]]],[11,"try_into","","",22,[[],["result",4]]],[11,"type_id","","",22,[[],["typeid",3]]],[11,"vzip","","",22,[[]]],[11,"from","guard","",23,[[]]],[11,"into","","",23,[[]]],[11,"borrow","","",23,[[]]],[11,"borrow_mut","","",23,[[]]],[11,"try_from","","",23,[[],["result",4]]],[11,"try_into","","",23,[[],["result",4]]],[11,"type_id","","",23,[[],["typeid",3]]],[11,"vzip","","",23,[[]]],[11,"from","","",24,[[]]],[11,"into","","",24,[[]]],[11,"borrow","","",24,[[]]],[11,"borrow_mut","","",24,[[]]],[11,"try_from","","",24,[[],["result",4]]],[11,"try_into","","",24,[[],["result",4]]],[11,"type_id","","",24,[[],["typeid",3]]],[11,"vzip","","",24,[[]]],[11,"from","guard::errors","",1,[[["credserror",4]],["serviceerror",4]]],[11,"from","","",1,[[["validationerrors",3]],["serviceerror",4]]],[11,"from","","",1,[[["parseerror",4]],["serviceerror",4]]],[11,"from","","",1,[[["captchaerror",4]],["serviceerror",4]]],[11,"from","","",1,[[["error",4]]]],[11,"clone","guard::data","",0,[[],["data",3]]],[11,"clone","guard::errors","",1,[[],["serviceerror",4]]],[11,"clone","guard::api::v1::auth","",3,[[],["register",3]]],[11,"clone","","",4,[[],["login",3]]],[11,"clone","guard::api::v1::mcaptcha::domains","",6,[[],["domain",3]]],[11,"clone","guard::api::v1::mcaptcha::mcaptcha","",14,[[],["mcaptchaid",3]]],[11,"clone","","",15,[[],["mcaptchadetails",3]]],[11,"clone","guard::api::v1::meta","",16,[[],["health",3]]],[11,"clone","","",17,[[],["healthbuilder",3]]],[11,"clone","guard::settings","",18,[[],["server",3]]],[11,"clone","","",19,[[],["captcha",3]]],[11,"clone","","",20,[[],["databasebuilder",3]]],[11,"clone","","",21,[[],["database",3]]],[11,"clone","","",22,[[],["settings",3]]],[11,"default","guard::api::v1::meta","",17,[[],["healthbuilder",3]]],[11,"eq","guard::errors","",1,[[["serviceerror",4]]]],[11,"ne","","",1,[[["serviceerror",4]]]],[11,"deref","guard","",23,[[],["settings",3]]],[11,"deref","","",24,[[],["string",3]]],[11,"fmt","guard::errors","",1,[[["formatter",3]],["result",6]]],[11,"fmt","guard::api::v1::auth","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","guard::api::v1::mcaptcha::domains","",6,[[["formatter",3]],["result",6]]],[11,"fmt","guard::api::v1::mcaptcha::mcaptcha","",14,[[["formatter",3]],["result",6]]],[11,"fmt","","",15,[[["formatter",3]],["result",6]]],[11,"fmt","guard::api::v1::meta","",16,[[["formatter",3]],["result",6]]],[11,"fmt","guard::settings","",18,[[["formatter",3]],["result",6]]],[11,"fmt","","",19,[[["formatter",3]],["result",6]]],[11,"fmt","","",20,[[["formatter",3]],["result",6]]],[11,"fmt","","",21,[[["formatter",3]],["result",6]]],[11,"fmt","","",22,[[["formatter",3]],["result",6]]],[11,"fmt","guard::errors","",1,[[["formatter",3]],["result",6]]],[11,"source","","",1,[[],[["error",8],["option",4]]]],[11,"deserialize","","",2,[[],["result",4]]],[11,"deserialize","guard::api::v1::auth","",3,[[],["result",4]]],[11,"deserialize","","",4,[[],["result",4]]],[11,"deserialize","guard::api::v1::mcaptcha::domains","",6,[[],["result",4]]],[11,"deserialize","guard::api::v1::mcaptcha::duration","",7,[[],["result",4]]],[11,"deserialize","","",8,[[],["result",4]]],[11,"deserialize","","",9,[[],["result",4]]],[11,"deserialize","guard::api::v1::mcaptcha::levels","",10,[[],["result",4]]],[11,"deserialize","","",11,[[],["result",4]]],[11,"deserialize","","",12,[[],["result",4]]],[11,"deserialize","","",13,[[],["result",4]]],[11,"deserialize","guard::api::v1::mcaptcha::mcaptcha","",14,[[],["result",4]]],[11,"deserialize","","",15,[[],["result",4]]],[11,"deserialize","guard::api::v1::meta","",16,[[],["result",4]]],[11,"deserialize","guard::settings","",18,[[],["result",4]]],[11,"deserialize","","",19,[[],["result",4]]],[11,"deserialize","","",20,[[],["result",4]]],[11,"deserialize","","",21,[[],["result",4]]],[11,"deserialize","","",22,[[],["result",4]]],[11,"serialize","guard::errors","",2,[[],["result",4]]],[11,"serialize","guard::api::v1::auth","",3,[[],["result",4]]],[11,"serialize","","",4,[[],["result",4]]],[11,"serialize","guard::api::v1::mcaptcha::domains","",6,[[],["result",4]]],[11,"serialize","guard::api::v1::mcaptcha::duration","",7,[[],["result",4]]],[11,"serialize","","",8,[[],["result",4]]],[11,"serialize","","",9,[[],["result",4]]],[11,"serialize","guard::api::v1::mcaptcha::levels","",10,[[],["result",4]]],[11,"serialize","","",11,[[],["result",4]]],[11,"serialize","","",12,[[],["result",4]]],[11,"serialize","","",13,[[],["result",4]]],[11,"serialize","guard::api::v1::mcaptcha::mcaptcha","",14,[[],["result",4]]],[11,"serialize","","",15,[[],["result",4]]],[11,"serialize","guard::api::v1::meta","",16,[[],["result",4]]],[11,"register","guard::api::v1::auth","",25,[[["appservice",3]]]],[11,"register","","",26,[[["appservice",3]]]],[11,"register","","",27,[[["appservice",3]]]],[11,"register","","",28,[[["appservice",3]]]],[11,"register","guard::api::v1::mcaptcha::domains","",29,[[["appservice",3]]]],[11,"register","","",30,[[["appservice",3]]]],[11,"register","guard::api::v1::mcaptcha::duration","",31,[[["appservice",3]]]],[11,"register","","",32,[[["appservice",3]]]],[11,"register","guard::api::v1::mcaptcha::levels","",33,[[["appservice",3]]]],[11,"register","","",34,[[["appservice",3]]]],[11,"register","","",35,[[["appservice",3]]]],[11,"register","","",36,[[["appservice",3]]]],[11,"register","guard::api::v1::mcaptcha::mcaptcha","",37,[[["appservice",3]]]],[11,"register","","",38,[[["appservice",3]]]],[11,"register","guard::api::v1::meta","",39,[[["appservice",3]]]],[11,"register","","",40,[[["appservice",3]]]],[11,"error_response","guard::errors","",1,[[],["httpresponse",3]]],[11,"status_code","","",1,[[],["statuscode",3]]],[11,"initialize","guard","",23,[[]]],[11,"initialize","","",24,[[]]]],"p":[[3,"Data"],[4,"ServiceError"],[3,"ErrorToResponse"],[3,"Register"],[3,"Login"],[3,"Password"],[3,"Domain"],[3,"UpdateDuration"],[3,"GetDurationResp"],[3,"GetDuration"],[3,"AddLevels"],[3,"GetLevels"],[3,"Levels"],[3,"I32Levels"],[3,"MCaptchaID"],[3,"MCaptchaDetails"],[3,"Health"],[3,"HealthBuilder"],[3,"Server"],[3,"Captcha"],[3,"DatabaseBuilder"],[3,"Database"],[3,"Settings"],[3,"SETTINGS"],[3,"GIT_COMMIT_HASH"],[3,"signup"],[3,"signin"],[3,"signout"],[3,"delete_account"],[3,"add_domain"],[3,"delete_domain"],[3,"update_duration"],[3,"get_duration"],[3,"add_levels"],[3,"update_levels"],[3,"delete_levels"],[3,"get_levels"],[3,"add_mcaptcha"],[3,"delete_mcaptcha"],[3,"build_details"],[3,"health"]]},\ -"tests_migrate":{"doc":"","i":[[0,"data","tests_migrate","",null,null],[3,"Data","tests_migrate::data","",null,null],[12,"db","","",0,null],[12,"creds","","",0,null],[12,"captcha","","",0,null],[11,"new","","",0,[[]]],[0,"settings","tests_migrate","",null,null],[3,"Server","tests_migrate::settings","",null,null],[12,"allow_registration","","",1,null],[12,"port","","",1,null],[12,"domain","","",1,null],[12,"cookie_secret","","",1,null],[12,"ip","","",1,null],[3,"Captcha","","",null,null],[12,"salt","","",2,null],[12,"gc","","",2,null],[11,"get_ip","","",1,[[],["string",3]]],[3,"DatabaseBuilder","","",null,null],[12,"port","","",3,null],[12,"hostname","","",3,null],[12,"username","","",3,null],[12,"password","","",3,null],[12,"name","","",3,null],[12,"url","","",3,null],[11,"extract_database_url","","",3,[[["url",3]]]],[3,"Database","","",null,null],[12,"url","","",4,null],[12,"pool","","",4,null],[3,"Settings","","",null,null],[12,"debug","","",5,null],[12,"database","","",5,null],[12,"server","","",5,null],[12,"pow","","",5,null],[11,"new","","",5,[[],[["configerror",4],["result",4]]]],[5,"set_from_database_url","","",null,[[["config",3],["databasebuilder",3]]]],[5,"set_database_url","","",null,[[["config",3]]]],[3,"Data","tests_migrate","",null,null],[12,"db","","",0,null],[12,"creds","","",0,null],[12,"captcha","","",0,null],[3,"Settings","","",null,null],[12,"debug","","",5,null],[12,"database","","",5,null],[12,"server","","",5,null],[12,"pow","","",5,null],[3,"SETTINGS","","",null,null],[12,"__private_field","","",6,null],[5,"main","","",null,[[]]],[11,"from","tests_migrate::data","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"from","tests_migrate::settings","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"vzip","","",2,[[]]],[11,"from","","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"vzip","","",3,[[]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"to_owned","","",4,[[]]],[11,"clone_into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"to_owned","","",5,[[]]],[11,"clone_into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"from","tests_migrate","",6,[[]]],[11,"into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"clone","tests_migrate::data","",0,[[],["data",3]]],[11,"clone","tests_migrate::settings","",1,[[],["server",3]]],[11,"clone","","",2,[[],["captcha",3]]],[11,"clone","","",3,[[],["databasebuilder",3]]],[11,"clone","","",4,[[],["database",3]]],[11,"clone","","",5,[[],["settings",3]]],[11,"deref","tests_migrate","",6,[[],["settings",3]]],[11,"fmt","tests_migrate::settings","",1,[[["formatter",3]],["result",6]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"fmt","","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"initialize","tests_migrate","",6,[[]]],[11,"deserialize","tests_migrate::settings","",1,[[],["result",4]]],[11,"deserialize","","",2,[[],["result",4]]],[11,"deserialize","","",3,[[],["result",4]]],[11,"deserialize","","",4,[[],["result",4]]],[11,"deserialize","","",5,[[],["result",4]]]],"p":[[3,"Data"],[3,"Server"],[3,"Captcha"],[3,"DatabaseBuilder"],[3,"Database"],[3,"Settings"],[3,"SETTINGS"]]}\ +"guard":{"doc":"","i":[[0,"data","guard","",null,null],[3,"Data","guard::data","",null,null],[12,"db","","",0,null],[12,"creds","","",0,null],[12,"captcha","","",0,null],[11,"new","","",0,[[]]],[0,"errors","guard","",null,null],[4,"ServiceError","guard::errors","",null,null],[13,"InternalServerError","","",1,null],[13,"NotAnEmail","","",1,null],[13,"NotAUrl","","",1,null],[13,"WrongPassword","","",1,null],[13,"UsernameNotFound","","",1,null],[13,"AuthorizationRequired","","",1,null],[13,"ProfainityError","","when the value passed contains profainity",1,null],[13,"BlacklistError","","when the value passed contains blacklisted words see …",1,null],[13,"UsernameCaseMappedError","","when the value passed contains characters not present in …",1,null],[13,"PasswordTooShort","","",1,null],[13,"PasswordTooLong","","",1,null],[13,"UsernameTaken","","when the a username is already taken",1,null],[13,"TokenNameTaken","","when the a token name is already taken",1,null],[13,"HostnameTaken","","when the a host name is already taken",1,null],[13,"CaptchaError","","",1,null],[13,"ClientServerUnreachable","","",1,null],[13,"ChallengeCourruption","","",1,null],[13,"ChallengeVerificationFailure","","",1,null],[3,"ErrorToResponse","","",null,null],[12,"error","","",2,null],[5,"dup_error","","",null,[[["serviceerror",4],["error",4]],["serviceerror",4]]],[6,"ServiceResult","","",null,null],[0,"api","guard","",null,null],[0,"v1","guard::api","",null,null],[0,"auth","guard::api::v1","",null,null],[3,"Register","guard::api::v1::auth","",null,null],[12,"username","","",3,null],[12,"password","","",3,null],[12,"email","","",3,null],[3,"Login","","",null,null],[12,"username","","",4,null],[12,"password","","",4,null],[3,"Password","","",null,null],[12,"password","","",5,null],[3,"signup","","",null,null],[3,"signin","","",null,null],[3,"signout","","",null,null],[5,"is_authenticated","","Check if user is authenticated",null,[[["identity",3]],[["result",4],["serviceerror",4]]]],[3,"delete_account","","",null,null],[0,"mcaptcha","guard::api::v1","",null,null],[0,"domains","guard::api::v1::mcaptcha","",null,null],[3,"Domain","guard::api::v1::mcaptcha::domains","",null,null],[12,"name","","",6,null],[3,"add_domain","","",null,null],[3,"Challenge","","",null,null],[12,"verification_challenge","","",7,null],[3,"get_challenge","","",null,null],[3,"verify","","",null,null],[3,"delete_domain","","",null,null],[0,"duration","guard::api::v1::mcaptcha","",null,null],[3,"UpdateDuration","guard::api::v1::mcaptcha::duration","",null,null],[12,"token_name","","",8,null],[12,"duration","","",8,null],[3,"update_duration","","",null,null],[3,"GetDurationResp","","",null,null],[12,"duration","","",9,null],[3,"GetDuration","","",null,null],[12,"token","","",10,null],[3,"get_duration","","",null,null],[0,"levels","guard::api::v1::mcaptcha","",null,null],[3,"AddLevels","guard::api::v1::mcaptcha::levels","",null,null],[12,"levels","","",11,null],[12,"name","","",11,null],[3,"add_levels","","",null,null],[3,"update_levels","","",null,null],[3,"delete_levels","","",null,null],[3,"GetLevels","","",null,null],[12,"token","","",12,null],[3,"get_levels","","",null,null],[3,"Levels","","",null,null],[12,"levels","","",13,null],[3,"I32Levels","","",null,null],[12,"difficulty_factor","","",14,null],[12,"visitor_threshold","","",14,null],[5,"get_levels_util","","",null,[[["data",3],["str",15]]]],[0,"mcaptcha","guard::api::v1::mcaptcha","",null,null],[3,"MCaptchaID","guard::api::v1::mcaptcha::mcaptcha","",null,null],[12,"name","","",15,null],[12,"domain","","",15,null],[3,"MCaptchaDetails","","",null,null],[12,"name","","",16,null],[12,"key","","",16,null],[3,"add_mcaptcha","","",null,null],[3,"delete_mcaptcha","","",null,null],[5,"get_random","guard::api::v1::mcaptcha","",null,[[["usize",15]],["string",3]]],[0,"meta","guard::api::v1","",null,null],[3,"build_details","guard::api::v1::meta","",null,null],[3,"Health","","Health check return datatype",null,null],[12,"db","","",17,null],[3,"HealthBuilder","","Builder for Health.",null,null],[12,"db","","",18,null],[11,"db","","",18,[[["bool",15]]]],[11,"build","","Builds a new Health.",18,[[],[["result",4],["health",3],["string",3]]]],[3,"health","","",null,null],[5,"services","guard::api::v1","",null,[[["serviceconfig",3]]]],[0,"settings","guard","",null,null],[3,"Server","guard::settings","",null,null],[12,"allow_registration","","",19,null],[12,"port","","",19,null],[12,"domain","","",19,null],[12,"cookie_secret","","",19,null],[12,"ip","","",19,null],[3,"Captcha","","",null,null],[12,"salt","","",20,null],[12,"gc","","",20,null],[11,"get_ip","","",19,[[],["string",3]]],[3,"DatabaseBuilder","","",null,null],[12,"port","","",21,null],[12,"hostname","","",21,null],[12,"username","","",21,null],[12,"password","","",21,null],[12,"name","","",21,null],[12,"url","","",21,null],[11,"extract_database_url","","",21,[[["url",3]]]],[3,"Database","","",null,null],[12,"url","","",22,null],[12,"pool","","",22,null],[3,"Settings","","",null,null],[12,"debug","","",23,null],[12,"database","","",23,null],[12,"server","","",23,null],[12,"pow","","",23,null],[11,"new","","",23,[[],[["configerror",4],["result",4]]]],[5,"set_from_database_url","","",null,[[["databasebuilder",3],["config",3]]]],[5,"set_database_url","","",null,[[["config",3]]]],[3,"Data","guard","",null,null],[12,"db","","",0,null],[12,"creds","","",0,null],[12,"captcha","","",0,null],[3,"Settings","","",null,null],[12,"debug","","",23,null],[12,"database","","",23,null],[12,"server","","",23,null],[12,"pow","","",23,null],[3,"SETTINGS","","",null,null],[12,"__private_field","","",24,null],[3,"GIT_COMMIT_HASH","","",null,null],[12,"__private_field","","",25,null],[7,"VERSION","","",null,null],[7,"PKG_NAME","","",null,null],[7,"PKG_DESCRIPTION","","",null,null],[7,"PKG_HOMEPAGE","","",null,null],[5,"main","","",null,[[],["result",6]]],[5,"get_json_err","","",null,[[],["jsonconfig",3]]],[5,"get_identity_service","","",null,[[],[["identityservice",3],["cookieidentitypolicy",3]]]],[11,"from","guard::data","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"from","guard::errors","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"to_string","","",1,[[],["string",3]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"vzip","","",2,[[]]],[11,"from","guard::api::v1::auth","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"vzip","","",3,[[]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"to_owned","","",4,[[]]],[11,"clone_into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"from","","",26,[[]]],[11,"into","","",26,[[]]],[11,"borrow","","",26,[[]]],[11,"borrow_mut","","",26,[[]]],[11,"try_from","","",26,[[],["result",4]]],[11,"try_into","","",26,[[],["result",4]]],[11,"type_id","","",26,[[],["typeid",3]]],[11,"vzip","","",26,[[]]],[11,"from","","",27,[[]]],[11,"into","","",27,[[]]],[11,"borrow","","",27,[[]]],[11,"borrow_mut","","",27,[[]]],[11,"try_from","","",27,[[],["result",4]]],[11,"try_into","","",27,[[],["result",4]]],[11,"type_id","","",27,[[],["typeid",3]]],[11,"vzip","","",27,[[]]],[11,"from","","",28,[[]]],[11,"into","","",28,[[]]],[11,"borrow","","",28,[[]]],[11,"borrow_mut","","",28,[[]]],[11,"try_from","","",28,[[],["result",4]]],[11,"try_into","","",28,[[],["result",4]]],[11,"type_id","","",28,[[],["typeid",3]]],[11,"vzip","","",28,[[]]],[11,"from","","",29,[[]]],[11,"into","","",29,[[]]],[11,"borrow","","",29,[[]]],[11,"borrow_mut","","",29,[[]]],[11,"try_from","","",29,[[],["result",4]]],[11,"try_into","","",29,[[],["result",4]]],[11,"type_id","","",29,[[],["typeid",3]]],[11,"vzip","","",29,[[]]],[11,"from","guard::api::v1::mcaptcha::domains","",6,[[]]],[11,"into","","",6,[[]]],[11,"to_owned","","",6,[[]]],[11,"clone_into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"from","","",30,[[]]],[11,"into","","",30,[[]]],[11,"borrow","","",30,[[]]],[11,"borrow_mut","","",30,[[]]],[11,"try_from","","",30,[[],["result",4]]],[11,"try_into","","",30,[[],["result",4]]],[11,"type_id","","",30,[[],["typeid",3]]],[11,"vzip","","",30,[[]]],[11,"from","","",7,[[]]],[11,"into","","",7,[[]]],[11,"to_owned","","",7,[[]]],[11,"clone_into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"vzip","","",7,[[]]],[11,"from","","",31,[[]]],[11,"into","","",31,[[]]],[11,"borrow","","",31,[[]]],[11,"borrow_mut","","",31,[[]]],[11,"try_from","","",31,[[],["result",4]]],[11,"try_into","","",31,[[],["result",4]]],[11,"type_id","","",31,[[],["typeid",3]]],[11,"vzip","","",31,[[]]],[11,"from","","",32,[[]]],[11,"into","","",32,[[]]],[11,"borrow","","",32,[[]]],[11,"borrow_mut","","",32,[[]]],[11,"try_from","","",32,[[],["result",4]]],[11,"try_into","","",32,[[],["result",4]]],[11,"type_id","","",32,[[],["typeid",3]]],[11,"vzip","","",32,[[]]],[11,"from","","",33,[[]]],[11,"into","","",33,[[]]],[11,"borrow","","",33,[[]]],[11,"borrow_mut","","",33,[[]]],[11,"try_from","","",33,[[],["result",4]]],[11,"try_into","","",33,[[],["result",4]]],[11,"type_id","","",33,[[],["typeid",3]]],[11,"vzip","","",33,[[]]],[11,"from","guard::api::v1::mcaptcha::duration","",8,[[]]],[11,"into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"vzip","","",8,[[]]],[11,"from","","",34,[[]]],[11,"into","","",34,[[]]],[11,"borrow","","",34,[[]]],[11,"borrow_mut","","",34,[[]]],[11,"try_from","","",34,[[],["result",4]]],[11,"try_into","","",34,[[],["result",4]]],[11,"type_id","","",34,[[],["typeid",3]]],[11,"vzip","","",34,[[]]],[11,"from","","",9,[[]]],[11,"into","","",9,[[]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"vzip","","",9,[[]]],[11,"from","","",10,[[]]],[11,"into","","",10,[[]]],[11,"borrow","","",10,[[]]],[11,"borrow_mut","","",10,[[]]],[11,"try_from","","",10,[[],["result",4]]],[11,"try_into","","",10,[[],["result",4]]],[11,"type_id","","",10,[[],["typeid",3]]],[11,"vzip","","",10,[[]]],[11,"from","","",35,[[]]],[11,"into","","",35,[[]]],[11,"borrow","","",35,[[]]],[11,"borrow_mut","","",35,[[]]],[11,"try_from","","",35,[[],["result",4]]],[11,"try_into","","",35,[[],["result",4]]],[11,"type_id","","",35,[[],["typeid",3]]],[11,"vzip","","",35,[[]]],[11,"from","guard::api::v1::mcaptcha::levels","",11,[[]]],[11,"into","","",11,[[]]],[11,"borrow","","",11,[[]]],[11,"borrow_mut","","",11,[[]]],[11,"try_from","","",11,[[],["result",4]]],[11,"try_into","","",11,[[],["result",4]]],[11,"type_id","","",11,[[],["typeid",3]]],[11,"vzip","","",11,[[]]],[11,"from","","",36,[[]]],[11,"into","","",36,[[]]],[11,"borrow","","",36,[[]]],[11,"borrow_mut","","",36,[[]]],[11,"try_from","","",36,[[],["result",4]]],[11,"try_into","","",36,[[],["result",4]]],[11,"type_id","","",36,[[],["typeid",3]]],[11,"vzip","","",36,[[]]],[11,"from","","",37,[[]]],[11,"into","","",37,[[]]],[11,"borrow","","",37,[[]]],[11,"borrow_mut","","",37,[[]]],[11,"try_from","","",37,[[],["result",4]]],[11,"try_into","","",37,[[],["result",4]]],[11,"type_id","","",37,[[],["typeid",3]]],[11,"vzip","","",37,[[]]],[11,"from","","",38,[[]]],[11,"into","","",38,[[]]],[11,"borrow","","",38,[[]]],[11,"borrow_mut","","",38,[[]]],[11,"try_from","","",38,[[],["result",4]]],[11,"try_into","","",38,[[],["result",4]]],[11,"type_id","","",38,[[],["typeid",3]]],[11,"vzip","","",38,[[]]],[11,"from","","",12,[[]]],[11,"into","","",12,[[]]],[11,"borrow","","",12,[[]]],[11,"borrow_mut","","",12,[[]]],[11,"try_from","","",12,[[],["result",4]]],[11,"try_into","","",12,[[],["result",4]]],[11,"type_id","","",12,[[],["typeid",3]]],[11,"vzip","","",12,[[]]],[11,"from","","",39,[[]]],[11,"into","","",39,[[]]],[11,"borrow","","",39,[[]]],[11,"borrow_mut","","",39,[[]]],[11,"try_from","","",39,[[],["result",4]]],[11,"try_into","","",39,[[],["result",4]]],[11,"type_id","","",39,[[],["typeid",3]]],[11,"vzip","","",39,[[]]],[11,"from","","",13,[[]]],[11,"into","","",13,[[]]],[11,"borrow","","",13,[[]]],[11,"borrow_mut","","",13,[[]]],[11,"try_from","","",13,[[],["result",4]]],[11,"try_into","","",13,[[],["result",4]]],[11,"type_id","","",13,[[],["typeid",3]]],[11,"vzip","","",13,[[]]],[11,"from","","",14,[[]]],[11,"into","","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"vzip","","",14,[[]]],[11,"from","guard::api::v1::mcaptcha::mcaptcha","",15,[[]]],[11,"into","","",15,[[]]],[11,"to_owned","","",15,[[]]],[11,"clone_into","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"vzip","","",15,[[]]],[11,"from","","",16,[[]]],[11,"into","","",16,[[]]],[11,"to_owned","","",16,[[]]],[11,"clone_into","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"vzip","","",16,[[]]],[11,"from","","",40,[[]]],[11,"into","","",40,[[]]],[11,"borrow","","",40,[[]]],[11,"borrow_mut","","",40,[[]]],[11,"try_from","","",40,[[],["result",4]]],[11,"try_into","","",40,[[],["result",4]]],[11,"type_id","","",40,[[],["typeid",3]]],[11,"vzip","","",40,[[]]],[11,"from","","",41,[[]]],[11,"into","","",41,[[]]],[11,"borrow","","",41,[[]]],[11,"borrow_mut","","",41,[[]]],[11,"try_from","","",41,[[],["result",4]]],[11,"try_into","","",41,[[],["result",4]]],[11,"type_id","","",41,[[],["typeid",3]]],[11,"vzip","","",41,[[]]],[11,"from","guard::api::v1::meta","",42,[[]]],[11,"into","","",42,[[]]],[11,"borrow","","",42,[[]]],[11,"borrow_mut","","",42,[[]]],[11,"try_from","","",42,[[],["result",4]]],[11,"try_into","","",42,[[],["result",4]]],[11,"type_id","","",42,[[],["typeid",3]]],[11,"vzip","","",42,[[]]],[11,"from","","",17,[[]]],[11,"into","","",17,[[]]],[11,"to_owned","","",17,[[]]],[11,"clone_into","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"vzip","","",17,[[]]],[11,"from","","",18,[[]]],[11,"into","","",18,[[]]],[11,"to_owned","","",18,[[]]],[11,"clone_into","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"vzip","","",18,[[]]],[11,"from","","",43,[[]]],[11,"into","","",43,[[]]],[11,"borrow","","",43,[[]]],[11,"borrow_mut","","",43,[[]]],[11,"try_from","","",43,[[],["result",4]]],[11,"try_into","","",43,[[],["result",4]]],[11,"type_id","","",43,[[],["typeid",3]]],[11,"vzip","","",43,[[]]],[11,"from","guard::settings","",19,[[]]],[11,"into","","",19,[[]]],[11,"to_owned","","",19,[[]]],[11,"clone_into","","",19,[[]]],[11,"borrow","","",19,[[]]],[11,"borrow_mut","","",19,[[]]],[11,"try_from","","",19,[[],["result",4]]],[11,"try_into","","",19,[[],["result",4]]],[11,"type_id","","",19,[[],["typeid",3]]],[11,"vzip","","",19,[[]]],[11,"from","","",20,[[]]],[11,"into","","",20,[[]]],[11,"to_owned","","",20,[[]]],[11,"clone_into","","",20,[[]]],[11,"borrow","","",20,[[]]],[11,"borrow_mut","","",20,[[]]],[11,"try_from","","",20,[[],["result",4]]],[11,"try_into","","",20,[[],["result",4]]],[11,"type_id","","",20,[[],["typeid",3]]],[11,"vzip","","",20,[[]]],[11,"from","","",21,[[]]],[11,"into","","",21,[[]]],[11,"to_owned","","",21,[[]]],[11,"clone_into","","",21,[[]]],[11,"borrow","","",21,[[]]],[11,"borrow_mut","","",21,[[]]],[11,"try_from","","",21,[[],["result",4]]],[11,"try_into","","",21,[[],["result",4]]],[11,"type_id","","",21,[[],["typeid",3]]],[11,"vzip","","",21,[[]]],[11,"from","","",22,[[]]],[11,"into","","",22,[[]]],[11,"to_owned","","",22,[[]]],[11,"clone_into","","",22,[[]]],[11,"borrow","","",22,[[]]],[11,"borrow_mut","","",22,[[]]],[11,"try_from","","",22,[[],["result",4]]],[11,"try_into","","",22,[[],["result",4]]],[11,"type_id","","",22,[[],["typeid",3]]],[11,"vzip","","",22,[[]]],[11,"from","","",23,[[]]],[11,"into","","",23,[[]]],[11,"to_owned","","",23,[[]]],[11,"clone_into","","",23,[[]]],[11,"borrow","","",23,[[]]],[11,"borrow_mut","","",23,[[]]],[11,"try_from","","",23,[[],["result",4]]],[11,"try_into","","",23,[[],["result",4]]],[11,"type_id","","",23,[[],["typeid",3]]],[11,"vzip","","",23,[[]]],[11,"from","guard","",24,[[]]],[11,"into","","",24,[[]]],[11,"borrow","","",24,[[]]],[11,"borrow_mut","","",24,[[]]],[11,"try_from","","",24,[[],["result",4]]],[11,"try_into","","",24,[[],["result",4]]],[11,"type_id","","",24,[[],["typeid",3]]],[11,"vzip","","",24,[[]]],[11,"from","","",25,[[]]],[11,"into","","",25,[[]]],[11,"borrow","","",25,[[]]],[11,"borrow_mut","","",25,[[]]],[11,"try_from","","",25,[[],["result",4]]],[11,"try_into","","",25,[[],["result",4]]],[11,"type_id","","",25,[[],["typeid",3]]],[11,"vzip","","",25,[[]]],[11,"from","guard::errors","",1,[[["credserror",4]],["serviceerror",4]]],[11,"from","","",1,[[["validationerrors",3]],["serviceerror",4]]],[11,"from","","",1,[[["sendrequesterror",4]],["serviceerror",4]]],[11,"from","","",1,[[["parseerror",4]],["serviceerror",4]]],[11,"from","","",1,[[["captchaerror",4]],["serviceerror",4]]],[11,"from","","",1,[[["error",4]]]],[11,"clone","guard::data","",0,[[],["data",3]]],[11,"clone","guard::errors","",1,[[],["serviceerror",4]]],[11,"clone","guard::api::v1::auth","",3,[[],["register",3]]],[11,"clone","","",4,[[],["login",3]]],[11,"clone","guard::api::v1::mcaptcha::domains","",6,[[],["domain",3]]],[11,"clone","","",7,[[],["challenge",3]]],[11,"clone","guard::api::v1::mcaptcha::mcaptcha","",15,[[],["mcaptchaid",3]]],[11,"clone","","",16,[[],["mcaptchadetails",3]]],[11,"clone","guard::api::v1::meta","",17,[[],["health",3]]],[11,"clone","","",18,[[],["healthbuilder",3]]],[11,"clone","guard::settings","",19,[[],["server",3]]],[11,"clone","","",20,[[],["captcha",3]]],[11,"clone","","",21,[[],["databasebuilder",3]]],[11,"clone","","",22,[[],["database",3]]],[11,"clone","","",23,[[],["settings",3]]],[11,"default","guard::api::v1::meta","",18,[[],["healthbuilder",3]]],[11,"eq","guard::errors","",1,[[["serviceerror",4]],["bool",15]]],[11,"ne","","",1,[[["serviceerror",4]],["bool",15]]],[11,"deref","guard","",24,[[],["settings",3]]],[11,"deref","","",25,[[],["string",3]]],[11,"fmt","guard::errors","",1,[[["formatter",3]],["result",6]]],[11,"fmt","guard::api::v1::auth","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","guard::api::v1::mcaptcha::domains","",6,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","guard::api::v1::mcaptcha::mcaptcha","",15,[[["formatter",3]],["result",6]]],[11,"fmt","","",16,[[["formatter",3]],["result",6]]],[11,"fmt","guard::api::v1::meta","",17,[[["formatter",3]],["result",6]]],[11,"fmt","guard::settings","",19,[[["formatter",3]],["result",6]]],[11,"fmt","","",20,[[["formatter",3]],["result",6]]],[11,"fmt","","",21,[[["formatter",3]],["result",6]]],[11,"fmt","","",22,[[["formatter",3]],["result",6]]],[11,"fmt","","",23,[[["formatter",3]],["result",6]]],[11,"fmt","guard::errors","",1,[[["formatter",3]],["result",6]]],[11,"source","","",1,[[],[["option",4],["error",8]]]],[11,"deserialize","","",2,[[],["result",4]]],[11,"deserialize","guard::api::v1::auth","",3,[[],["result",4]]],[11,"deserialize","","",4,[[],["result",4]]],[11,"deserialize","guard::api::v1::mcaptcha::domains","",6,[[],["result",4]]],[11,"deserialize","","",7,[[],["result",4]]],[11,"deserialize","guard::api::v1::mcaptcha::duration","",8,[[],["result",4]]],[11,"deserialize","","",9,[[],["result",4]]],[11,"deserialize","","",10,[[],["result",4]]],[11,"deserialize","guard::api::v1::mcaptcha::levels","",11,[[],["result",4]]],[11,"deserialize","","",12,[[],["result",4]]],[11,"deserialize","","",13,[[],["result",4]]],[11,"deserialize","","",14,[[],["result",4]]],[11,"deserialize","guard::api::v1::mcaptcha::mcaptcha","",15,[[],["result",4]]],[11,"deserialize","","",16,[[],["result",4]]],[11,"deserialize","guard::api::v1::meta","",17,[[],["result",4]]],[11,"deserialize","guard::settings","",19,[[],["result",4]]],[11,"deserialize","","",20,[[],["result",4]]],[11,"deserialize","","",21,[[],["result",4]]],[11,"deserialize","","",22,[[],["result",4]]],[11,"deserialize","","",23,[[],["result",4]]],[11,"serialize","guard::errors","",2,[[],["result",4]]],[11,"serialize","guard::api::v1::auth","",3,[[],["result",4]]],[11,"serialize","","",4,[[],["result",4]]],[11,"serialize","guard::api::v1::mcaptcha::domains","",6,[[],["result",4]]],[11,"serialize","","",7,[[],["result",4]]],[11,"serialize","guard::api::v1::mcaptcha::duration","",8,[[],["result",4]]],[11,"serialize","","",9,[[],["result",4]]],[11,"serialize","","",10,[[],["result",4]]],[11,"serialize","guard::api::v1::mcaptcha::levels","",11,[[],["result",4]]],[11,"serialize","","",12,[[],["result",4]]],[11,"serialize","","",13,[[],["result",4]]],[11,"serialize","","",14,[[],["result",4]]],[11,"serialize","guard::api::v1::mcaptcha::mcaptcha","",15,[[],["result",4]]],[11,"serialize","","",16,[[],["result",4]]],[11,"serialize","guard::api::v1::meta","",17,[[],["result",4]]],[11,"register","guard::api::v1::auth","",26,[[["appservice",3]]]],[11,"register","","",27,[[["appservice",3]]]],[11,"register","","",28,[[["appservice",3]]]],[11,"register","","",29,[[["appservice",3]]]],[11,"register","guard::api::v1::mcaptcha::domains","",30,[[["appservice",3]]]],[11,"register","","",31,[[["appservice",3]]]],[11,"register","","",32,[[["appservice",3]]]],[11,"register","","",33,[[["appservice",3]]]],[11,"register","guard::api::v1::mcaptcha::duration","",34,[[["appservice",3]]]],[11,"register","","",35,[[["appservice",3]]]],[11,"register","guard::api::v1::mcaptcha::levels","",36,[[["appservice",3]]]],[11,"register","","",37,[[["appservice",3]]]],[11,"register","","",38,[[["appservice",3]]]],[11,"register","","",39,[[["appservice",3]]]],[11,"register","guard::api::v1::mcaptcha::mcaptcha","",40,[[["appservice",3]]]],[11,"register","","",41,[[["appservice",3]]]],[11,"register","guard::api::v1::meta","",42,[[["appservice",3]]]],[11,"register","","",43,[[["appservice",3]]]],[11,"error_response","guard::errors","",1,[[],["httpresponse",3]]],[11,"status_code","","",1,[[],["statuscode",3]]],[11,"initialize","guard","",24,[[]]],[11,"initialize","","",25,[[]]]],"p":[[3,"Data"],[4,"ServiceError"],[3,"ErrorToResponse"],[3,"Register"],[3,"Login"],[3,"Password"],[3,"Domain"],[3,"Challenge"],[3,"UpdateDuration"],[3,"GetDurationResp"],[3,"GetDuration"],[3,"AddLevels"],[3,"GetLevels"],[3,"Levels"],[3,"I32Levels"],[3,"MCaptchaID"],[3,"MCaptchaDetails"],[3,"Health"],[3,"HealthBuilder"],[3,"Server"],[3,"Captcha"],[3,"DatabaseBuilder"],[3,"Database"],[3,"Settings"],[3,"SETTINGS"],[3,"GIT_COMMIT_HASH"],[3,"signup"],[3,"signin"],[3,"signout"],[3,"delete_account"],[3,"add_domain"],[3,"get_challenge"],[3,"verify"],[3,"delete_domain"],[3,"update_duration"],[3,"get_duration"],[3,"add_levels"],[3,"update_levels"],[3,"delete_levels"],[3,"get_levels"],[3,"add_mcaptcha"],[3,"delete_mcaptcha"],[3,"build_details"],[3,"health"]]},\ +"kv_test_util":{"doc":"","i":[[3,"Challenge","kv_test_util","",null,null],[12,"verification_challenge","","",0,null],[5,"main","","",null,[[]]],[5,"server","","",null,[[["sender",3],["server",3],["str",15]]]],[6,"UtilKVServer","","",null,null],[5,"util_server_retrive","","",null,[[["string",3],["arc",3],["data",3],["path",3]]]],[5,"util_server_add","","",null,[[["string",3],["challenge",3],["json",3],["arc",3],["data",3],["path",3]]]],[11,"from","","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"clone","","",0,[[],["challenge",3]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"serialize","","",0,[[],["result",4]]],[11,"deserialize","","",0,[[],["result",4]]]],"p":[[3,"Challenge"]]},\ +"tests_migrate":{"doc":"","i":[[0,"data","tests_migrate","",null,null],[3,"Data","tests_migrate::data","",null,null],[12,"db","","",0,null],[12,"creds","","",0,null],[12,"captcha","","",0,null],[11,"new","","",0,[[]]],[0,"settings","tests_migrate","",null,null],[3,"Server","tests_migrate::settings","",null,null],[12,"allow_registration","","",1,null],[12,"port","","",1,null],[12,"domain","","",1,null],[12,"cookie_secret","","",1,null],[12,"ip","","",1,null],[3,"Captcha","","",null,null],[12,"salt","","",2,null],[12,"gc","","",2,null],[11,"get_ip","","",1,[[],["string",3]]],[3,"DatabaseBuilder","","",null,null],[12,"port","","",3,null],[12,"hostname","","",3,null],[12,"username","","",3,null],[12,"password","","",3,null],[12,"name","","",3,null],[12,"url","","",3,null],[11,"extract_database_url","","",3,[[["url",3]]]],[3,"Database","","",null,null],[12,"url","","",4,null],[12,"pool","","",4,null],[3,"Settings","","",null,null],[12,"debug","","",5,null],[12,"database","","",5,null],[12,"server","","",5,null],[12,"pow","","",5,null],[11,"new","","",5,[[],[["result",4],["configerror",4]]]],[5,"set_from_database_url","","",null,[[["config",3],["databasebuilder",3]]]],[5,"set_database_url","","",null,[[["config",3]]]],[3,"Data","tests_migrate","",null,null],[12,"db","","",0,null],[12,"creds","","",0,null],[12,"captcha","","",0,null],[3,"Settings","","",null,null],[12,"debug","","",5,null],[12,"database","","",5,null],[12,"server","","",5,null],[12,"pow","","",5,null],[3,"SETTINGS","","",null,null],[12,"__private_field","","",6,null],[5,"main","","",null,[[]]],[11,"from","tests_migrate::data","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"from","tests_migrate::settings","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"vzip","","",2,[[]]],[11,"from","","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"vzip","","",3,[[]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"to_owned","","",4,[[]]],[11,"clone_into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"to_owned","","",5,[[]]],[11,"clone_into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"from","tests_migrate","",6,[[]]],[11,"into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"clone","tests_migrate::data","",0,[[],["data",3]]],[11,"clone","tests_migrate::settings","",1,[[],["server",3]]],[11,"clone","","",2,[[],["captcha",3]]],[11,"clone","","",3,[[],["databasebuilder",3]]],[11,"clone","","",4,[[],["database",3]]],[11,"clone","","",5,[[],["settings",3]]],[11,"deref","tests_migrate","",6,[[],["settings",3]]],[11,"fmt","tests_migrate::settings","",1,[[["formatter",3]],["result",6]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"fmt","","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"initialize","tests_migrate","",6,[[]]],[11,"deserialize","tests_migrate::settings","",1,[[],["result",4]]],[11,"deserialize","","",2,[[],["result",4]]],[11,"deserialize","","",3,[[],["result",4]]],[11,"deserialize","","",4,[[],["result",4]]],[11,"deserialize","","",5,[[],["result",4]]]],"p":[[3,"Data"],[3,"Server"],[3,"Captcha"],[3,"DatabaseBuilder"],[3,"Database"],[3,"Settings"],[3,"SETTINGS"]]}\ }'); addSearchOptions(searchIndex);initSearch(searchIndex); \ No newline at end of file diff --git a/settings.html b/settings.html index 60689fe6..8cb61c75 100644 --- a/settings.html +++ b/settings.html @@ -1,6 +1,7 @@ Rustdoc settings -
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
 
 /*
 * Copyright (C) 2021  Aravinth Manivannan <realaravinth@batsense.net>
@@ -121,7 +122,8 @@
 
 use actix_identity::{CookieIdentityPolicy, IdentityService};
 use actix_web::{
-    error::InternalError, http::StatusCode, middleware, web::JsonConfig, App, HttpServer,
+    client::Client, error::InternalError, http::StatusCode, middleware, web::JsonConfig, App,
+    HttpServer,
 };
 use lazy_static::lazy_static;
 use log::info;
@@ -163,14 +165,14 @@
     sqlx::migrate!("./migrations/").run(&data.db).await.unwrap();
 
     HttpServer::new(move || {
+        let client = Client::default();
         App::new()
             .wrap(middleware::Logger::default())
             .wrap(get_identity_service())
             .wrap(middleware::Compress::default())
             .data(data.clone())
-            .wrap(middleware::NormalizePath::new(
-                middleware::normalize::TrailingSlash::Trim,
-            ))
+            .data(client.clone())
+            .wrap(middleware::NormalizePath::default())
             .app_data(get_json_err())
             .configure(v1_services)
     })
@@ -201,4 +203,5 @@
     )
 }
 
-
\ No newline at end of file +
+ \ No newline at end of file diff --git a/src/guard/settings.rs.html b/src/guard/settings.rs.html index 3ef9ddf2..dc49e1d9 100644 --- a/src/guard/settings.rs.html +++ b/src/guard/settings.rs.html @@ -331,4 +331,5 @@ .expect("Couldn't set databse url"); } - \ No newline at end of file +
+ \ No newline at end of file diff --git a/src/kv_test_util/kvserver.rs.html b/src/kv_test_util/kvserver.rs.html new file mode 100644 index 00000000..057403b9 --- /dev/null +++ b/src/kv_test_util/kvserver.rs.html @@ -0,0 +1,195 @@ +kvserver.rs - source + +
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+
+/*
+* Copyright (C) 2021  Aravinth Manivannan <realaravinth@batsense.net>
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Affero General Public License as
+* published by the Free Software Foundation, either version 3 of the
+* License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU Affero General Public License for more details.
+*
+* You should have received a copy of the GNU Affero General Public License
+* along with this program.  If not, see <https://www.gnu.org/licenses/>.
+*/
+use log::info;
+use std::collections::HashMap;
+use std::env;
+use std::sync::mpsc;
+use std::sync::{Arc, RwLock};
+
+use actix_web::{dev::Server, web, App, HttpResponse, HttpServer, Responder};
+use serde::{Deserialize, Serialize};
+
+// from
+// use crate::api::v1::mcaptcha::domains::Challenge;
+#[derive(Clone, Debug, Deserialize, Serialize)]
+pub struct Challenge {
+    verification_challenge: String,
+}
+
+#[cfg(not(tarpaulin_include))]
+#[actix_web::main]
+async fn main() {
+    pretty_env_logger::init();
+    let mut confif = env::args();
+    confif.next();
+    let port = confif.next().unwrap();
+    HttpServer::new(move || {
+        let store: UtilKVServer = Arc::new(RwLock::new(HashMap::new()));
+        App::new()
+            .data(store)
+            .route("/{key}/", web::post().to(util_server_add))
+            .route("/{key}/", web::get().to(util_server_retrive))
+    })
+    .bind(format!("localhost:{}", port))
+    .unwrap()
+    .run()
+    .await
+    .unwrap();
+}
+
+pub async fn server(ip: &str, tx: mpsc::Sender<Server>) {
+    pretty_env_logger::init();
+    let srv = HttpServer::new(move || {
+        let store: UtilKVServer = Arc::new(RwLock::new(HashMap::new()));
+        App::new()
+            .data(store)
+            .route("/{key}/", web::post().to(util_server_add))
+            .route("/{key}/", web::get().to(util_server_retrive))
+    })
+    .bind(ip)
+    .unwrap()
+    .run();
+
+    tx.send(srv.clone());
+}
+
+type UtilKVServer = Arc<RwLock<HashMap<String, Challenge>>>;
+
+#[cfg(not(tarpaulin_include))]
+async fn util_server_retrive(
+    key: web::Path<String>,
+    data: web::Data<UtilKVServer>,
+) -> impl Responder {
+    let key = key.into_inner();
+    let store = data.read().unwrap();
+    let resp = store.get(&key).unwrap();
+    info!("key :{}, value: {:?}", key, resp);
+    HttpResponse::Ok().json(resp)
+}
+
+#[cfg(not(tarpaulin_include))]
+async fn util_server_add(
+    key: web::Path<String>,
+    payload: web::Json<Challenge>,
+    data: web::Data<UtilKVServer>,
+) -> impl Responder {
+    info!("key :{}, value: {:?}", key, payload);
+    let mut store = data.write().unwrap();
+    store.insert(key.into_inner(), payload.into_inner());
+    HttpResponse::Ok()
+}
+
+
+ \ No newline at end of file diff --git a/src/tests_migrate/data.rs.html b/src/tests_migrate/data.rs.html index eb2c6d27..b4a1dca7 100644 --- a/src/tests_migrate/data.rs.html +++ b/src/tests_migrate/data.rs.html @@ -145,4 +145,5 @@ } } - \ No newline at end of file +
+ \ No newline at end of file diff --git a/src/tests_migrate/settings.rs.html b/src/tests_migrate/settings.rs.html index 8e4d73df..6ab8dcba 100644 --- a/src/tests_migrate/settings.rs.html +++ b/src/tests_migrate/settings.rs.html @@ -331,4 +331,5 @@ .expect("Couldn't set databse url"); } - \ No newline at end of file +
+ \ No newline at end of file diff --git a/src/tests_migrate/tests-migrate.rs.html b/src/tests_migrate/tests-migrate.rs.html index 00bfd543..e0bcd81a 100644 --- a/src/tests_migrate/tests-migrate.rs.html +++ b/src/tests_migrate/tests-migrate.rs.html @@ -81,4 +81,5 @@ sqlx::migrate!("./migrations/").run(&data.db).await.unwrap(); } - \ No newline at end of file +
+ \ No newline at end of file diff --git a/storage.js b/storage.js index 318275ed..ff361c66 100644 --- a/storage.js +++ b/storage.js @@ -1 +1 @@ -var resourcesSuffix="";var darkThemes=["dark","ayu"];var currentTheme=document.getElementById("themeStyle");var mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed!==true){for(i=0;i=0;--i){if(func(arr[i])===true){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function usableLocalStorage(){if(typeof Storage==="undefined"){return false}try{return window.localStorage!==null&&window.localStorage!==undefined}catch(err){return false}}function updateLocalStorage(name,value){if(usableLocalStorage()){localStorage[name]=value}else{}}function getCurrentValue(name){if(usableLocalStorage()&&localStorage[name]!==undefined){return localStorage[name]}return null}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(saveTheme===true){updateLocalStorage("rustdoc-theme",newTheme)}if(styleElem.href===newHref){return}var found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),function(el){savedHref.push(el.href)})}onEach(savedHref,function(el){if(el===newHref){found=true;return true}});if(found===true){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("rustdoc-use-system-theme",value);var toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}var updateSystemTheme=(function(){if(!window.matchMedia){return function(){let cssTheme=getComputedStyle(document.documentElement).getPropertyValue('content');switchTheme(currentTheme,mainTheme,JSON.parse(cssTheme)||light,true)}}var mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){if(getSettingValue("use-system-theme")!=="false"){var lightTheme=getSettingValue("preferred-light-theme")||"light";var darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){switchTheme(currentTheme,mainTheme,darkTheme,true)}else{switchTheme(currentTheme,mainTheme,lightTheme,true)}}}mql.addListener(handlePreferenceChange);return function(){handlePreferenceChange(mql)}})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(currentTheme,mainTheme,getSettingValue("theme")||"light",false)} \ No newline at end of file +var resourcesSuffix="";var darkThemes=["dark","ayu"];var currentTheme=document.getElementById("themeStyle");var mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed!==true){for(i=0;i=0;--i){if(func(arr[i])===true){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function usableLocalStorage(){if(typeof Storage==="undefined"){return false}try{return window.localStorage!==null&&window.localStorage!==undefined}catch(err){return false}}function updateLocalStorage(name,value){if(usableLocalStorage()){localStorage[name]=value}else{}}function getCurrentValue(name){if(usableLocalStorage()&&localStorage[name]!==undefined){return localStorage[name]}return null}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(saveTheme===true){updateLocalStorage("rustdoc-theme",newTheme)}if(styleElem.href===newHref){return}var found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),function(el){savedHref.push(el.href)})}onEach(savedHref,function(el){if(el===newHref){found=true;return true}});if(found===true){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("rustdoc-use-system-theme",value);var toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}var updateSystemTheme=(function(){if(!window.matchMedia){return function(){let cssTheme=getComputedStyle(document.documentElement).getPropertyValue('content');switchTheme(currentTheme,mainTheme,JSON.parse(cssTheme)||"light",true)}}var mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){if(getSettingValue("use-system-theme")!=="false"){var lightTheme=getSettingValue("preferred-light-theme")||"light";var darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){switchTheme(currentTheme,mainTheme,darkTheme,true)}else{switchTheme(currentTheme,mainTheme,lightTheme,true)}}}mql.addListener(handlePreferenceChange);return function(){handlePreferenceChange(mql)}})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(currentTheme,mainTheme,getSettingValue("theme")||"light",false)} \ No newline at end of file diff --git a/tests_migrate/all.html b/tests_migrate/all.html index 2faf8b7a..6966d640 100644 --- a/tests_migrate/all.html +++ b/tests_migrate/all.html @@ -1,6 +1,7 @@ List of all items in this crate

[] + Change settings

List of all items[] - List of all items

Structs

Functions

\ No newline at end of file +

Structs

Functions

+ \ No newline at end of file diff --git a/tests_migrate/data/index.html b/tests_migrate/data/index.html index d68e9632..5c7a790b 100644 --- a/tests_migrate/data/index.html +++ b/tests_migrate/data/index.html @@ -1,5 +1,6 @@ tests_migrate::data - Rust -

[][src]Module tests_migrate::data

Structs

-
Data
\ No newline at end of file +

Module tests_migrate::data[][src]

Structs

+
Data
+ \ No newline at end of file diff --git a/tests_migrate/data/struct.Data.html b/tests_migrate/data/struct.Data.html index 05a164e2..73fee5e2 100644 --- a/tests_migrate/data/struct.Data.html +++ b/tests_migrate/data/struct.Data.html @@ -1,16 +1,16 @@ tests_migrate::data::Data - Rust -

[][src]Struct tests_migrate::data::Data

pub struct Data {
+

Struct tests_migrate::data::Data[][src]

pub struct Data {
     pub db: PgPool,
     pub creds: Config,
     pub captcha: System<HashCache>,
 }

Fields

db: PgPoolcreds: Configcaptcha: System<HashCache>

Implementations

impl Data[src]

pub async fn new() -> Self[src]

Trait Implementations

impl Clone for Data[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/tests_migrate/fn.main.html b/tests_migrate/fn.main.html index cc8ea260..6d1da0db 100644 --- a/tests_migrate/fn.main.html +++ b/tests_migrate/fn.main.html @@ -1,4 +1,5 @@ tests_migrate::main - Rust -

[][src]Function tests_migrate::main

pub(crate) fn main()
\ No newline at end of file +

Function tests_migrate::main[][src]

pub(crate) fn main()
+ \ No newline at end of file diff --git a/tests_migrate/index.html b/tests_migrate/index.html index 86e9827c..85445e24 100644 --- a/tests_migrate/index.html +++ b/tests_migrate/index.html @@ -1,7 +1,8 @@ tests_migrate - Rust -

[][src]Crate tests_migrate

Modules

+

Crate tests_migrate[][src]

Modules

data
settings

Structs

Data
SETTINGS
Settings

Functions

-
main
\ No newline at end of file +
main
+ \ No newline at end of file diff --git a/tests_migrate/settings/fn.set_database_url.html b/tests_migrate/settings/fn.set_database_url.html index d2daf95f..d16fb794 100644 --- a/tests_migrate/settings/fn.set_database_url.html +++ b/tests_migrate/settings/fn.set_database_url.html @@ -1,4 +1,5 @@ tests_migrate::settings::set_database_url - Rust -

[][src]Function tests_migrate::settings::set_database_url

fn set_database_url(s: &mut Config)
\ No newline at end of file +

Function tests_migrate::settings::set_database_url[][src]

fn set_database_url(s: &mut Config)
+ \ No newline at end of file diff --git a/tests_migrate/settings/fn.set_from_database_url.html b/tests_migrate/settings/fn.set_from_database_url.html index 8e17f534..e0e2bda8 100644 --- a/tests_migrate/settings/fn.set_from_database_url.html +++ b/tests_migrate/settings/fn.set_from_database_url.html @@ -1,4 +1,5 @@ tests_migrate::settings::set_from_database_url - Rust -

[][src]Function tests_migrate::settings::set_from_database_url

fn set_from_database_url(s: &mut Config, database_conf: &DatabaseBuilder)
\ No newline at end of file +

Function tests_migrate::settings::set_from_database_url[][src]

fn set_from_database_url(s: &mut Config, database_conf: &DatabaseBuilder)
+ \ No newline at end of file diff --git a/tests_migrate/settings/index.html b/tests_migrate/settings/index.html index 70964440..6f07422f 100644 --- a/tests_migrate/settings/index.html +++ b/tests_migrate/settings/index.html @@ -1,6 +1,7 @@ tests_migrate::settings - Rust -

[][src]Module tests_migrate::settings

Structs

+

Module tests_migrate::settings[][src]

Structs

Captcha
Database
DatabaseBuilder
Server
Settings

Functions

-
set_database_url
set_from_database_url
\ No newline at end of file +
set_database_url
set_from_database_url
+ \ No newline at end of file diff --git a/tests_migrate/settings/struct.Captcha.html b/tests_migrate/settings/struct.Captcha.html index de27392e..8b94c58a 100644 --- a/tests_migrate/settings/struct.Captcha.html +++ b/tests_migrate/settings/struct.Captcha.html @@ -1,17 +1,17 @@ tests_migrate::settings::Captcha - Rust -

[][src]Struct tests_migrate::settings::Captcha

pub struct Captcha {
+

Struct tests_migrate::settings::Captcha[][src]

pub struct Captcha {
     pub salt: String,
     pub gc: u64,
 }

Fields

salt: Stringgc: u64

Trait Implementations

impl Clone for Captcha[src]

impl Debug for Captcha[src]

impl<'de> Deserialize<'de> for Captcha[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/tests_migrate/settings/struct.Database.html b/tests_migrate/settings/struct.Database.html index 44c1c578..82765771 100644 --- a/tests_migrate/settings/struct.Database.html +++ b/tests_migrate/settings/struct.Database.html @@ -1,17 +1,17 @@ tests_migrate::settings::Database - Rust -

[][src]Struct tests_migrate::settings::Database

pub struct Database {
+

Struct tests_migrate::settings::Database[][src]

pub struct Database {
     pub url: String,
     pub pool: u32,
 }

Fields

url: Stringpool: u32

Trait Implementations

impl Clone for Database[src]

impl Debug for Database[src]

impl<'de> Deserialize<'de> for Database[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/tests_migrate/settings/struct.DatabaseBuilder.html b/tests_migrate/settings/struct.DatabaseBuilder.html index 94647405..28c5f276 100644 --- a/tests_migrate/settings/struct.DatabaseBuilder.html +++ b/tests_migrate/settings/struct.DatabaseBuilder.html @@ -1,7 +1,7 @@ tests_migrate::settings::DatabaseBuilder - Rust -

[][src]Struct tests_migrate::settings::DatabaseBuilder

struct DatabaseBuilder {
+

Struct tests_migrate::settings::DatabaseBuilder[][src]

struct DatabaseBuilder {
     pub port: u32,
     pub hostname: String,
     pub username: String,
@@ -10,12 +10,12 @@
     pub url: String,
 }

Fields

port: u32hostname: Stringusername: Stringpassword: Stringname: Stringurl: String

Implementations

impl DatabaseBuilder[src]

fn extract_database_url(url: &Url) -> Self[src]

Trait Implementations

impl Clone for DatabaseBuilder[src]

impl Debug for DatabaseBuilder[src]

impl<'de> Deserialize<'de> for DatabaseBuilder[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/tests_migrate/settings/struct.Server.html b/tests_migrate/settings/struct.Server.html index d996c4e1..a37856e7 100644 --- a/tests_migrate/settings/struct.Server.html +++ b/tests_migrate/settings/struct.Server.html @@ -1,7 +1,7 @@ tests_migrate::settings::Server - Rust -

[][src]Struct tests_migrate::settings::Server

pub struct Server {
+

Struct tests_migrate::settings::Server[][src]

pub struct Server {
     pub allow_registration: bool,
     pub port: u32,
     pub domain: String,
@@ -9,12 +9,12 @@
     pub ip: String,
 }

Fields

allow_registration: boolport: u32domain: Stringcookie_secret: Stringip: String

Implementations

impl Server[src]

pub fn get_ip(&self) -> String[src]

Trait Implementations

impl Clone for Server[src]

impl Debug for Server[src]

impl<'de> Deserialize<'de> for Server[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/tests_migrate/settings/struct.Settings.html b/tests_migrate/settings/struct.Settings.html index c4347d99..e687116d 100644 --- a/tests_migrate/settings/struct.Settings.html +++ b/tests_migrate/settings/struct.Settings.html @@ -1,19 +1,19 @@ tests_migrate::settings::Settings - Rust -

[][src]Struct tests_migrate::settings::Settings

pub struct Settings {
+

Struct tests_migrate::settings::Settings[][src]

pub struct Settings {
     pub debug: bool,
     pub database: Database,
     pub server: Server,
     pub pow: Captcha,
 }

Fields

debug: booldatabase: Databaseserver: Serverpow: Captcha

Implementations

impl Settings[src]

pub fn new() -> Result<Self, ConfigError>[src]

Trait Implementations

impl Clone for Settings[src]

impl Debug for Settings[src]

impl<'de> Deserialize<'de> for Settings[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/tests_migrate/struct.Data.html b/tests_migrate/struct.Data.html index 8d83912d..0860463a 100644 --- a/tests_migrate/struct.Data.html +++ b/tests_migrate/struct.Data.html @@ -1,16 +1,16 @@ tests_migrate::Data - Rust -

[][src]Struct tests_migrate::Data

pub struct Data {
+

Struct tests_migrate::Data[][src]

pub struct Data {
     pub db: PgPool,
     pub creds: Config,
     pub captcha: System<HashCache>,
 }

Fields

db: PgPoolcreds: Configcaptcha: System<HashCache>

Implementations

impl Data[src]

pub async fn new() -> Self[src]

Trait Implementations

impl Clone for Data[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/tests_migrate/struct.SETTINGS.html b/tests_migrate/struct.SETTINGS.html index c0e753dd..b393230c 100644 --- a/tests_migrate/struct.SETTINGS.html +++ b/tests_migrate/struct.SETTINGS.html @@ -1,14 +1,14 @@ tests_migrate::SETTINGS - Rust -

[][src]Struct tests_migrate::SETTINGS

pub struct SETTINGS {
+

Struct tests_migrate::SETTINGS[][src]

pub struct SETTINGS {
     __private_field: (),
 }

- Fields

__private_field: ()

Methods from Deref<Target = Settings>

Trait Implementations

impl Deref for SETTINGS[src]

type Target = Settings

The resulting type after dereferencing.

+ Fields__private_field: ()

Methods from Deref<Target = Settings>

Trait Implementations

impl Deref for SETTINGS[src]

type Target = Settings

The resulting type after dereferencing.

impl LazyStatic for SETTINGS[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl LazyStatic for SETTINGS[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file diff --git a/tests_migrate/struct.Settings.html b/tests_migrate/struct.Settings.html index 625e4302..4db5e997 100644 --- a/tests_migrate/struct.Settings.html +++ b/tests_migrate/struct.Settings.html @@ -1,19 +1,19 @@ tests_migrate::Settings - Rust -

[][src]Struct tests_migrate::Settings

pub struct Settings {
+

Struct tests_migrate::Settings[][src]

pub struct Settings {
     pub debug: bool,
     pub database: Database,
     pub server: Server,
     pub pow: Captcha,
 }

Fields

debug: booldatabase: Databaseserver: Serverpow: Captcha

Implementations

impl Settings[src]

pub fn new() -> Result<Self, ConfigError>[src]

Trait Implementations

impl Clone for Settings[src]

impl Debug for Settings[src]

impl<'de> Deserialize<'de> for Settings[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

-

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

\ No newline at end of file +

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+

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

+ \ No newline at end of file