From 8a354723f9009a4454e5da806e63903f8fd9805b Mon Sep 17 00:00:00 2001 From: sagie gur ari Date: Sat, 18 Jan 2025 15:12:30 +0000 Subject: [PATCH] release --- .buildnumber | 2 +- CHANGELOG.md | 2 +- Cargo.lock | 548 ++++-- Cargo.toml | 2 +- README.md | 61 +- docs/_config.yml | 2 +- docs/api/cargo_make/all.html | 2 +- docs/api/cargo_make/fn.get_name.html | 2 +- docs/api/cargo_make/fn.main.html | 2 +- docs/api/cargo_make/index.html | 7 +- docs/api/cli/all.html | 2 +- docs/api/cli/cli/fn.run.html | 4 +- docs/api/cli/cli/fn.run_cli.html | 4 +- docs/api/cli/cli/index.html | 2 +- docs/api/cli/cli_commands/index.html | 4 +- .../cli/cli_commands/list_steps/fn.run.html | 4 +- .../cli/cli_commands/list_steps/index.html | 2 +- .../cli_commands/print_steps/fn.print.html | 4 +- .../cli/cli_commands/print_steps/index.html | 2 +- docs/api/cli/cli_parser/fn.create_cli.html | 4 +- docs/api/cli/cli_parser/fn.parse.html | 4 +- docs/api/cli/cli_parser/fn.parse_args.html | 4 +- docs/api/cli/cli_parser/index.html | 4 +- .../completion/fn.generate_completions.html | 1 + docs/api/cli/completion/index.html | 1 + docs/api/cli/completion/sidebar-items.js | 1 + .../cli/config/fn.get_config_directory.html | 2 +- docs/api/cli/config/fn.load.html | 2 +- docs/api/cli/config/fn.load_from_path.html | 4 +- docs/api/cli/config/index.html | 4 +- docs/api/cli/config/static.CONFIG_FILE.html | 2 +- docs/api/cli/error/enum.CargoMakeError.html | 33 +- .../enum.CargoMakeErrorDiscriminants.html | 39 +- .../error/enum.SuccessOrCargoMakeError.html | 31 +- docs/api/cli/error/index.html | 2 +- docs/api/cli/fn.run_cli.html | 4 +- docs/api/cli/index.html | 7 +- docs/api/cli/logger/index.html | 4 +- docs/api/cli/logger/struct.LoggerOptions.html | 29 +- docs/api/cli/runner/fn.run.html | 4 +- docs/api/cli/runner/index.html | 2 +- docs/api/cli/sidebar-items.js | 2 +- .../cli/types/enum.ConditionScriptValue.html | 38 +- docs/api/cli/types/enum.ConditionType.html | 41 +- docs/api/cli/types/enum.CrateDependency.html | 38 +- .../cli/types/enum.DependencyIdentifier.html | 49 +- docs/api/cli/types/enum.DeprecationInfo.html | 41 +- docs/api/cli/types/enum.EnvFile.html | 38 +- docs/api/cli/types/enum.EnvValue.html | 38 +- docs/api/cli/types/enum.Extend.html | 38 +- docs/api/cli/types/enum.InstallCrate.html | 41 +- docs/api/cli/types/enum.MaybeArray.html | 51 +- docs/api/cli/types/enum.RunTaskInfo.html | 38 +- docs/api/cli/types/enum.RunTaskName.html | 41 +- docs/api/cli/types/enum.ScriptValue.html | 38 +- docs/api/cli/types/enum.TaskWatchOptions.html | 41 +- .../cli/types/enum.ToolchainSpecifier.html | 51 +- docs/api/cli/types/enum.UnstableFeature.html | 51 +- docs/api/cli/types/fn.get_platform_name.html | 2 +- docs/api/cli/types/index.html | 6 +- docs/api/cli/types/struct.Cache.html | 40 +- docs/api/cli/types/struct.CliArgs.html | 36 +- docs/api/cli/types/struct.CommandSpec.html | 29 +- docs/api/cli/types/struct.Config.html | 40 +- docs/api/cli/types/struct.ConfigSection.html | 46 +- .../cli/types/struct.CrateDependencyInfo.html | 38 +- docs/api/cli/types/struct.CrateInfo.html | 38 +- docs/api/cli/types/struct.EnvFileInfo.html | 40 +- docs/api/cli/types/struct.EnvInfo.html | 32 +- .../cli/types/struct.EnvValueConditioned.html | 38 +- docs/api/cli/types/struct.EnvValueDecode.html | 38 +- .../cli/types/struct.EnvValuePathGlob.html | 38 +- docs/api/cli/types/struct.EnvValueScript.html | 38 +- docs/api/cli/types/struct.EnvValueUnset.html | 38 +- docs/api/cli/types/struct.ExecutionPlan.html | 29 +- docs/api/cli/types/struct.ExtendOptions.html | 38 +- docs/api/cli/types/struct.ExternalConfig.html | 40 +- .../api/cli/types/struct.FileScriptValue.html | 38 +- .../struct.FilesFilesModifiedCondition.html | 38 +- docs/api/cli/types/struct.FlowInfo.html | 32 +- docs/api/cli/types/struct.FlowState.html | 34 +- docs/api/cli/types/struct.GlobalConfig.html | 40 +- .../types/struct.InstallCargoPluginInfo.html | 41 +- .../cli/types/struct.InstallCrateInfo.html | 41 +- .../struct.InstallRustupComponentInfo.html | 41 +- docs/api/cli/types/struct.ModifyConfig.html | 42 +- docs/api/cli/types/struct.PackageInfo.html | 40 +- .../types/struct.PlatformOverrideTask.html | 40 +- docs/api/cli/types/struct.RunTaskDetails.html | 38 +- .../cli/types/struct.RunTaskRoutingInfo.html | 38 +- .../types/struct.RustVersionCondition.html | 38 +- docs/api/cli/types/struct.ScriptSections.html | 38 +- docs/api/cli/types/struct.Step.html | 34 +- docs/api/cli/types/struct.Task.html | 56 +- docs/api/cli/types/struct.TaskCondition.html | 40 +- docs/api/cli/types/struct.TaskIdentifier.html | 49 +- docs/api/cli/types/struct.TestArg.html | 1734 ++++++++++------- .../struct.ToolchainBoundedSpecifier.html | 47 +- docs/api/cli/types/struct.WatchOptions.html | 41 +- docs/api/cli/types/struct.Workspace.html | 40 +- docs/api/crates.js | 3 +- docs/api/help.html | 2 +- docs/api/makers/all.html | 2 +- docs/api/makers/fn.get_name.html | 2 +- docs/api/makers/fn.main.html | 2 +- docs/api/makers/index.html | 4 +- docs/api/search-index.js | 7 +- docs/api/search.desc/cli/cli-desc-0-.js | 2 +- docs/api/settings.html | 2 +- docs/api/src-files.js | 7 +- docs/api/src/cargo_make/main.rs.html | 6 +- docs/api/src/cli/cache.rs.html | 6 +- docs/api/src/cli/cli.rs.html | 6 +- .../src/cli/cli_commands/diff_steps.rs.html | 6 +- .../src/cli/cli_commands/list_steps.rs.html | 6 +- docs/api/src/cli/cli_commands/mod.rs.html | 6 +- .../src/cli/cli_commands/print_steps.rs.html | 6 +- docs/api/src/cli/cli_parser.rs.html | 58 +- docs/api/src/cli/command.rs.html | 6 +- docs/api/src/cli/completion.rs.html | 225 +++ docs/api/src/cli/condition.rs.html | 72 +- docs/api/src/cli/config.rs.html | 6 +- .../src/cli/descriptor/cargo_alias.rs.html | 6 +- .../descriptor_deserializer.rs.html | 6 +- docs/api/src/cli/descriptor/env.rs.html | 6 +- .../src/cli/descriptor/makefiles/mod.rs.html | 6 +- docs/api/src/cli/descriptor/mod.rs.html | 6 +- .../api/src/cli/environment/crateinfo.rs.html | 6 +- docs/api/src/cli/environment/mod.rs.html | 6 +- docs/api/src/cli/error.rs.html | 6 +- docs/api/src/cli/execution_plan.rs.html | 6 +- .../api/src/cli/functions/decode_func.rs.html | 6 +- docs/api/src/cli/functions/getat_func.rs.html | 6 +- docs/api/src/cli/functions/mod.rs.html | 6 +- .../cli/functions/remove_empty_func.rs.html | 6 +- docs/api/src/cli/functions/split_func.rs.html | 6 +- docs/api/src/cli/functions/trim_func.rs.html | 6 +- .../installer/cargo_plugin_installer.rs.html | 6 +- .../src/cli/installer/crate_installer.rs.html | 6 +- .../cli/installer/crate_version_check.rs.html | 6 +- docs/api/src/cli/installer/mod.rs.html | 6 +- .../rustup_component_installer.rs.html | 6 +- docs/api/src/cli/io.rs.html | 6 +- docs/api/src/cli/legacy.rs.html | 6 +- docs/api/src/cli/logger.rs.html | 6 +- docs/api/src/cli/mod.rs.html | 6 +- docs/api/src/cli/plugin/descriptor.rs.html | 6 +- docs/api/src/cli/plugin/mod.rs.html | 6 +- docs/api/src/cli/plugin/runner.rs.html | 6 +- .../cm_plugin_check_task_condition.rs.html | 6 +- .../sdk/cm_plugin_force_plugin_clear.rs.html | 6 +- .../sdk/cm_plugin_force_plugin_set.rs.html | 6 +- .../sdk/cm_plugin_run_custom_task.rs.html | 6 +- .../cli/plugin/sdk/cm_plugin_run_task.rs.html | 6 +- docs/api/src/cli/plugin/sdk/mod.rs.html | 6 +- docs/api/src/cli/plugin/types.rs.html | 6 +- docs/api/src/cli/profile.rs.html | 6 +- docs/api/src/cli/proxy_task.rs.html | 6 +- docs/api/src/cli/recursion_level.rs.html | 6 +- docs/api/src/cli/runner.rs.html | 6 +- .../cli/scriptengine/duck_script/mod.rs.html | 6 +- .../duck_script/sdk/cm_run_task.rs.html | 6 +- .../scriptengine/duck_script/sdk/mod.rs.html | 6 +- .../cli/scriptengine/generic_script.rs.html | 6 +- docs/api/src/cli/scriptengine/mod.rs.html | 6 +- .../src/cli/scriptengine/os_script.rs.html | 6 +- .../api/src/cli/scriptengine/rsscript.rs.html | 6 +- .../src/cli/scriptengine/script_utils.rs.html | 12 +- .../cli/scriptengine/shebang_script.rs.html | 6 +- .../cli/scriptengine/shell_to_batch.rs.html | 6 +- docs/api/src/cli/storage.rs.html | 6 +- docs/api/src/cli/time_summary.rs.html | 6 +- docs/api/src/cli/toolchain.rs.html | 6 +- docs/api/src/cli/types.rs.html | 14 +- docs/api/src/cli/version.rs.html | 6 +- docs/api/src/makers/makers.rs.html | 6 +- ...0008a1f0d17.txt => COPYRIGHT-eb44e4cf.txt} | 0 ...b3ba.txt => FiraSans-LICENSE-05ab6dbd.txt} | 0 ...6.woff2 => FiraSans-Medium-e1aa3f0a.woff2} | Bin ....woff2 => FiraSans-Regular-0fe48ade.woff2} | Bin ...5b60d4.txt => LICENSE-APACHE-a60eea81.txt} | 0 ...0cc9db09c.txt => LICENSE-MIT-23f18e03.txt} | 0 ...f2 => NanumBarunGothic-13b3dcba.ttf.woff2} | Bin ... => NanumBarunGothic-LICENSE-a37d393b.txt} | 0 ...f2 => SourceCodePro-It-fc8b9304.ttf.woff2} | Bin ...txt => SourceCodePro-LICENSE-67f54ca7.txt} | 0 ... SourceCodePro-Regular-8badfe75.ttf.woff2} | Bin ...SourceCodePro-Semibold-aa29a496.ttf.woff2} | Bin ...2 => SourceSerif4-Bold-6d4fd4c0.ttf.woff2} | Bin ...ff2 => SourceSerif4-It-ca3b17ed.ttf.woff2} | Bin ...2a.md => SourceSerif4-LICENSE-a2cfd9d5.md} | 0 ...> SourceSerif4-Regular-6b053e98.ttf.woff2} | Bin ...00000a292be17.svg => favicon-044be391.svg} | 0 ...9d8501d.png => favicon-32x32-6580c154.png} | Bin .../api/static.files/main-00000000ff7d71c8.js | 11 - docs/api/static.files/main-5f194d8c.js | 11 + ...00091fda82d.css => normalize-9960930a.css} | 0 .../noscript-00000000626a34ad.css | 1 - docs/api/static.files/noscript-893ab5e7.css | 1 + ...000a653c8a4.svg => rust-logo-9a9549ea.svg} | 0 .../static.files/rustdoc-0000000094d0019d.css | 46 - docs/api/static.files/rustdoc-c579a84d.css | 53 + .../scrape-examples-00000000aae39024.js | 1 - .../static.files/scrape-examples-d508a8a9.js | 1 + .../static.files/search-00000000033a9c87.js | 5 - docs/api/static.files/search-ccb196c1.js | 6 + ...0000000a4e6193.js => settings-0f613d39.js} | 4 +- ...0000e6115c00.js => src-script-56102188.js} | 0 ...000000036c0a5b4.js => storage-59e33391.js} | 19 +- docs/api/trait.impl/core/clone/trait.Clone.js | 12 +- docs/api/trait.impl/core/cmp/trait.Eq.js | 12 +- .../trait.impl/core/cmp/trait.PartialEq.js | 12 +- .../trait.impl/core/convert/trait.AsRef.js | 12 +- .../api/trait.impl/core/convert/trait.From.js | 12 +- .../api/trait.impl/core/convert/trait.Into.js | 12 +- .../trait.impl/core/default/trait.Default.js | 12 +- docs/api/trait.impl/core/fmt/trait.Debug.js | 12 +- docs/api/trait.impl/core/fmt/trait.Display.js | 12 +- docs/api/trait.impl/core/hash/trait.Hash.js | 12 +- docs/api/trait.impl/core/marker/trait.Copy.js | 12 +- .../trait.impl/core/marker/trait.Freeze.js | 12 +- docs/api/trait.impl/core/marker/trait.Send.js | 12 +- .../core/marker/trait.StructuralPartialEq.js | 12 +- docs/api/trait.impl/core/marker/trait.Sync.js | 12 +- .../api/trait.impl/core/marker/trait.Unpin.js | 12 +- .../trait.impl/core/ops/deref/trait.Deref.js | 12 +- .../core/ops/deref/trait.DerefMut.js | 12 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 12 +- .../panic/unwind_safe/trait.UnwindSafe.js | 12 +- .../trait.impl/serde/de/trait.Deserialize.js | 12 +- .../trait.impl/serde/ser/trait.Serialize.js | 12 +- .../std/process/trait.Termination.js | 12 +- 232 files changed, 3584 insertions(+), 2416 deletions(-) create mode 100644 docs/api/cli/completion/fn.generate_completions.html create mode 100644 docs/api/cli/completion/index.html create mode 100644 docs/api/cli/completion/sidebar-items.js create mode 100644 docs/api/src/cli/completion.rs.html rename docs/api/static.files/{COPYRIGHT-000000008a1f0d17.txt => COPYRIGHT-eb44e4cf.txt} (100%) rename docs/api/static.files/{FiraSans-LICENSE-000000004f3fb3ba.txt => FiraSans-LICENSE-05ab6dbd.txt} (100%) rename docs/api/static.files/{FiraSans-Medium-0000000066e2bc86.woff2 => FiraSans-Medium-e1aa3f0a.woff2} (100%) rename docs/api/static.files/{FiraSans-Regular-0000000084b1ad12.woff2 => FiraSans-Regular-0fe48ade.woff2} (100%) rename docs/api/static.files/{LICENSE-APACHE-00000000be5b60d4.txt => LICENSE-APACHE-a60eea81.txt} (100%) rename docs/api/static.files/{LICENSE-MIT-00000000cc9db09c.txt => LICENSE-MIT-23f18e03.txt} (100%) rename docs/api/static.files/{NanumBarunGothic-00000000f861df9d.ttf.woff2 => NanumBarunGothic-13b3dcba.ttf.woff2} (100%) rename docs/api/static.files/{NanumBarunGothic-LICENSE-000000008feec719.txt => NanumBarunGothic-LICENSE-a37d393b.txt} (100%) rename docs/api/static.files/{SourceCodePro-It-00000000668aca82.ttf.woff2 => SourceCodePro-It-fc8b9304.ttf.woff2} (100%) rename docs/api/static.files/{SourceCodePro-LICENSE-00000000fb612b27.txt => SourceCodePro-LICENSE-67f54ca7.txt} (100%) rename docs/api/static.files/{SourceCodePro-Regular-0000000004ddb02d.ttf.woff2 => SourceCodePro-Regular-8badfe75.ttf.woff2} (100%) rename docs/api/static.files/{SourceCodePro-Semibold-00000000f27a569e.ttf.woff2 => SourceCodePro-Semibold-aa29a496.ttf.woff2} (100%) rename docs/api/static.files/{SourceSerif4-Bold-00000000ad926a49.ttf.woff2 => SourceSerif4-Bold-6d4fd4c0.ttf.woff2} (100%) rename docs/api/static.files/{SourceSerif4-It-000000007236df52.ttf.woff2 => SourceSerif4-It-ca3b17ed.ttf.woff2} (100%) rename docs/api/static.files/{SourceSerif4-LICENSE-00000000b79e562a.md => SourceSerif4-LICENSE-a2cfd9d5.md} (100%) rename docs/api/static.files/{SourceSerif4-Regular-0000000007da4a04.ttf.woff2 => SourceSerif4-Regular-6b053e98.ttf.woff2} (100%) rename docs/api/static.files/{favicon-00000000a292be17.svg => favicon-044be391.svg} (100%) rename docs/api/static.files/{favicon-32x32-00000000d9d8501d.png => favicon-32x32-6580c154.png} (100%) delete mode 100644 docs/api/static.files/main-00000000ff7d71c8.js create mode 100644 docs/api/static.files/main-5f194d8c.js rename docs/api/static.files/{normalize-0000000091fda82d.css => normalize-9960930a.css} (100%) delete mode 100644 docs/api/static.files/noscript-00000000626a34ad.css create mode 100644 docs/api/static.files/noscript-893ab5e7.css rename docs/api/static.files/{rust-logo-00000000a653c8a4.svg => rust-logo-9a9549ea.svg} (100%) delete mode 100644 docs/api/static.files/rustdoc-0000000094d0019d.css create mode 100644 docs/api/static.files/rustdoc-c579a84d.css delete mode 100644 docs/api/static.files/scrape-examples-00000000aae39024.js create mode 100644 docs/api/static.files/scrape-examples-d508a8a9.js delete mode 100644 docs/api/static.files/search-00000000033a9c87.js create mode 100644 docs/api/static.files/search-ccb196c1.js rename docs/api/static.files/{settings-000000000a4e6193.js => settings-0f613d39.js} (50%) rename docs/api/static.files/{src-script-00000000e6115c00.js => src-script-56102188.js} (100%) rename docs/api/static.files/{storage-0000000036c0a5b4.js => storage-59e33391.js} (71%) diff --git a/.buildnumber b/.buildnumber index c6876402..ac7cd1ac 100644 --- a/.buildnumber +++ b/.buildnumber @@ -1 +1 @@ -278 \ No newline at end of file +279 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c9cda478..95566555 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ## CHANGELOG -### v0.38.01 +### v0.37.24 (2025-01-18) * Enhancement: New env_not condition #1187 thanks (@ayodejiige) * Enhancement: Enable LTO and codegen-units = 1 optimization #1211 (thanks @zamazan4ik) diff --git a/Cargo.lock b/Cargo.lock index 78b9f69d..f10212d2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "adler2" @@ -34,18 +34,18 @@ dependencies = [ [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" dependencies = [ "derive_arbitrary", ] [[package]] name = "attohttpc" -version = "0.28.0" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a13149d0cf3f7f9b9261fad4ec63b2efbf9a80665f52def86282d26255e6331" +checksum = "412b79ce053cef36eda52c25664b45ec92a21769488e20d5a8bf0b3c9e1a28cb" dependencies = [ "flate2", "http", @@ -70,9 +70,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "block-buffer" @@ -85,9 +85,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.10.0" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" dependencies = [ "memchr", "serde", @@ -107,9 +107,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.2" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" [[package]] name = "bzip2" @@ -143,7 +143,7 @@ dependencies = [ [[package]] name = "cargo-make" -version = "0.37.23" +version = "0.37.24" dependencies = [ "cargo_metadata", "cfg-if", @@ -187,9 +187,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -205,14 +205,14 @@ dependencies = [ "semver", "serde", "serde_json", - "thiserror 2.0.4", + "thiserror 2.0.11", ] [[package]] name = "cc" -version = "1.1.31" +version = "1.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229" dependencies = [ "shlex", ] @@ -231,9 +231,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", @@ -293,9 +293,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -311,9 +311,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -330,9 +330,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crypto-common" @@ -365,9 +365,9 @@ dependencies = [ [[package]] name = "derive_arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", @@ -477,9 +477,9 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] @@ -502,12 +502,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -528,9 +528,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fern" @@ -549,9 +549,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", "miniz_oxide", @@ -617,9 +617,9 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand", "futures-core", @@ -682,9 +682,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "heck" @@ -715,9 +715,9 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", "fnv", @@ -748,13 +748,142 @@ dependencies = [ ] [[package]] -name = "idna" -version = "0.5.0" +name = "icu_collections" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -790,7 +919,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "serde", ] @@ -805,9 +934,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "java-properties" @@ -822,18 +951,19 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] [[package]] name = "lazy-regex" -version = "3.3.0" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d8e41c97e6bc7ecb552016274b99fbb5d035e8de288c582d9b933af6677bfda" +checksum = "60c7310b93682b36b98fa7ea4de998d3463ccbebd94d935d6b48ba5b6ffa7126" dependencies = [ "lazy-regex-proc_macros", "once_cell", @@ -842,9 +972,9 @@ dependencies = [ [[package]] name = "lazy-regex-proc_macros" -version = "3.3.0" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e1d8b05d672c53cb9c7b920bbba8783845ae4f0b076e02a3db1d02c81b4163" +checksum = "4ba01db5ef81e17eb10a5e0f2109d1b3a3e29bac3070fdbd7d156bf7dbd206a1" dependencies = [ "proc-macro2", "quote", @@ -889,9 +1019,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.161" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libredox" @@ -905,9 +1035,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "lockfree-object-pool" @@ -929,9 +1065,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -1073,9 +1209,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pkg-config" @@ -1100,18 +1236,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -1148,9 +1284,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ "bitflags", ] @@ -1163,7 +1299,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror 1.0.64", + "thiserror 1.0.69", ] [[package]] @@ -1180,9 +1316,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -1227,24 +1363,24 @@ checksum = "99a6143e57e2d16a1dc652aa61664e8a1044d88e4b62470bde0a759800895c8d" [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.22.4" +version = "0.23.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" dependencies = [ - "log", + "once_cell", "ring", "rustls-pki-types", "rustls-webpki", @@ -1254,9 +1390,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" [[package]] name = "rustls-webpki" @@ -1271,9 +1407,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "ryu" @@ -1292,9 +1428,9 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ "windows-sys 0.59.0", ] @@ -1314,9 +1450,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -1413,12 +1549,24 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + [[package]] name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "strip-ansi-escapes" version = "0.2.1" @@ -1449,22 +1597,22 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "suppaftp" -version = "6.0.3" +version = "6.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb7ae9f63c90e21e0afaf56d63516d3db678e57bc4ad7919c7db7a9c32db539c" +checksum = "821742c6eeb5a90b95566abae78cc4bab5b96d9c230d29ea9e1a2e3181e57885" dependencies = [ "chrono", "futures-lite", "lazy-regex", "log", - "thiserror 1.0.64", + "thiserror 2.0.11", ] [[package]] name = "syn" -version = "2.0.90" +version = "2.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" dependencies = [ "proc-macro2", "quote", @@ -1472,13 +1620,25 @@ dependencies = [ ] [[package]] -name = "tempfile" -version = "3.13.0" +name = "synstructure" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tempfile" +version = "3.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", "fastrand", + "getrandom", "once_cell", "rustix", "windows-sys 0.59.0", @@ -1486,27 +1646,27 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.64", + "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" -version = "2.0.4" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.4", + "thiserror-impl 2.0.11", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", @@ -1515,9 +1675,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.4" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", @@ -1526,9 +1686,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "num-conv", @@ -1544,20 +1704,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] -name = "tinyvec" -version = "1.8.0" +name = "tinystr" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ - "tinyvec_macros", + "displaydoc", + "zerovec", ] -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - [[package]] name = "toml" version = "0.8.19" @@ -1607,26 +1762,11 @@ dependencies = [ "libc", ] -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "untrusted" @@ -1636,15 +1776,27 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", "percent-encoding", ] +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "vcpkg" version = "0.2.15" @@ -1690,24 +1842,24 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", "syn", @@ -1716,9 +1868,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1726,9 +1878,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -1739,15 +1891,18 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -1755,9 +1910,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.6" +version = "0.26.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" dependencies = [ "rustls-pki-types", ] @@ -1909,9 +2064,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.20" +version = "0.6.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" dependencies = [ "memchr", ] @@ -1922,6 +2077,42 @@ version = "0.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -1943,6 +2134,27 @@ dependencies = [ "syn", ] +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + [[package]] name = "zeroize" version = "1.8.1" @@ -1950,10 +2162,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" [[package]] -name = "zip" -version = "2.2.0" +name = "zerovec" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc5e4288ea4057ae23afc69a4472434a87a2495cafce6632fd1c4ec9f5cf3494" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zip" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae9c1ea7b3a5e1f4b922ff856a129881167511563dc219869afe3787fc0c1a45" dependencies = [ "arbitrary", "bzip2", @@ -1963,7 +2197,7 @@ dependencies = [ "flate2", "indexmap 2.7.0", "memchr", - "thiserror 1.0.64", + "thiserror 2.0.11", "time", "zopfli", ] diff --git a/Cargo.toml b/Cargo.toml index a79be7fd..9ac1ae08 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cargo-make" -version = "0.37.23" +version = "0.37.24" authors = ["Sagie Gur-Ari "] description = "Rust task runner and build tool." license = "Apache-2.0" diff --git a/README.md b/README.md index f3e6186a..c80dc5e8 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,7 @@ * [Shell Completion](#usage-shell-completion) * [Bash](#usage-shell-completion-bash) * [zsh](#usage-shell-completion-zsh) + * [Zsh Task Completion](usage-task-completion-zsh) * [Fig / Amazon CodeWhisperer for command line](#usage-shell-completion-fig) * [Global Configuration](#cargo-make-global-config) * [Makefile Definition](#descriptor-definition) @@ -242,7 +243,7 @@ cargo make my-flow The output would look something like this: ```console -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: Makefile.toml [cargo-make] INFO - Task: my-flow [cargo-make] INFO - Setting Up Env. @@ -665,7 +666,7 @@ Invoking cargo-make with additional arguments would result in the following: ```console > cargo make varargs arg1 arg2 arg3 -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: Makefile.toml [cargo-make] INFO - Task: varargs [cargo-make] INFO - Setting Up Env. @@ -682,7 +683,7 @@ Invoking cargo-make without any additional arguments would result in the followi ```console > cargo make varargs -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: Makefile.toml [cargo-make] INFO - Task: varargs [cargo-make] INFO - Setting Up Env. @@ -709,7 +710,7 @@ Would output: ```console > cargo make varargs arg1 arg2 arg3 -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: Makefile.toml [cargo-make] INFO - Task: varargs [cargo-make] INFO - Setting Up Env. @@ -760,7 +761,7 @@ Invoking cargo-make with additional arguments would result in the following: ```console > cargo make cli-args arg1 arg2 arg3 -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: Makefile.toml [cargo-make] INFO - Task: cli-args [cargo-make] INFO - Setting Up Env. @@ -777,7 +778,7 @@ Invoking cargo-make without any additional arguments would result in the followi ```console > cargo make cli-args -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: Makefile.toml [cargo-make] INFO - Task: cli-args [cargo-make] INFO - Setting Up Env. @@ -1039,7 +1040,7 @@ Output: ```console > cargo make --cwd ./examples --makefile ./shebang.toml shebang-sh -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: ./shebang.toml [cargo-make] INFO - Task: shebang-sh [cargo-make] INFO - Profile: development @@ -1066,7 +1067,7 @@ Output: ```console > cargo make --cwd ./examples --makefile ./shebang.toml shebang-python -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: ./shebang.toml [cargo-make] INFO - Task: shebang-python [cargo-make] INFO - Profile: development @@ -1410,7 +1411,7 @@ args = ["3"] We run task **3** the output would be: ```console -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: task_extend.toml [cargo-make] INFO - Task: 3 [cargo-make] INFO - Profile: development @@ -1422,7 +1423,6 @@ We run task **3** the output would be: [cargo-make] INFO - Build Done in 0 seconds. ``` - ### Environment Variables `cargo-make` enabled the definition of environment variables in several ways, which can later be accessed throughout task execution. @@ -1858,8 +1858,8 @@ The following condition types are available: * **env_true** - List of environment variables that must be defined and must not be set to any of the following (case insensitive): false, no, 0 or empty * **env_false** - List of environment variables that must be defined and set to any of the following (case insensitive): false, no, 0 or empty * **env** - Map of environment variables that must be defined and equal to the provided values -* **env_contains** - Map of environment variables that must be defined and contain (case insensitive) the provided values * **env_not** - Map of environment variables that must not be equal to the provided values +* **env_contains** - Map of environment variables that must be defined and contain (case insensitive) the provided values * **rust_version** - Optional definition of min, max, and/or specific rust version * **files_exist** - List of absolute path files to check they exist. Environment substitution is supported so you can define relative paths such as **`${CARGO_MAKE_WORKING_DIRECTORY}/Cargo.toml`** * **files_not_exist** - List of absolute path files to check they do not exist. Environment substitution is supported so you can define relative paths such as **`${CARGO_MAKE_WORKING_DIRECTORY}/Cargo.toml`** @@ -2650,7 +2650,7 @@ cargo make --cwd ./examples --makefile profile.toml --profile production echo Output: ```console -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: profile.toml [cargo-make] INFO - Task: echo [cargo-make] INFO - Profile: production @@ -2770,7 +2770,7 @@ deprecated = true When invoking **legacy** task for example, the output is: ```console -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: deprecated.toml [cargo-make] INFO - Task: legacy [cargo-make] INFO - Profile: development @@ -2811,7 +2811,7 @@ watch = true Below is a sample output of invoking the task: ```console -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: ./examples/watch.toml [cargo-make] INFO - Task: watch-example [cargo-make] INFO - Setting Up Env. @@ -2819,7 +2819,7 @@ Below is a sample output of invoking the task: [cargo-make] INFO - Running Task: watch-example [cargo-make] INFO - Running Task: watch-example-watch [cargo-make] INFO - Execute Command: "cargo" "watch" "-q" "-x" "make --disable-check-for-updates --no-on-error --loglevel=info --makefile=/projects/rust/cargo-make/examples/watch.toml watch-example" -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: /projects/rust/cargo-make/examples/watch.toml [cargo-make] INFO - Task: watch-example [cargo-make] INFO - Setting Up Env. @@ -2903,7 +2903,7 @@ args = ["${MULTIPLE_VALUES}"] ```console > cargo make --cwd ./examples --makefile functions.toml split -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: split [cargo-make] INFO - Profile: development @@ -2915,7 +2915,7 @@ args = ["${MULTIPLE_VALUES}"] [cargo-make] INFO - Build Done in 0 seconds. > cargo make --cwd ./examples --makefile functions.toml no-split -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: no-split [cargo-make] INFO - Profile: development @@ -2953,7 +2953,7 @@ args = ["@@getat(MULTIPLE_VALUES,|,3)"] ```console > cargo make --cwd ./examples --makefile functions.toml getat -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: getat [cargo-make] INFO - Profile: development @@ -2980,7 +2980,7 @@ args = ["1", "@@remove-empty(DOES_NOT_EXIST)", "2"] ```console > cargo make --cwd ./examples --makefile functions.toml remove-empty -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: remove-empty [cargo-make] INFO - Profile: development @@ -3013,7 +3013,7 @@ args = ["@@trim(TRIM_VALUE)"] ```console > cargo make --cwd ./examples --makefile functions.toml remove-empty -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: trim [cargo-make] INFO - Profile: development @@ -3042,7 +3042,7 @@ args = ["@@trim(TRIM_VALUE,end)"] ```console > cargo make --cwd ./examples --makefile functions.toml trim-start -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: trim-start [cargo-make] INFO - Profile: development @@ -3054,7 +3054,7 @@ args = ["@@trim(TRIM_VALUE,end)"] [cargo-make] INFO - Build Done in 0 seconds. > cargo make --cwd ./examples --makefile functions.toml trim-end -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: trim-end [cargo-make] INFO - Profile: development @@ -3092,7 +3092,7 @@ Sample run for a mapping that was found: ```console cargo make --cwd ./examples --makefile functions.toml -e DECODE_ENV_VAR=development decode -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: decode [cargo-make] INFO - Profile: development @@ -3108,7 +3108,7 @@ Another sample run for a mapping that was not found: ```console cargo make --cwd ./examples --makefile functions.toml -e DECODE_ENV_VAR=unmapped decode -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: decode [cargo-make] INFO - Profile: development @@ -3133,7 +3133,7 @@ Sample run: ```console cargo make --cwd ./examples --makefile functions.toml -e DECODE_ENV_VAR=unmapped decode-with-default -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: decode-with-default [cargo-make] INFO - Profile: development @@ -3157,7 +3157,7 @@ Sample run: ```console cargo make --cwd ./examples --makefile functions.toml -e DECODE_ENV_VAR=test decode-with-eval -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: functions.toml [cargo-make] INFO - Task: decode-with-eval [cargo-make] INFO - Profile: development @@ -3531,7 +3531,7 @@ In order to specify the minimal version, use the **min_version** in the config s ```toml [config] -min_version = "0.37.23" +min_version = "0.37.24" ``` @@ -3661,7 +3661,7 @@ Example Usage: ```console cargo make --diff-steps --makefile ./examples/override_core.toml post-build -[cargo-make] INFO - cargo make 0.37.23 +[cargo-make] INFO - cargo make 0.37.24 [cargo-make] INFO - Build File: ./examples/override_core.toml [cargo-make] INFO - Task: post-build [cargo-make] INFO - Setting Up Env. @@ -4072,6 +4072,11 @@ source ./extra/shell/makers-completion.bash It will enable auto completion for the **makers** executable. + +#### Zsh Task Completion +By executing `cargo make --completion zsh` the necesary components will be created to enable task autocompletion. A restart of the shell is needed, or `source ~/.zshrc` +Then it will be possible to list the tasks defined in Makefile.toml using tab: `cargo make ` + #### Fig / Amazon CodeWhisperer for command line diff --git a/docs/_config.yml b/docs/_config.yml index 0b8762d4..47422bba 100755 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -2,4 +2,4 @@ theme: jekyll-theme-cayman title: cargo-make description: Rust task runner and build tool. show_downloads: false -version: 0.37.23 +version: 0.37.24 diff --git a/docs/api/cargo_make/all.html b/docs/api/cargo_make/all.html index ad1c472d..660f7081 100644 --- a/docs/api/cargo_make/all.html +++ b/docs/api/cargo_make/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Functions

\ No newline at end of file +List of all items in this crate

List of all items

Functions

\ No newline at end of file diff --git a/docs/api/cargo_make/fn.get_name.html b/docs/api/cargo_make/fn.get_name.html index 02d84395..20955103 100644 --- a/docs/api/cargo_make/fn.get_name.html +++ b/docs/api/cargo_make/fn.get_name.html @@ -1 +1 @@ -get_name in cargo_make - Rust

Function cargo_make::get_name

source ·
pub(crate) fn get_name() -> String
\ No newline at end of file +get_name in cargo_make - Rust
cargo_make

Function get_name

Source
pub(crate) fn get_name() -> String
\ No newline at end of file diff --git a/docs/api/cargo_make/fn.main.html b/docs/api/cargo_make/fn.main.html index 8146d14b..8a65b915 100644 --- a/docs/api/cargo_make/fn.main.html +++ b/docs/api/cargo_make/fn.main.html @@ -1 +1 @@ -main in cargo_make - Rust

Function cargo_make::main

source ·
pub(crate) fn main() -> SuccessOrCargoMakeError<ExitCode>
\ No newline at end of file +main in cargo_make - Rust
cargo_make

Function main

Source
pub(crate) fn main() -> SuccessOrCargoMakeError<ExitCode>
\ No newline at end of file diff --git a/docs/api/cargo_make/index.html b/docs/api/cargo_make/index.html index 15b3da2c..abed3d09 100644 --- a/docs/api/cargo_make/index.html +++ b/docs/api/cargo_make/index.html @@ -1,4 +1,4 @@ -cargo_make - Rust

Crate cargo_make

source ·
Expand description

§cargo-make

+cargo_make - Rust

Crate cargo_make

Source
Expand description

§cargo-make

Rust task runner and build tool.
The cargo-make task runner enables to define and configure sets of tasks and run them as a flow.
A task is a command or a script to execute.
@@ -7,8 +7,7 @@ With a simple toml based configuration file, you can define a multi platform bui documentation generation, bench tests execution, security validations and more by running a single command.

§Installation

In order to install, just run the following command

-
cargo install cargo-make
-
+
cargo install cargo-make

This will install cargo-make in your ~/.cargo/bin.
Make sure to add ~/.cargo/bin directory to your PATH variable.

§Contributing

@@ -16,4 +15,4 @@ Make sure to add ~/.cargo/bin directory to your PATH variable.

§License

Developed by Sagie Gur-Ari and licensed under the Apache 2 open source license.

-

Functions§

\ No newline at end of file +

Functions§

\ No newline at end of file diff --git a/docs/api/cli/all.html b/docs/api/cli/all.html index 66fbdc5c..116a75e8 100644 --- a/docs/api/cli/all.html +++ b/docs/api/cli/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Functions

Statics

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Functions

Statics

\ No newline at end of file diff --git a/docs/api/cli/cli/fn.run.html b/docs/api/cli/cli/fn.run.html index 03e5e3c0..33541829 100644 --- a/docs/api/cli/cli/fn.run.html +++ b/docs/api/cli/cli/fn.run.html @@ -1,5 +1,5 @@ -run in cli::cli - Rust

Function cli::cli::run

source ·
pub fn run(
+run in cli::cli - Rust
cli::cli

Function run

Source
pub fn run(
     cli_args: &CliArgs,
     global_config: &GlobalConfig,
-    logger_options: Option<LoggerOptions>
+    logger_options: Option<LoggerOptions>,
 ) -> Result<(), CargoMakeError>
\ No newline at end of file diff --git a/docs/api/cli/cli/fn.run_cli.html b/docs/api/cli/cli/fn.run_cli.html index 182e9252..52da38cd 100644 --- a/docs/api/cli/cli/fn.run_cli.html +++ b/docs/api/cli/cli/fn.run_cli.html @@ -1,5 +1,5 @@ -run_cli in cli::cli - Rust

Function cli::cli::run_cli

source ·
pub fn run_cli(
+run_cli in cli::cli - Rust
cli::cli

Function run_cli

Source
pub fn run_cli(
     command_name: String,
-    sub_command: bool
+    sub_command: bool,
 ) -> Result<CliArgs, CargoMakeError>
Expand description

Handles the command line arguments and executes the runner.

\ No newline at end of file diff --git a/docs/api/cli/cli/index.html b/docs/api/cli/cli/index.html index 6eeb5df8..4eb7910a 100644 --- a/docs/api/cli/cli/index.html +++ b/docs/api/cli/cli/index.html @@ -1,3 +1,3 @@ -cli::cli - Rust

Module cli::cli

source ·
Expand description

§cli

+cli::cli - Rust
cli

Module cli

Source
Expand description

§cli

The cargo-make cli

Functions§

  • Handles the command line arguments and executes the runner.
\ No newline at end of file diff --git a/docs/api/cli/cli_commands/index.html b/docs/api/cli/cli_commands/index.html index badeacf0..45e7184e 100644 --- a/docs/api/cli/cli_commands/index.html +++ b/docs/api/cli/cli_commands/index.html @@ -1,3 +1,3 @@ -cli::cli_commands - Rust

Module cli::cli_commands

source ·
Expand description

§cli_commands

+cli::cli_commands - Rust
cli

Module cli_commands

Source
Expand description

§cli_commands

Wrappers for each CLI sub command.

-

Modules§

\ No newline at end of file +

Modules§

\ No newline at end of file diff --git a/docs/api/cli/cli_commands/list_steps/fn.run.html b/docs/api/cli/cli_commands/list_steps/fn.run.html index 7e56f368..3239cdb5 100644 --- a/docs/api/cli/cli_commands/list_steps/fn.run.html +++ b/docs/api/cli/cli_commands/list_steps/fn.run.html @@ -1,7 +1,7 @@ -run in cli::cli_commands::list_steps - Rust

Function cli::cli_commands::list_steps::run

source ·
pub fn run(
+run in cli::cli_commands::list_steps - Rust
cli::cli_commands::list_steps

Function run

Source
pub fn run(
     config: &Config,
     output_format: &str,
     output_file: &Option<String>,
     category: &Option<String>,
-    hide_uninteresting: bool
+    hide_uninteresting: bool,
 ) -> Result<(), CargoMakeError>
\ No newline at end of file diff --git a/docs/api/cli/cli_commands/list_steps/index.html b/docs/api/cli/cli_commands/list_steps/index.html index 6467b0d6..e3a934dd 100644 --- a/docs/api/cli/cli_commands/list_steps/index.html +++ b/docs/api/cli/cli_commands/list_steps/index.html @@ -1,4 +1,4 @@ -cli::cli_commands::list_steps - Rust

Module cli::cli_commands::list_steps

source ·
Expand description

§list_steps

+cli::cli_commands::list_steps - Rust
cli::cli_commands

Module list_steps

Source
Expand description

§list_steps

Lists all known tasks in multiple formats. Or can list tasks based on a category

Functions§

\ No newline at end of file diff --git a/docs/api/cli/cli_commands/print_steps/fn.print.html b/docs/api/cli/cli_commands/print_steps/fn.print.html index c5f0cfdf..8d7f7c57 100644 --- a/docs/api/cli/cli_commands/print_steps/fn.print.html +++ b/docs/api/cli/cli_commands/print_steps/fn.print.html @@ -1,4 +1,4 @@ -print in cli::cli_commands::print_steps - Rust

Function cli::cli_commands::print_steps::print

source ·
pub fn print(
+print in cli::cli_commands::print_steps - Rust
cli::cli_commands::print_steps

Function print

Source
pub fn print(
     output_buffer: &mut impl Write,
     config: &Config,
     task: &str,
@@ -6,6 +6,6 @@
     disable_workspace: bool,
     skip_tasks_pattern: &Option<String>,
     crateinfo: &CrateInfo,
-    skip_init_end_tasks: bool
+    skip_init_end_tasks: bool,
 ) -> Result<(), CargoMakeError>
Expand description

Only prints the execution plan

\ No newline at end of file diff --git a/docs/api/cli/cli_commands/print_steps/index.html b/docs/api/cli/cli_commands/print_steps/index.html index a1e7c2fa..f87b431f 100644 --- a/docs/api/cli/cli_commands/print_steps/index.html +++ b/docs/api/cli/cli_commands/print_steps/index.html @@ -1,3 +1,3 @@ -cli::cli_commands::print_steps - Rust

Module cli::cli_commands::print_steps

source ·
Expand description
+cli::cli_commands::print_steps - Rust
cli::cli_commands

Module print_steps

Source
Expand description

Prints the execution plan in multiple formats.

Functions§

  • Only prints the execution plan
\ No newline at end of file diff --git a/docs/api/cli/cli_parser/fn.create_cli.html b/docs/api/cli/cli_parser/fn.create_cli.html index 1a30a09e..192651d9 100644 --- a/docs/api/cli/cli_parser/fn.create_cli.html +++ b/docs/api/cli/cli_parser/fn.create_cli.html @@ -1,5 +1,5 @@ -create_cli in cli::cli_parser - Rust

Function cli::cli_parser::create_cli

source ·
pub fn create_cli(
+create_cli in cli::cli_parser - Rust
cli::cli_parser

Function create_cli

Source
pub fn create_cli(
     global_config: &GlobalConfig,
     spec: CliSpec,
-    default_meta: bool
+    default_meta: bool,
 ) -> CliSpec
\ No newline at end of file diff --git a/docs/api/cli/cli_parser/fn.parse.html b/docs/api/cli/cli_parser/fn.parse.html index fbaf2bf7..ff2b7f0e 100644 --- a/docs/api/cli/cli_parser/fn.parse.html +++ b/docs/api/cli/cli_parser/fn.parse.html @@ -1,5 +1,5 @@ -parse in cli::cli_parser - Rust

Function cli::cli_parser::parse

source ·
pub fn parse(
+parse in cli::cli_parser - Rust
cli::cli_parser

Function parse

Source
pub fn parse(
     global_config: &GlobalConfig,
     command_name: &str,
-    sub_command: bool
+    sub_command: bool,
 ) -> Result<CliArgs, CargoMakeError>
\ No newline at end of file diff --git a/docs/api/cli/cli_parser/fn.parse_args.html b/docs/api/cli/cli_parser/fn.parse_args.html index 5b472e37..4d4e67c7 100644 --- a/docs/api/cli/cli_parser/fn.parse_args.html +++ b/docs/api/cli/cli_parser/fn.parse_args.html @@ -1,7 +1,7 @@ -parse_args in cli::cli_parser - Rust

Function cli::cli_parser::parse_args

source ·
pub fn parse_args(
+parse_args in cli::cli_parser - Rust
cli::cli_parser

Function parse_args

Source
pub fn parse_args(
     global_config: &GlobalConfig,
     command_name: &str,
     sub_command: bool,
     args: Option<Vec<&str>>,
-    spec: CliSpec
+    spec: CliSpec,
 ) -> Result<CliArgs, CargoMakeError>
\ No newline at end of file diff --git a/docs/api/cli/cli_parser/index.html b/docs/api/cli/cli_parser/index.html index ac1b9db3..e80f3a6c 100644 --- a/docs/api/cli/cli_parser/index.html +++ b/docs/api/cli/cli_parser/index.html @@ -1,3 +1,3 @@ -cli::cli_parser - Rust

Module cli::cli_parser

source ·
Expand description

§cli_parser

+cli::cli_parser - Rust
cli

Module cli_parser

Source
Expand description

§cli_parser

Defines the cli args and parsers them.

-

Functions§

\ No newline at end of file +

Functions§

\ No newline at end of file diff --git a/docs/api/cli/completion/fn.generate_completions.html b/docs/api/cli/completion/fn.generate_completions.html new file mode 100644 index 00000000..8c7342d7 --- /dev/null +++ b/docs/api/cli/completion/fn.generate_completions.html @@ -0,0 +1 @@ +generate_completions in cli::completion - Rust
cli::completion

Function generate_completions

Source
pub fn generate_completions(shell: &str) -> Result<(), Box<dyn Error>>
\ No newline at end of file diff --git a/docs/api/cli/completion/index.html b/docs/api/cli/completion/index.html new file mode 100644 index 00000000..98111c5b --- /dev/null +++ b/docs/api/cli/completion/index.html @@ -0,0 +1 @@ +cli::completion - Rust
cli

Module completion

Source

Functions§

\ No newline at end of file diff --git a/docs/api/cli/completion/sidebar-items.js b/docs/api/cli/completion/sidebar-items.js new file mode 100644 index 00000000..53e1035b --- /dev/null +++ b/docs/api/cli/completion/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":["generate_completions"]}; \ No newline at end of file diff --git a/docs/api/cli/config/fn.get_config_directory.html b/docs/api/cli/config/fn.get_config_directory.html index ab2fe551..ca30f4fb 100644 --- a/docs/api/cli/config/fn.get_config_directory.html +++ b/docs/api/cli/config/fn.get_config_directory.html @@ -1 +1 @@ -get_config_directory in cli::config - Rust

Function cli::config::get_config_directory

source ·
pub fn get_config_directory() -> Option<PathBuf>
\ No newline at end of file +get_config_directory in cli::config - Rust
cli::config

Function get_config_directory

Source
pub fn get_config_directory() -> Option<PathBuf>
\ No newline at end of file diff --git a/docs/api/cli/config/fn.load.html b/docs/api/cli/config/fn.load.html index 1dbcd1d0..93f8a893 100644 --- a/docs/api/cli/config/fn.load.html +++ b/docs/api/cli/config/fn.load.html @@ -1,2 +1,2 @@ -load in cli::config - Rust

Function cli::config::load

source ·
pub fn load() -> Result<GlobalConfig, CargoMakeError>
Expand description

Returns the configuration

+load in cli::config - Rust
cli::config

Function load

Source
pub fn load() -> Result<GlobalConfig, CargoMakeError>
Expand description

Returns the configuration

\ No newline at end of file diff --git a/docs/api/cli/config/fn.load_from_path.html b/docs/api/cli/config/fn.load_from_path.html index 42ef3464..29e8da62 100644 --- a/docs/api/cli/config/fn.load_from_path.html +++ b/docs/api/cli/config/fn.load_from_path.html @@ -1,3 +1,3 @@ -load_from_path in cli::config - Rust

Function cli::config::load_from_path

source ·
pub fn load_from_path(
-    directory: PathBuf
+load_from_path in cli::config - Rust
cli::config

Function load_from_path

Source
pub fn load_from_path(
+    directory: PathBuf,
 ) -> Result<GlobalConfig, CargoMakeError>
\ No newline at end of file diff --git a/docs/api/cli/config/index.html b/docs/api/cli/config/index.html index ea52f474..c5b5b9d3 100644 --- a/docs/api/cli/config/index.html +++ b/docs/api/cli/config/index.html @@ -1,3 +1,3 @@ -cli::config - Rust

Module cli::config

source ·
Expand description

§config

+cli::config - Rust
cli

Module config

Source
Expand description

§config

Enable to load/store user level configuration for cargo-make.

-

Statics§

Functions§

\ No newline at end of file +

Statics§

Functions§

\ No newline at end of file diff --git a/docs/api/cli/config/static.CONFIG_FILE.html b/docs/api/cli/config/static.CONFIG_FILE.html index 66800730..71718a29 100644 --- a/docs/api/cli/config/static.CONFIG_FILE.html +++ b/docs/api/cli/config/static.CONFIG_FILE.html @@ -1 +1 @@ -CONFIG_FILE in cli::config - Rust

Static cli::config::CONFIG_FILE

source ·
pub static CONFIG_FILE: &'static str
\ No newline at end of file +CONFIG_FILE in cli::config - Rust
cli::config

Static CONFIG_FILE

Source
pub static CONFIG_FILE: &'static str
\ No newline at end of file diff --git a/docs/api/cli/error/enum.CargoMakeError.html b/docs/api/cli/error/enum.CargoMakeError.html index 1ec7505e..c3de5371 100644 --- a/docs/api/cli/error/enum.CargoMakeError.html +++ b/docs/api/cli/error/enum.CargoMakeError.html @@ -1,4 +1,4 @@ -CargoMakeError in cli::error - Rust

Enum cli::error::CargoMakeError

source ·
#[repr(u16)]
pub enum CargoMakeError { +CargoMakeError in cli::error - Rust
cli::error

Enum CargoMakeError

Source
#[repr(u16)]
pub enum CargoMakeError {
Show 18 variants EnvVarCycle(String), AliasCycle(String, String), CircularReference(String), @@ -27,24 +27,25 @@ ParserError { error: ParserError, }, -
}

Variants§

§

EnvVarCycle(String)

§

AliasCycle(String, String)

§

CircularReference(String)

§

VersionTooOld(String)

§

ExitCodeValidation = 104

§

ExitCodeError(i32)

§

DescriptorParseFailed(String)

§

ParseFileFailed(String, String)

§

Arity(&'static str)

§

MethodCallRestriction(&'static str)

§

TaskIs(String, &'static str)

§

NotFound(String)

§

StdIoError

Fields

§error: Error
§

StdFmtError

Fields

§error: Error
§

ExitCode(ExitCode)

§

TomlDeError

Fields

§error: Error
§

FsIOError

Fields

§error: FsIOError
§

ParserError

Fields

§error: ParserError

Trait Implementations§

source§

impl AsRef<str> for CargoMakeError

source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for CargoMakeError

source§

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

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

impl Display for CargoMakeError

source§

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

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

impl<'_derivative_strum> From<&'_derivative_strum CargoMakeError> for &'static str

source§

fn from(x: &'_derivative_strum CargoMakeError) -> &'static str

Converts to this type from the input type.
source§

impl<'_enum> From<&'_enum CargoMakeError> for CargoMakeErrorDiscriminants

source§

fn from(val: &'_enum CargoMakeError) -> CargoMakeErrorDiscriminants

Converts to this type from the input type.
source§

impl From<CargoMakeError> for &'static str

source§

fn from(x: CargoMakeError) -> &'static str

Converts to this type from the input type.
source§

impl From<CargoMakeError> for CargoMakeErrorDiscriminants

source§

fn from(val: CargoMakeError) -> CargoMakeErrorDiscriminants

Converts to this type from the input type.
source§

impl From<Error> for CargoMakeError

source§

fn from(error: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for CargoMakeError

source§

fn from(error: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for CargoMakeError

source§

fn from(error: Error) -> Self

Converts to this type from the input type.
source§

impl From<ExitCode> for CargoMakeError

source§

fn from(error: ExitCode) -> Self

Converts to this type from the input type.
source§

impl From<FsIOError> for CargoMakeError

source§

fn from(error: FsIOError) -> Self

Converts to this type from the input type.
source§

impl From<ParserError> for CargoMakeError

source§

fn from(error: ParserError) -> Self

Converts to this type from the input type.
source§

impl Termination for CargoMakeError

source§

fn report(self) -> ExitCode

Is called to get the representation of the value as status code. -This status code is returned to the operating system.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+
}

Variants§

§

EnvVarCycle(String)

§

AliasCycle(String, String)

§

CircularReference(String)

§

VersionTooOld(String)

§

ExitCodeValidation = 104

§

ExitCodeError(i32)

§

DescriptorParseFailed(String)

§

ParseFileFailed(String, String)

§

Arity(&'static str)

§

MethodCallRestriction(&'static str)

§

TaskIs(String, &'static str)

§

NotFound(String)

§

StdIoError

Fields

§error: Error
§

StdFmtError

Fields

§error: Error
§

ExitCode(ExitCode)

§

TomlDeError

Fields

§error: Error
§

FsIOError

Fields

§error: FsIOError
§

ParserError

Fields

§error: ParserError

Trait Implementations§

Source§

impl AsRef<str> for CargoMakeError

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Debug for CargoMakeError

Source§

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

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

impl Display for CargoMakeError

Source§

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

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

impl<'_derivative_strum> From<&'_derivative_strum CargoMakeError> for &'static str

Source§

fn from(x: &'_derivative_strum CargoMakeError) -> &'static str

Converts to this type from the input type.
Source§

impl<'_enum> From<&'_enum CargoMakeError> for CargoMakeErrorDiscriminants

Source§

fn from(val: &'_enum CargoMakeError) -> CargoMakeErrorDiscriminants

Converts to this type from the input type.
Source§

impl From<CargoMakeError> for &'static str

Source§

fn from(x: CargoMakeError) -> &'static str

Converts to this type from the input type.
Source§

impl From<CargoMakeError> for CargoMakeErrorDiscriminants

Source§

fn from(val: CargoMakeError) -> CargoMakeErrorDiscriminants

Converts to this type from the input type.
Source§

impl From<Error> for CargoMakeError

Source§

fn from(error: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for CargoMakeError

Source§

fn from(error: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for CargoMakeError

Source§

fn from(error: Error) -> Self

Converts to this type from the input type.
Source§

impl From<ExitCode> for CargoMakeError

Source§

fn from(error: ExitCode) -> Self

Converts to this type from the input type.
Source§

impl From<FsIOError> for CargoMakeError

Source§

fn from(error: FsIOError) -> Self

Converts to this type from the input type.
Source§

impl From<ParserError> for CargoMakeError

Source§

fn from(error: ParserError) -> Self

Converts to this type from the input type.
Source§

impl Termination for CargoMakeError

Source§

fn report(self) -> ExitCode

Is called to get the representation of the value as status code. +This status code is returned to the operating system.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

source§

default fn to_string(&self) -> String

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

fn to_string(&self) -> String

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/error/enum.CargoMakeErrorDiscriminants.html b/docs/api/cli/error/enum.CargoMakeErrorDiscriminants.html index 7ab4653a..5fe496cd 100644 --- a/docs/api/cli/error/enum.CargoMakeErrorDiscriminants.html +++ b/docs/api/cli/error/enum.CargoMakeErrorDiscriminants.html @@ -1,4 +1,4 @@ -CargoMakeErrorDiscriminants in cli::error - Rust

Enum cli::error::CargoMakeErrorDiscriminants

source ·
#[repr(u16)]
pub enum CargoMakeErrorDiscriminants { +CargoMakeErrorDiscriminants in cli::error - Rust
cli::error

Enum CargoMakeErrorDiscriminants

Source
#[repr(u16)]
pub enum CargoMakeErrorDiscriminants {
Show 18 variants EnvVarCycle = 100, AliasCycle = 101, CircularReference = 102, @@ -18,31 +18,32 @@ FsIOError = 730, ParserError = 731,
}
Expand description

Auto-generated discriminant enum variants

-

Variants§

§

EnvVarCycle = 100

§

AliasCycle = 101

§

CircularReference = 102

§

VersionTooOld = 103

§

ExitCodeValidation = 104

§

ExitCodeError = 105

§

DescriptorParseFailed = 106

§

ParseFileFailed = 107

§

Arity = 108

§

MethodCallRestriction = 109

§

TaskIs = 110

§

NotFound = 404

§

StdIoError = 700

§

StdFmtError = 709

§

ExitCode = 710

§

TomlDeError = 720

§

FsIOError = 730

§

ParserError = 731

Trait Implementations§

source§

impl Clone for CargoMakeErrorDiscriminants

source§

fn clone(&self) -> CargoMakeErrorDiscriminants

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for CargoMakeErrorDiscriminants

source§

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

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

impl<'_enum> From<&'_enum CargoMakeError> for CargoMakeErrorDiscriminants

source§

fn from(val: &'_enum CargoMakeError) -> CargoMakeErrorDiscriminants

Converts to this type from the input type.
source§

impl From<CargoMakeError> for CargoMakeErrorDiscriminants

source§

fn from(val: CargoMakeError) -> CargoMakeErrorDiscriminants

Converts to this type from the input type.
source§

impl PartialEq for CargoMakeErrorDiscriminants

source§

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

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

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

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

impl Copy for CargoMakeErrorDiscriminants

source§

impl Eq for CargoMakeErrorDiscriminants

source§

impl StructuralPartialEq for CargoMakeErrorDiscriminants

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where +

Variants§

§

EnvVarCycle = 100

§

AliasCycle = 101

§

CircularReference = 102

§

VersionTooOld = 103

§

ExitCodeValidation = 104

§

ExitCodeError = 105

§

DescriptorParseFailed = 106

§

ParseFileFailed = 107

§

Arity = 108

§

MethodCallRestriction = 109

§

TaskIs = 110

§

NotFound = 404

§

StdIoError = 700

§

StdFmtError = 709

§

ExitCode = 710

§

TomlDeError = 720

§

FsIOError = 730

§

ParserError = 731

Trait Implementations§

Source§

impl Clone for CargoMakeErrorDiscriminants

Source§

fn clone(&self) -> CargoMakeErrorDiscriminants

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for CargoMakeErrorDiscriminants

Source§

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

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

impl<'_enum> From<&'_enum CargoMakeError> for CargoMakeErrorDiscriminants

Source§

fn from(val: &'_enum CargoMakeError) -> CargoMakeErrorDiscriminants

Converts to this type from the input type.
Source§

impl From<CargoMakeError> for CargoMakeErrorDiscriminants

Source§

fn from(val: CargoMakeError) -> CargoMakeErrorDiscriminants

Converts to this type from the input type.
Source§

impl PartialEq for CargoMakeErrorDiscriminants

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Copy for CargoMakeErrorDiscriminants

Source§

impl Eq for CargoMakeErrorDiscriminants

Source§

impl StructuralPartialEq for CargoMakeErrorDiscriminants

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+ K: Borrow<Q> + ?Sized,
§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/error/enum.SuccessOrCargoMakeError.html b/docs/api/cli/error/enum.SuccessOrCargoMakeError.html index 482efe4e..a302c57a 100644 --- a/docs/api/cli/error/enum.SuccessOrCargoMakeError.html +++ b/docs/api/cli/error/enum.SuccessOrCargoMakeError.html @@ -1,27 +1,28 @@ -SuccessOrCargoMakeError in cli::error - Rust

Enum cli::error::SuccessOrCargoMakeError

source ·
pub enum SuccessOrCargoMakeError<T> {
+SuccessOrCargoMakeError in cli::error - Rust
cli::error

Enum SuccessOrCargoMakeError

Source
pub enum SuccessOrCargoMakeError<T> {
     Ok(T),
     Err(CargoMakeError),
-}

Variants§

Trait Implementations§

source§

impl<T> From<Result<T, CargoMakeError>> for SuccessOrCargoMakeError<T>

source§

fn from(value: Result<T, CargoMakeError>) -> Self

Converts to this type from the input type.
source§

impl<T: Any> Termination for SuccessOrCargoMakeError<T>

source§

fn report(self) -> ExitCode

Is called to get the representation of the value as status code. +}

Variants§

Trait Implementations§

Source§

impl<T> From<Result<T, CargoMakeError>> for SuccessOrCargoMakeError<T>

Source§

fn from(value: Result<T, CargoMakeError>) -> Self

Converts to this type from the input type.
Source§

impl<T: Any> Termination for SuccessOrCargoMakeError<T>

Source§

fn report(self) -> ExitCode

Is called to get the representation of the value as status code. This status code is returned to the operating system.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+ T: Unpin,
§

impl<T> !UnwindSafe for SuccessOrCargoMakeError<T>

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/error/index.html b/docs/api/cli/error/index.html index a2f0a175..8d0b8f65 100644 --- a/docs/api/cli/error/index.html +++ b/docs/api/cli/error/index.html @@ -1 +1 @@ -cli::error - Rust

Module cli::error

source ·

Enums§

\ No newline at end of file +cli::error - Rust
cli

Module error

Source

Enums§

\ No newline at end of file diff --git a/docs/api/cli/fn.run_cli.html b/docs/api/cli/fn.run_cli.html index cf0a9ed2..e7974fca 100644 --- a/docs/api/cli/fn.run_cli.html +++ b/docs/api/cli/fn.run_cli.html @@ -1,5 +1,5 @@ -run_cli in cli - Rust

Function cli::run_cli

source ·
pub fn run_cli(
+run_cli in cli - Rust
cli

Function run_cli

Source
pub fn run_cli(
     command_name: String,
-    sub_command: bool
+    sub_command: bool,
 ) -> Result<CliArgs, CargoMakeError>
Expand description

Handles the command line arguments and executes the runner.

\ No newline at end of file diff --git a/docs/api/cli/index.html b/docs/api/cli/index.html index c3dbe6ca..22311107 100644 --- a/docs/api/cli/index.html +++ b/docs/api/cli/index.html @@ -1,4 +1,4 @@ -cli - Rust

Crate cli

source ·
Expand description

§cargo-make

+cli - Rust

Crate cli

Source
Expand description

§cargo-make

Rust task runner and build tool.
The cargo-make task runner enables to define and configure sets of tasks and run them as a flow.
A task is a command or a script to execute.
@@ -7,8 +7,7 @@ With a simple toml based configuration file, you can define a multi platform bui documentation generation, bench tests execution, security validations and more by running a single command.

§Installation

In order to install, just run the following command

-
cargo install cargo-make
-
+
cargo install cargo-make

This will install cargo-make in your ~/.cargo/bin.
Make sure to add ~/.cargo/bin directory to your PATH variable.

§Contributing

@@ -16,4 +15,4 @@ Make sure to add ~/.cargo/bin directory to your PATH variable.

§License

Developed by Sagie Gur-Ari and licensed under the Apache 2 open source license.

-

Modules§

Functions§

  • Handles the command line arguments and executes the runner.
\ No newline at end of file +

Modules§

Functions§

  • Handles the command line arguments and executes the runner.
\ No newline at end of file diff --git a/docs/api/cli/logger/index.html b/docs/api/cli/logger/index.html index 06df73c3..f664c492 100644 --- a/docs/api/cli/logger/index.html +++ b/docs/api/cli/logger/index.html @@ -1,3 +1,3 @@ -cli::logger - Rust

Module cli::logger

source ·
Expand description

§log

+cli::logger - Rust
cli

Module logger

Source
Expand description

§log

Initializes the global logger.

-

Structs§

\ No newline at end of file +

Structs§

\ No newline at end of file diff --git a/docs/api/cli/logger/struct.LoggerOptions.html b/docs/api/cli/logger/struct.LoggerOptions.html index 8f3766b1..07055775 100644 --- a/docs/api/cli/logger/struct.LoggerOptions.html +++ b/docs/api/cli/logger/struct.LoggerOptions.html @@ -1,4 +1,4 @@ -LoggerOptions in cli::logger - Rust

Struct cli::logger::LoggerOptions

source ·
pub struct LoggerOptions {
+LoggerOptions in cli::logger - Rust
cli::logger

Struct LoggerOptions

Source
pub struct LoggerOptions {
     pub name: String,
     pub level: String,
     pub color: bool,
@@ -6,22 +6,23 @@
 

Fields§

§name: String

Name to prefix each log message

§level: String

The logger level name (verbose, info, error, off)

§color: bool

True to printout colorful output

-

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/runner/fn.run.html b/docs/api/cli/runner/fn.run.html index 565e5f5c..f642a9b6 100644 --- a/docs/api/cli/runner/fn.run.html +++ b/docs/api/cli/runner/fn.run.html @@ -1,10 +1,10 @@ -run in cli::runner - Rust

Function cli::runner::run

source ·
pub fn run(
+run in cli::runner - Rust
cli::runner

Function run

Source
pub fn run(
     config: Config,
     task: &str,
     env_info: EnvInfo,
     cli_args: &CliArgs,
     start_time: SystemTime,
-    time_summary_vec: Vec<(String, u128)>
+    time_summary_vec: Vec<(String, u128)>,
 ) -> Result<(), CargoMakeError>
Expand description

Runs the requested tasks.
The flow is as follows:

\ No newline at end of file diff --git a/docs/api/cli/types/enum.ConditionType.html b/docs/api/cli/types/enum.ConditionType.html index 2ccd8074..15918f12 100644 --- a/docs/api/cli/types/enum.ConditionType.html +++ b/docs/api/cli/types/enum.ConditionType.html @@ -1,4 +1,4 @@ -ConditionType in cli::types - Rust

Enum cli::types::ConditionType

source ·
pub enum ConditionType {
+ConditionType in cli::types - Rust
cli::types

Enum ConditionType

Source
pub enum ConditionType {
     And,
     Or,
     GroupOr,
@@ -6,28 +6,29 @@
 

Variants§

§

And

All conditions must pass

§

Or

Any condition must pass

§

GroupOr

Any condition group must pass, but each group will be validated as an AND

-

Trait Implementations§

source§

impl Clone for ConditionType

source§

fn clone(&self) -> ConditionType

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ConditionType

source§

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

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

impl<'de> Deserialize<'de> for ConditionType

source§

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

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

impl PartialEq for ConditionType

source§

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

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

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

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

impl Serialize for ConditionType

source§

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

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

impl StructuralPartialEq for ConditionType

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for ConditionType

Source§

fn clone(&self) -> ConditionType

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ConditionType

Source§

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

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

impl<'de> Deserialize<'de> for ConditionType

Source§

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

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

impl PartialEq for ConditionType

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for ConditionType

Source§

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

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

impl StructuralPartialEq for ConditionType

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.CrateDependency.html b/docs/api/cli/types/enum.CrateDependency.html index 85f2879f..c50b0adb 100644 --- a/docs/api/cli/types/enum.CrateDependency.html +++ b/docs/api/cli/types/enum.CrateDependency.html @@ -1,29 +1,31 @@ -CrateDependency in cli::types - Rust

Enum cli::types::CrateDependency

source ·
pub enum CrateDependency {
+CrateDependency in cli::types - Rust
cli::types

Enum CrateDependency

Source
pub enum CrateDependency {
     Version(String),
     Info(CrateDependencyInfo),
 }
Expand description

Holds crate dependency info.

Variants§

§

Version(String)

Holds the dependency version

§

Info(CrateDependencyInfo)

Hold dependency info

-

Trait Implementations§

source§

impl Clone for CrateDependency

source§

fn clone(&self) -> CrateDependency

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for CrateDependency

source§

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

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

impl<'de> Deserialize<'de> for CrateDependency

source§

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

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

impl Serialize for CrateDependency

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for CrateDependency

Source§

fn clone(&self) -> CrateDependency

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for CrateDependency

Source§

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

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

impl<'de> Deserialize<'de> for CrateDependency

Source§

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

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

impl Serialize for CrateDependency

Source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.DependencyIdentifier.html b/docs/api/cli/types/enum.DependencyIdentifier.html index cd777bdc..e5e53f2d 100644 --- a/docs/api/cli/types/enum.DependencyIdentifier.html +++ b/docs/api/cli/types/enum.DependencyIdentifier.html @@ -1,39 +1,40 @@ -DependencyIdentifier in cli::types - Rust

Enum cli::types::DependencyIdentifier

source ·
pub enum DependencyIdentifier {
+DependencyIdentifier in cli::types - Rust
cli::types

Enum DependencyIdentifier

Source
pub enum DependencyIdentifier {
     Definition(TaskIdentifier),
     Name(String),
 }
Expand description

A dependency, defined either as a string or as a Dependency object

Variants§

§

Definition(TaskIdentifier)

A full dependency definition (potentially in a different file)

§

Name(String)

A string dependency definition (its name in the current file)

-

Implementations§

source§

impl DependencyIdentifier

source

pub fn name(&self) -> &str

Get the name of a dependency

-
source

pub fn with_namespace(self, namespace: &str) -> Self

Adorn the TaskIdentifier with a namespace

-

Trait Implementations§

source§

impl Clone for DependencyIdentifier

source§

fn clone(&self) -> DependencyIdentifier

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for DependencyIdentifier

source§

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

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

impl<'de> Deserialize<'de> for DependencyIdentifier

source§

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

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

impl From<&str> for DependencyIdentifier

source§

fn from(name: &str) -> Self

Converts to this type from the input type.
source§

impl Into<TaskIdentifier> for DependencyIdentifier

source§

fn into(self) -> TaskIdentifier

Converts this type into the (usually inferred) input type.
source§

impl PartialEq for DependencyIdentifier

source§

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

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

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

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

impl Serialize for DependencyIdentifier

source§

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

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

impl Eq for DependencyIdentifier

source§

impl StructuralPartialEq for DependencyIdentifier

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where +

Implementations§

Source§

impl DependencyIdentifier

Source

pub fn name(&self) -> &str

Get the name of a dependency

+
Source

pub fn with_namespace(self, namespace: &str) -> Self

Adorn the TaskIdentifier with a namespace

+

Trait Implementations§

Source§

impl Clone for DependencyIdentifier

Source§

fn clone(&self) -> DependencyIdentifier

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DependencyIdentifier

Source§

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

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

impl<'de> Deserialize<'de> for DependencyIdentifier

Source§

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

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

impl From<&str> for DependencyIdentifier

Source§

fn from(name: &str) -> Self

Converts to this type from the input type.
Source§

impl Into<TaskIdentifier> for DependencyIdentifier

Source§

fn into(self) -> TaskIdentifier

Converts this type into the (usually inferred) input type.
Source§

impl PartialEq for DependencyIdentifier

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for DependencyIdentifier

Source§

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

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

impl Eq for DependencyIdentifier

Source§

impl StructuralPartialEq for DependencyIdentifier

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+ K: Borrow<Q> + ?Sized,
§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.DeprecationInfo.html b/docs/api/cli/types/enum.DeprecationInfo.html index 88ca63ba..15874103 100644 --- a/docs/api/cli/types/enum.DeprecationInfo.html +++ b/docs/api/cli/types/enum.DeprecationInfo.html @@ -1,31 +1,32 @@ -DeprecationInfo in cli::types - Rust

Enum cli::types::DeprecationInfo

source ·
pub enum DeprecationInfo {
+DeprecationInfo in cli::types - Rust
cli::types

Enum DeprecationInfo

Source
pub enum DeprecationInfo {
     Boolean(bool),
     Message(String),
 }
Expand description

Holds deprecation info such as true/false/message

Variants§

§

Boolean(bool)

True/False flag (true is deprecated)

§

Message(String)

Deprecation message

-

Trait Implementations§

source§

impl Clone for DeprecationInfo

source§

fn clone(&self) -> DeprecationInfo

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for DeprecationInfo

source§

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

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

impl<'de> Deserialize<'de> for DeprecationInfo

source§

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

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

impl PartialEq for DeprecationInfo

source§

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

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

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

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

impl Serialize for DeprecationInfo

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for DeprecationInfo

Source§

fn clone(&self) -> DeprecationInfo

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DeprecationInfo

Source§

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

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

impl<'de> Deserialize<'de> for DeprecationInfo

Source§

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

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

impl PartialEq for DeprecationInfo

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for DeprecationInfo

Source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.EnvFile.html b/docs/api/cli/types/enum.EnvFile.html index e6b989d7..16ca3df6 100644 --- a/docs/api/cli/types/enum.EnvFile.html +++ b/docs/api/cli/types/enum.EnvFile.html @@ -1,29 +1,31 @@ -EnvFile in cli::types - Rust

Enum cli::types::EnvFile

source ·
pub enum EnvFile {
+EnvFile in cli::types - Rust
cli::types

Enum EnvFile

Source
pub enum EnvFile {
     Path(String),
     Info(EnvFileInfo),
 }
Expand description

Holds the env file path and attributes

Variants§

§

Path(String)

The file path as string

§

Info(EnvFileInfo)

Extended info object for env file

-

Trait Implementations§

source§

impl Clone for EnvFile

source§

fn clone(&self) -> EnvFile

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for EnvFile

source§

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

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

impl<'de> Deserialize<'de> for EnvFile

source§

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

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

impl Serialize for EnvFile

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for EnvFile

Source§

fn clone(&self) -> EnvFile

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvFile

Source§

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

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

impl<'de> Deserialize<'de> for EnvFile

Source§

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

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

impl Serialize for EnvFile

Source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.EnvValue.html b/docs/api/cli/types/enum.EnvValue.html index 61edf8c6..70e5accf 100644 --- a/docs/api/cli/types/enum.EnvValue.html +++ b/docs/api/cli/types/enum.EnvValue.html @@ -1,4 +1,4 @@ -EnvValue in cli::types - Rust

Enum cli::types::EnvValue

source ·
pub enum EnvValue {
+EnvValue in cli::types - Rust
cli::types

Enum EnvValue

Source
pub enum EnvValue {
     Value(String),
     Boolean(bool),
     Number(isize),
@@ -20,26 +20,28 @@
 
§

Conditional(EnvValueConditioned)

Conditional env value

§

PathGlob(EnvValuePathGlob)

Path glob

§

Profile(IndexMap<String, EnvValue>)

Profile env

-

Trait Implementations§

source§

impl Clone for EnvValue

source§

fn clone(&self) -> EnvValue

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for EnvValue

source§

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

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

impl<'de> Deserialize<'de> for EnvValue

source§

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

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

impl Serialize for EnvValue

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for EnvValue

Source§

fn clone(&self) -> EnvValue

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvValue

Source§

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

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

impl<'de> Deserialize<'de> for EnvValue

Source§

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

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

impl Serialize for EnvValue

Source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.Extend.html b/docs/api/cli/types/enum.Extend.html index c4a5971b..7cfea052 100644 --- a/docs/api/cli/types/enum.Extend.html +++ b/docs/api/cli/types/enum.Extend.html @@ -1,4 +1,4 @@ -Extend in cli::types - Rust

Enum cli::types::Extend

source ·
pub enum Extend {
+Extend in cli::types - Rust
cli::types

Enum Extend

Source
pub enum Extend {
     Path(String),
     Options(ExtendOptions),
     List(Vec<ExtendOptions>),
@@ -6,26 +6,28 @@
 

Variants§

§

Path(String)

Path to another makefile

§

Options(ExtendOptions)

Extend options for more fine tune control

§

List(Vec<ExtendOptions>)

Multiple extends list

-

Trait Implementations§

source§

impl Clone for Extend

source§

fn clone(&self) -> Extend

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Extend

source§

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

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

impl<'de> Deserialize<'de> for Extend

source§

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

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

impl Serialize for Extend

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Extend

§

impl RefUnwindSafe for Extend

§

impl Send for Extend

§

impl Sync for Extend

§

impl Unpin for Extend

§

impl UnwindSafe for Extend

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for Extend

Source§

fn clone(&self) -> Extend

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Extend

Source§

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

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

impl<'de> Deserialize<'de> for Extend

Source§

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

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

impl Serialize for Extend

Source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Extend

§

impl RefUnwindSafe for Extend

§

impl Send for Extend

§

impl Sync for Extend

§

impl Unpin for Extend

§

impl UnwindSafe for Extend

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.InstallCrate.html b/docs/api/cli/types/enum.InstallCrate.html index 725d93bf..da4e02db 100644 --- a/docs/api/cli/types/enum.InstallCrate.html +++ b/docs/api/cli/types/enum.InstallCrate.html @@ -1,4 +1,4 @@ -InstallCrate in cli::types - Rust

Enum cli::types::InstallCrate

source ·
pub enum InstallCrate {
+InstallCrate in cli::types - Rust
cli::types

Enum InstallCrate

Source
pub enum InstallCrate {
     Enabled(bool),
     Value(String),
     CrateInfo(InstallCrateInfo),
@@ -10,28 +10,29 @@
 
§

CrateInfo(InstallCrateInfo)

Install crate params

§

RustupComponentInfo(InstallRustupComponentInfo)

Install rustup component params

§

CargoPluginInfo(InstallCargoPluginInfo)

Install cargo plugin info

-

Trait Implementations§

source§

impl Clone for InstallCrate

source§

fn clone(&self) -> InstallCrate

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for InstallCrate

source§

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

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

impl<'de> Deserialize<'de> for InstallCrate

source§

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

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

impl PartialEq for InstallCrate

source§

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

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

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

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

impl Serialize for InstallCrate

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for InstallCrate

Source§

fn clone(&self) -> InstallCrate

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for InstallCrate

Source§

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

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

impl<'de> Deserialize<'de> for InstallCrate

Source§

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

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

impl PartialEq for InstallCrate

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for InstallCrate

Source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.MaybeArray.html b/docs/api/cli/types/enum.MaybeArray.html index f93f9c8d..baf4c432 100644 --- a/docs/api/cli/types/enum.MaybeArray.html +++ b/docs/api/cli/types/enum.MaybeArray.html @@ -1,45 +1,46 @@ -MaybeArray in cli::types - Rust

Enum cli::types::MaybeArray

source ·
pub enum MaybeArray<T> {
+MaybeArray in cli::types - Rust
cli::types

Enum MaybeArray

Source
pub enum MaybeArray<T> {
     Single(T),
     Multiple(Vec<T>),
 }
Expand description

Could be an array or single value

Variants§

§

Single(T)

Single value

§

Multiple(Vec<T>)

Multiple values

-

Trait Implementations§

source§

impl<T: Clone> Clone for MaybeArray<T>

source§

fn clone(&self) -> MaybeArray<T>

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

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

Performs copy-assignment from source. Read more
source§

impl<T: Debug> Debug for MaybeArray<T>

source§

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

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

impl<'de, T> Deserialize<'de> for MaybeArray<T>
where - T: Deserialize<'de>,

source§

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

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

impl<T: PartialEq> PartialEq for MaybeArray<T>

source§

fn eq(&self, other: &MaybeArray<T>) -> bool

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

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

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

impl<T> Serialize for MaybeArray<T>
where - T: Serialize,

source§

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

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

impl<T: Eq> Eq for MaybeArray<T>

source§

impl<T> StructuralPartialEq for MaybeArray<T>

Auto Trait Implementations§

§

impl<T> Freeze for MaybeArray<T>
where +

Trait Implementations§

Source§

impl<T: Clone> Clone for MaybeArray<T>

Source§

fn clone(&self) -> MaybeArray<T>

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

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

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for MaybeArray<T>

Source§

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

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

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

Source§

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

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

impl<T: PartialEq> PartialEq for MaybeArray<T>

Source§

fn eq(&self, other: &MaybeArray<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl<T> Serialize for MaybeArray<T>
where + T: Serialize,

Source§

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

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

impl<T: Eq> Eq for MaybeArray<T>

Source§

impl<T> StructuralPartialEq for MaybeArray<T>

Auto Trait Implementations§

§

impl<T> Freeze for MaybeArray<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for MaybeArray<T>
where T: RefUnwindSafe,

§

impl<T> Send for MaybeArray<T>
where T: Send,

§

impl<T> Sync for MaybeArray<T>
where T: Sync,

§

impl<T> Unpin for MaybeArray<T>
where T: Unpin,

§

impl<T> UnwindSafe for MaybeArray<T>
where - T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where + T: UnwindSafe,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+ K: Borrow<Q> + ?Sized,
§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.RunTaskInfo.html b/docs/api/cli/types/enum.RunTaskInfo.html index 3303c3d2..a3d5b1f4 100644 --- a/docs/api/cli/types/enum.RunTaskInfo.html +++ b/docs/api/cli/types/enum.RunTaskInfo.html @@ -1,4 +1,4 @@ -RunTaskInfo in cli::types - Rust

Enum cli::types::RunTaskInfo

source ·
pub enum RunTaskInfo {
+RunTaskInfo in cli::types - Rust
cli::types

Enum RunTaskInfo

Source
pub enum RunTaskInfo {
     Name(String),
     Details(RunTaskDetails),
     Routing(Vec<RunTaskRoutingInfo>),
@@ -6,26 +6,28 @@
 

Variants§

§

Name(String)

Task name

§

Details(RunTaskDetails)

Run Task Info

§

Routing(Vec<RunTaskRoutingInfo>)

Task conditional selector

-

Trait Implementations§

source§

impl Clone for RunTaskInfo

source§

fn clone(&self) -> RunTaskInfo

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for RunTaskInfo

source§

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

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

impl<'de> Deserialize<'de> for RunTaskInfo

source§

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

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

impl Serialize for RunTaskInfo

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for RunTaskInfo

Source§

fn clone(&self) -> RunTaskInfo

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for RunTaskInfo

Source§

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

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

impl<'de> Deserialize<'de> for RunTaskInfo

Source§

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

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

impl Serialize for RunTaskInfo

Source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.RunTaskName.html b/docs/api/cli/types/enum.RunTaskName.html index 65cc13a0..fa650e04 100644 --- a/docs/api/cli/types/enum.RunTaskName.html +++ b/docs/api/cli/types/enum.RunTaskName.html @@ -1,31 +1,32 @@ -RunTaskName in cli::types - Rust

Enum cli::types::RunTaskName

source ·
pub enum RunTaskName {
+RunTaskName in cli::types - Rust
cli::types

Enum RunTaskName

Source
pub enum RunTaskName {
     Single(String),
     Multiple(Vec<String>),
 }
Expand description

Holds the run task name/s

Variants§

§

Single(String)

Single task name

§

Multiple(Vec<String>)

Multiple task names

-

Trait Implementations§

source§

impl Clone for RunTaskName

source§

fn clone(&self) -> RunTaskName

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for RunTaskName

source§

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

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

impl<'de> Deserialize<'de> for RunTaskName

source§

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

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

impl PartialEq for RunTaskName

source§

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

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

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

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

impl Serialize for RunTaskName

source§

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

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

impl StructuralPartialEq for RunTaskName

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for RunTaskName

Source§

fn clone(&self) -> RunTaskName

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for RunTaskName

Source§

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

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

impl<'de> Deserialize<'de> for RunTaskName

Source§

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

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

impl PartialEq for RunTaskName

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for RunTaskName

Source§

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

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

impl StructuralPartialEq for RunTaskName

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

Source§

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

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.ScriptValue.html b/docs/api/cli/types/enum.ScriptValue.html index fd905dd7..369f93e3 100644 --- a/docs/api/cli/types/enum.ScriptValue.html +++ b/docs/api/cli/types/enum.ScriptValue.html @@ -1,4 +1,4 @@ -ScriptValue in cli::types - Rust

Enum cli::types::ScriptValue

source ·
pub enum ScriptValue {
+ScriptValue in cli::types - Rust
cli::types

Enum ScriptValue

Source
pub enum ScriptValue {
     SingleLine(String),
     Text(Vec<String>),
     File(FileScriptValue),
@@ -8,26 +8,28 @@
 
§

Text(Vec<String>)

The script text lines

§

File(FileScriptValue)

Script file name

§

Sections(ScriptSections)

Script content split to multiple parts to enable fine tuned extension

-

Trait Implementations§

source§

impl Clone for ScriptValue

source§

fn clone(&self) -> ScriptValue

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ScriptValue

source§

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

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

impl<'de> Deserialize<'de> for ScriptValue

source§

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

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

impl Serialize for ScriptValue

source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

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

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for ScriptValue

Source§

fn clone(&self) -> ScriptValue

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ScriptValue

Source§

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

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

impl<'de> Deserialize<'de> for ScriptValue

Source§

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

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

impl Serialize for ScriptValue

Source§

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

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

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.TaskWatchOptions.html b/docs/api/cli/types/enum.TaskWatchOptions.html index 80ad74fd..831abcf7 100644 --- a/docs/api/cli/types/enum.TaskWatchOptions.html +++ b/docs/api/cli/types/enum.TaskWatchOptions.html @@ -1,31 +1,32 @@ -TaskWatchOptions in cli::types - Rust

Enum cli::types::TaskWatchOptions

source ·
pub enum TaskWatchOptions {
+TaskWatchOptions in cli::types - Rust
cli::types

Enum TaskWatchOptions

Source
pub enum TaskWatchOptions {
     Boolean(bool),
     Options(WatchOptions),
 }
Expand description

Holds watch options or simple true/false value

Variants§

§

Boolean(bool)

True/False to enable/disable watch

§

Options(WatchOptions)

Extended configuration for watch

-

Trait Implementations§

source§

impl Clone for TaskWatchOptions

source§

fn clone(&self) -> TaskWatchOptions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TaskWatchOptions

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for TaskWatchOptions

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for TaskWatchOptions

source§

fn eq(&self, other: &TaskWatchOptions) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for TaskWatchOptions

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for TaskWatchOptions

Source§

fn clone(&self) -> TaskWatchOptions

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TaskWatchOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for TaskWatchOptions

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for TaskWatchOptions

Source§

fn eq(&self, other: &TaskWatchOptions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for TaskWatchOptions

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.ToolchainSpecifier.html b/docs/api/cli/types/enum.ToolchainSpecifier.html index 43568b3b..a41ce639 100644 --- a/docs/api/cli/types/enum.ToolchainSpecifier.html +++ b/docs/api/cli/types/enum.ToolchainSpecifier.html @@ -1,41 +1,42 @@ -ToolchainSpecifier in cli::types - Rust

Enum cli::types::ToolchainSpecifier

source ·
pub enum ToolchainSpecifier {
+ToolchainSpecifier in cli::types - Rust
cli::types

Enum ToolchainSpecifier

Source
pub enum ToolchainSpecifier {
     Simple(String),
     Bounded(ToolchainBoundedSpecifier),
 }
Expand description

A toolchain, defined either as a string (following the rustup syntax) or a ToolchainBoundedSpecifier.

Variants§

§

Simple(String)

A string specifying the channel name of the toolchain

§

Bounded(ToolchainBoundedSpecifier)

A toolchain with a minimum version bound

-

Implementations§

source§

impl ToolchainSpecifier

source

pub fn channel(&self) -> &str

Return the channel of the toolchain to look for

-
source

pub fn min_version(&self) -> Option<&str>

Return the minimal version, if any, to look for

-

Trait Implementations§

source§

impl Clone for ToolchainSpecifier

source§

fn clone(&self) -> ToolchainSpecifier

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ToolchainSpecifier

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ToolchainSpecifier

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for ToolchainSpecifier

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<&str> for ToolchainSpecifier

source§

fn from(channel: &str) -> Self

Converts to this type from the input type.
source§

impl From<String> for ToolchainSpecifier

source§

fn from(channel: String) -> Self

Converts to this type from the input type.
source§

impl PartialEq for ToolchainSpecifier

source§

fn eq(&self, other: &ToolchainSpecifier) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for ToolchainSpecifier

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for ToolchainSpecifier

source§

impl StructuralPartialEq for ToolchainSpecifier

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where +

Implementations§

Source§

impl ToolchainSpecifier

Source

pub fn channel(&self) -> &str

Return the channel of the toolchain to look for

+
Source

pub fn min_version(&self) -> Option<&str>

Return the minimal version, if any, to look for

+

Trait Implementations§

Source§

impl Clone for ToolchainSpecifier

Source§

fn clone(&self) -> ToolchainSpecifier

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ToolchainSpecifier

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ToolchainSpecifier

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for ToolchainSpecifier

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&str> for ToolchainSpecifier

Source§

fn from(channel: &str) -> Self

Converts to this type from the input type.
Source§

impl From<String> for ToolchainSpecifier

Source§

fn from(channel: String) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for ToolchainSpecifier

Source§

fn eq(&self, other: &ToolchainSpecifier) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for ToolchainSpecifier

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for ToolchainSpecifier

Source§

impl StructuralPartialEq for ToolchainSpecifier

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+ K: Borrow<Q> + ?Sized,
§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where + T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/enum.UnstableFeature.html b/docs/api/cli/types/enum.UnstableFeature.html index 61069225..64a7a88e 100644 --- a/docs/api/cli/types/enum.UnstableFeature.html +++ b/docs/api/cli/types/enum.UnstableFeature.html @@ -1,39 +1,40 @@ -UnstableFeature in cli::types - Rust

Enum cli::types::UnstableFeature

source ·
pub enum UnstableFeature {
+UnstableFeature in cli::types - Rust
cli::types

Enum UnstableFeature

Source
pub enum UnstableFeature {
     CtrlCHandling,
 }
Expand description

Unstable cargo-make feature

Variants§

§

CtrlCHandling

Gracefully shutdown and then kill the running command on Ctrl+C signal

-

Implementations§

source§

impl UnstableFeature

source

pub fn to_env_name(&self) -> String

Creates the env. variable name associated to the feature

-
source

pub fn is_env_set(&self) -> bool

Is the corresponding env. variable set?

-

Trait Implementations§

source§

impl Clone for UnstableFeature

source§

fn clone(&self) -> UnstableFeature

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UnstableFeature

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for UnstableFeature

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for UnstableFeature

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Implementations§

Source§

impl UnstableFeature

Source

pub fn to_env_name(&self) -> String

Creates the env. variable name associated to the feature

+
Source

pub fn is_env_set(&self) -> bool

Is the corresponding env. variable set?

+

Trait Implementations§

Source§

impl Clone for UnstableFeature

Source§

fn clone(&self) -> UnstableFeature

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UnstableFeature

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for UnstableFeature

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Hash for UnstableFeature

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for UnstableFeature

source§

fn eq(&self, other: &UnstableFeature) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for UnstableFeature

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for UnstableFeature

source§

impl Eq for UnstableFeature

source§

impl StructuralPartialEq for UnstableFeature

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for UnstableFeature

Source§

fn eq(&self, other: &UnstableFeature) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for UnstableFeature

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for UnstableFeature

Source§

impl Eq for UnstableFeature

Source§

impl StructuralPartialEq for UnstableFeature

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+ K: Borrow<Q> + ?Sized,
§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/fn.get_platform_name.html b/docs/api/cli/types/fn.get_platform_name.html index fb171889..7342e58e 100644 --- a/docs/api/cli/types/fn.get_platform_name.html +++ b/docs/api/cli/types/fn.get_platform_name.html @@ -1,2 +1,2 @@ -get_platform_name in cli::types - Rust

Function cli::types::get_platform_name

source ·
pub fn get_platform_name() -> String
Expand description

Returns the platform name

+get_platform_name in cli::types - Rust
cli::types

Function get_platform_name

Source
pub fn get_platform_name() -> String
Expand description

Returns the platform name

\ No newline at end of file diff --git a/docs/api/cli/types/index.html b/docs/api/cli/types/index.html index c8a3dd9c..e0a24b84 100644 --- a/docs/api/cli/types/index.html +++ b/docs/api/cli/types/index.html @@ -1,4 +1,4 @@ -cli::types - Rust

Module cli::types

source ·
Expand description

§types

+cli::types - Rust
cli

Module types

Source
Expand description

§types

Defines the various types and aliases used by cargo-make.

-

Structs§

Enums§

Functions§

\ No newline at end of file +

Structs§

Enums§

Functions§

\ No newline at end of file diff --git a/docs/api/cli/types/struct.Cache.html b/docs/api/cli/types/struct.Cache.html index c9eb7499..81d80553 100644 --- a/docs/api/cli/types/struct.Cache.html +++ b/docs/api/cli/types/struct.Cache.html @@ -1,30 +1,32 @@ -Cache in cli::types - Rust

Struct cli::types::Cache

source ·
pub struct Cache {
+Cache in cli::types - Rust
cli::types

Struct Cache

Source
pub struct Cache {
     pub file_name: Option<String>,
     pub last_update_check: Option<u64>,
 }
Expand description

Holds persisted data used by cargo-make

Fields§

§file_name: Option<String>

File from which the cache file was loaded from

§last_update_check: Option<u64>

Holds last update check with returned no updates result

-

Implementations§

source§

impl Cache

source

pub fn new() -> Cache

Returns new instance

-

Trait Implementations§

source§

impl Clone for Cache

source§

fn clone(&self) -> Cache

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Cache

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Cache

source§

fn default() -> Cache

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Cache

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Cache

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Cache

§

impl RefUnwindSafe for Cache

§

impl Send for Cache

§

impl Sync for Cache

§

impl Unpin for Cache

§

impl UnwindSafe for Cache

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl Cache

Source

pub fn new() -> Cache

Returns new instance

+

Trait Implementations§

Source§

impl Clone for Cache

Source§

fn clone(&self) -> Cache

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Cache

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Cache

Source§

fn default() -> Cache

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Cache

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Cache

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Cache

§

impl RefUnwindSafe for Cache

§

impl Send for Cache

§

impl Sync for Cache

§

impl Unpin for Cache

§

impl UnwindSafe for Cache

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.CliArgs.html b/docs/api/cli/types/struct.CliArgs.html index f4f31594..5c63e2b4 100644 --- a/docs/api/cli/types/struct.CliArgs.html +++ b/docs/api/cli/types/struct.CliArgs.html @@ -1,10 +1,11 @@ -CliArgs in cli::types - Rust

Struct cli::types::CliArgs

source ·
pub struct CliArgs {
Show 25 fields +CliArgs in cli::types - Rust
cli::types

Struct CliArgs

Source
pub struct CliArgs {
Show 26 fields pub command: String, pub build_file: Option<String>, pub task: String, pub profile: Option<String>, pub log_level: String, pub disable_color: bool, + pub completion: Option<String>, pub cwd: Option<String>, pub env: Option<Vec<String>>, pub env_file: Option<String>, @@ -31,6 +32,7 @@
§profile: Option<String>

The profile name

§log_level: String

Log level name

§disable_color: bool

Disables colorful output

+
§completion: Option<String>

Task completion for given shell

§cwd: Option<String>

Current working directory

§env: Option<Vec<String>>

Environment variables

§env_file: Option<String>

Environment variables file

@@ -50,24 +52,26 @@
§output_file: Option<String>

Output file name

§print_time_summary: bool

Print time summary at end of the flow

§hide_uninteresting: bool

Hide any minor tasks such as pre/post hooks

-

Implementations§

source§

impl CliArgs

source

pub fn new() -> CliArgs

Creates and returns a new instance.

-

Trait Implementations§

source§

impl Clone for CliArgs

source§

fn clone(&self) -> CliArgs

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CliArgs

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl CliArgs

Source

pub fn new() -> CliArgs

Creates and returns a new instance.

+

Trait Implementations§

Source§

impl Clone for CliArgs

Source§

fn clone(&self) -> CliArgs

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CliArgs

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.CommandSpec.html b/docs/api/cli/types/struct.CommandSpec.html index d59d4e81..ce89f112 100644 --- a/docs/api/cli/types/struct.CommandSpec.html +++ b/docs/api/cli/types/struct.CommandSpec.html @@ -1,25 +1,26 @@ -CommandSpec in cli::types - Rust

Struct cli::types::CommandSpec

source ·
pub struct CommandSpec {
+CommandSpec in cli::types - Rust
cli::types

Struct CommandSpec

Source
pub struct CommandSpec {
     pub command: String,
     pub args: Option<Vec<String>>,
 }
Expand description

Command info

Fields§

§command: String

The command to execute

§args: Option<Vec<String>>

The command args

-

Trait Implementations§

source§

impl Debug for CommandSpec

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Debug for CommandSpec

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.Config.html b/docs/api/cli/types/struct.Config.html index 82cef673..d382ecde 100644 --- a/docs/api/cli/types/struct.Config.html +++ b/docs/api/cli/types/struct.Config.html @@ -1,4 +1,4 @@ -Config in cli::types - Rust

Struct cli::types::Config

source ·
pub struct Config {
+Config in cli::types - Rust
cli::types

Struct Config

Source
pub struct Config {
     pub config: ConfigSection,
     pub env_files: Vec<EnvFile>,
     pub env: IndexMap<String, EnvValue>,
@@ -12,27 +12,29 @@
 
§env_scripts: Vec<String>

The env scripts to execute before running the flow

§tasks: IndexMap<String, Task>

All task definitions

§plugins: Option<Plugins>

All plugin definitions

-

Implementations§

source§

impl Config

source

pub fn apply(self: &mut Config, modify_config: &ModifyConfig)

Apply modifications

-

Trait Implementations§

source§

impl Clone for Config

source§

fn clone(&self) -> Config

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Config

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Config

source§

fn default() -> Config

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Config

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Config

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl Config

Source

pub fn apply(self: &mut Config, modify_config: &ModifyConfig)

Apply modifications

+

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Config

Source§

fn default() -> Config

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Config

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Config

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.ConfigSection.html b/docs/api/cli/types/struct.ConfigSection.html index e13c9b2d..72c2fcbb 100644 --- a/docs/api/cli/types/struct.ConfigSection.html +++ b/docs/api/cli/types/struct.ConfigSection.html @@ -1,4 +1,4 @@ -ConfigSection in cli::types - Rust

Struct cli::types::ConfigSection

source ·
pub struct ConfigSection {
Show 22 fields +ConfigSection in cli::types - Rust
cli::types

Struct ConfigSection

Source
pub struct ConfigSection {
Show 22 fields pub skip_core_tasks: Option<bool>, pub modify_core_tasks: Option<ModifyConfig>, pub init_task: Option<String>, @@ -44,34 +44,36 @@
§windows_load_script: Option<ScriptValue>

acts like load_script if runtime OS is Windows (takes precedence over load_script)

§mac_load_script: Option<ScriptValue>

acts like load_script if runtime OS is Mac (takes precedence over load_script)

§unstable_features: Option<IndexSet<UnstableFeature>>

Enables unstable cargo-make features

-

Implementations§

source§

impl ConfigSection

source

pub fn new() -> ConfigSection

Creates and returns a new instance.

-
source

pub fn apply(self: &mut ConfigSection, modify_config: &ModifyConfig)

Apply modifications

-
source

pub fn extend(self: &mut ConfigSection, extended: &mut ConfigSection)

Copies values from the config section into self.

+

Implementations§

Source§

impl ConfigSection

Source

pub fn new() -> ConfigSection

Creates and returns a new instance.

+
Source

pub fn apply(self: &mut ConfigSection, modify_config: &ModifyConfig)

Apply modifications

+
Source

pub fn extend(self: &mut ConfigSection, extended: &mut ConfigSection)

Copies values from the config section into self.

§Arguments
  • task - The task to copy from
-
source

pub fn get_load_script(self: &ConfigSection) -> Option<ScriptValue>

Returns the load script based on the current platform

-

Trait Implementations§

source§

impl Clone for ConfigSection

source§

fn clone(&self) -> ConfigSection

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ConfigSection

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ConfigSection

source§

fn default() -> ConfigSection

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for ConfigSection

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ConfigSection

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+
Source

pub fn get_load_script(self: &ConfigSection) -> Option<ScriptValue>

Returns the load script based on the current platform

+

Trait Implementations§

Source§

impl Clone for ConfigSection

Source§

fn clone(&self) -> ConfigSection

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ConfigSection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ConfigSection

Source§

fn default() -> ConfigSection

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ConfigSection

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ConfigSection

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.CrateDependencyInfo.html b/docs/api/cli/types/struct.CrateDependencyInfo.html index 8b82fc91..c5550125 100644 --- a/docs/api/cli/types/struct.CrateDependencyInfo.html +++ b/docs/api/cli/types/struct.CrateDependencyInfo.html @@ -1,27 +1,29 @@ -CrateDependencyInfo in cli::types - Rust

Struct cli::types::CrateDependencyInfo

source ·
pub struct CrateDependencyInfo {
+CrateDependencyInfo in cli::types - Rust
cli::types

Struct CrateDependencyInfo

Source
pub struct CrateDependencyInfo {
     pub path: Option<String>,
 }
Expand description

Holds crate dependency info.

Fields§

§path: Option<String>

Holds the dependency path

-

Trait Implementations§

source§

impl Clone for CrateDependencyInfo

source§

fn clone(&self) -> CrateDependencyInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CrateDependencyInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for CrateDependencyInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for CrateDependencyInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for CrateDependencyInfo

Source§

fn clone(&self) -> CrateDependencyInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CrateDependencyInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for CrateDependencyInfo

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for CrateDependencyInfo

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.CrateInfo.html b/docs/api/cli/types/struct.CrateInfo.html index 415e8bca..fb352681 100644 --- a/docs/api/cli/types/struct.CrateInfo.html +++ b/docs/api/cli/types/struct.CrateInfo.html @@ -1,4 +1,4 @@ -CrateInfo in cli::types - Rust

Struct cli::types::CrateInfo

source ·
pub struct CrateInfo {
+CrateInfo in cli::types - Rust
cli::types

Struct CrateInfo

Source
pub struct CrateInfo {
     pub package: Option<PackageInfo>,
     pub workspace: Option<Workspace>,
     pub dependencies: Option<IndexMap<String, CrateDependency>>,
@@ -6,26 +6,28 @@
 

Fields§

§package: Option<PackageInfo>

package info

§workspace: Option<Workspace>

workspace info

§dependencies: Option<IndexMap<String, CrateDependency>>

crate dependencies

-

Implementations§

source§

impl CrateInfo

source

pub fn new() -> CrateInfo

Creates and returns a new instance.

-

Trait Implementations§

source§

impl Clone for CrateInfo

source§

fn clone(&self) -> CrateInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CrateInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CrateInfo

source§

fn default() -> CrateInfo

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for CrateInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl CrateInfo

Source

pub fn new() -> CrateInfo

Creates and returns a new instance.

+

Trait Implementations§

Source§

impl Clone for CrateInfo

Source§

fn clone(&self) -> CrateInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CrateInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CrateInfo

Source§

fn default() -> CrateInfo

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for CrateInfo

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.EnvFileInfo.html b/docs/api/cli/types/struct.EnvFileInfo.html index 2e78a57d..5939f821 100644 --- a/docs/api/cli/types/struct.EnvFileInfo.html +++ b/docs/api/cli/types/struct.EnvFileInfo.html @@ -1,4 +1,4 @@ -EnvFileInfo in cli::types - Rust

Struct cli::types::EnvFileInfo

source ·
pub struct EnvFileInfo {
+EnvFileInfo in cli::types - Rust
cli::types

Struct EnvFileInfo

Source
pub struct EnvFileInfo {
     pub path: String,
     pub base_path: Option<String>,
     pub profile: Option<String>,
@@ -8,27 +8,29 @@
 
§base_path: Option<String>

The path base directory (relative paths are from this base path)

§profile: Option<String>

The profile name this file is relevant to

§defaults_only: Option<bool>

If true, only set the env vars if not already defined

-

Implementations§

source§

impl EnvFileInfo

source

pub fn new(path: String) -> EnvFileInfo

Creates and returns a new instance.

-

Trait Implementations§

source§

impl Clone for EnvFileInfo

source§

fn clone(&self) -> EnvFileInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EnvFileInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for EnvFileInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for EnvFileInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl EnvFileInfo

Source

pub fn new(path: String) -> EnvFileInfo

Creates and returns a new instance.

+

Trait Implementations§

Source§

impl Clone for EnvFileInfo

Source§

fn clone(&self) -> EnvFileInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvFileInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for EnvFileInfo

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for EnvFileInfo

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.EnvInfo.html b/docs/api/cli/types/struct.EnvInfo.html index 79dca3a1..e0a261b0 100644 --- a/docs/api/cli/types/struct.EnvInfo.html +++ b/docs/api/cli/types/struct.EnvInfo.html @@ -1,4 +1,4 @@ -EnvInfo in cli::types - Rust

Struct cli::types::EnvInfo

source ·
pub struct EnvInfo {
+EnvInfo in cli::types - Rust
cli::types

Struct EnvInfo

Source
pub struct EnvInfo {
     pub rust_info: RustInfo,
     pub crate_info: CrateInfo,
     pub git_info: GitInfo,
@@ -8,23 +8,25 @@
 
§crate_info: CrateInfo

Crate info

§git_info: GitInfo

Git info

§ci_info: CiInfo

CI info

-

Trait Implementations§

source§

impl Clone for EnvInfo

source§

fn clone(&self) -> EnvInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EnvInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for EnvInfo

Source§

fn clone(&self) -> EnvInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.EnvValueConditioned.html b/docs/api/cli/types/struct.EnvValueConditioned.html index a5fe3312..9f2f2e87 100644 --- a/docs/api/cli/types/struct.EnvValueConditioned.html +++ b/docs/api/cli/types/struct.EnvValueConditioned.html @@ -1,29 +1,31 @@ -EnvValueConditioned in cli::types - Rust

Struct cli::types::EnvValueConditioned

source ·
pub struct EnvValueConditioned {
+EnvValueConditioned in cli::types - Rust
cli::types

Struct EnvValueConditioned

Source
pub struct EnvValueConditioned {
     pub value: String,
     pub condition: Option<TaskCondition>,
 }
Expand description

Env value set if condition is met

Fields§

§value: String

The value to set (can be an env expression)

§condition: Option<TaskCondition>

The condition to validate

-

Trait Implementations§

source§

impl Clone for EnvValueConditioned

source§

fn clone(&self) -> EnvValueConditioned

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EnvValueConditioned

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for EnvValueConditioned

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for EnvValueConditioned

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for EnvValueConditioned

Source§

fn clone(&self) -> EnvValueConditioned

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvValueConditioned

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for EnvValueConditioned

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for EnvValueConditioned

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.EnvValueDecode.html b/docs/api/cli/types/struct.EnvValueDecode.html index 2de7c63e..61a25874 100644 --- a/docs/api/cli/types/struct.EnvValueDecode.html +++ b/docs/api/cli/types/struct.EnvValueDecode.html @@ -1,4 +1,4 @@ -EnvValueDecode in cli::types - Rust

Struct cli::types::EnvValueDecode

source ·
pub struct EnvValueDecode {
+EnvValueDecode in cli::types - Rust
cli::types

Struct EnvValueDecode

Source
pub struct EnvValueDecode {
     pub source: String,
     pub default_value: Option<String>,
     pub mapping: HashMap<String, String>,
@@ -8,26 +8,28 @@
 
§default_value: Option<String>

The default value in case no decode mapping was found, if not provided it will default to the source value

§mapping: HashMap<String, String>

The decoding mapping

§condition: Option<TaskCondition>

The condition to validate

-

Trait Implementations§

source§

impl Clone for EnvValueDecode

source§

fn clone(&self) -> EnvValueDecode

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EnvValueDecode

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for EnvValueDecode

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for EnvValueDecode

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for EnvValueDecode

Source§

fn clone(&self) -> EnvValueDecode

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvValueDecode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for EnvValueDecode

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for EnvValueDecode

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.EnvValuePathGlob.html b/docs/api/cli/types/struct.EnvValuePathGlob.html index f8c479e1..309cf04c 100644 --- a/docs/api/cli/types/struct.EnvValuePathGlob.html +++ b/docs/api/cli/types/struct.EnvValuePathGlob.html @@ -1,4 +1,4 @@ -EnvValuePathGlob in cli::types - Rust

Struct cli::types::EnvValuePathGlob

source ·
pub struct EnvValuePathGlob {
+EnvValuePathGlob in cli::types - Rust
cli::types

Struct EnvValuePathGlob

Source
pub struct EnvValuePathGlob {
     pub glob: String,
     pub include_files: Option<bool>,
     pub include_dirs: Option<bool>,
@@ -8,26 +8,28 @@
 
§include_files: Option<bool>

True to include files (default is true if undefined)

§include_dirs: Option<bool>

True to include directories (default is true if undefined)

§ignore_type: Option<String>

Enables to respect ignore files

-

Trait Implementations§

source§

impl Clone for EnvValuePathGlob

source§

fn clone(&self) -> EnvValuePathGlob

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EnvValuePathGlob

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for EnvValuePathGlob

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for EnvValuePathGlob

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for EnvValuePathGlob

Source§

fn clone(&self) -> EnvValuePathGlob

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvValuePathGlob

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for EnvValuePathGlob

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for EnvValuePathGlob

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.EnvValueScript.html b/docs/api/cli/types/struct.EnvValueScript.html index 90ccb1d3..5000d672 100644 --- a/docs/api/cli/types/struct.EnvValueScript.html +++ b/docs/api/cli/types/struct.EnvValueScript.html @@ -1,4 +1,4 @@ -EnvValueScript in cli::types - Rust

Struct cli::types::EnvValueScript

source ·
pub struct EnvValueScript {
+EnvValueScript in cli::types - Rust
cli::types

Struct EnvValueScript

Source
pub struct EnvValueScript {
     pub script: Vec<String>,
     pub multi_line: Option<bool>,
     pub condition: Option<TaskCondition>,
@@ -8,26 +8,28 @@
 
§multi_line: Option<bool>

True/False to enable multi line env values

§condition: Option<TaskCondition>

The condition to validate

§depends_on: Option<Vec<String>>

The explicit environment variables this script depends on

-

Trait Implementations§

source§

impl Clone for EnvValueScript

source§

fn clone(&self) -> EnvValueScript

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EnvValueScript

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for EnvValueScript

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for EnvValueScript

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for EnvValueScript

Source§

fn clone(&self) -> EnvValueScript

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvValueScript

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for EnvValueScript

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for EnvValueScript

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.EnvValueUnset.html b/docs/api/cli/types/struct.EnvValueUnset.html index 9fc45ad9..5484d849 100644 --- a/docs/api/cli/types/struct.EnvValueUnset.html +++ b/docs/api/cli/types/struct.EnvValueUnset.html @@ -1,27 +1,29 @@ -EnvValueUnset in cli::types - Rust

Struct cli::types::EnvValueUnset

source ·
pub struct EnvValueUnset {
+EnvValueUnset in cli::types - Rust
cli::types

Struct EnvValueUnset

Source
pub struct EnvValueUnset {
     pub unset: bool,
 }
Expand description

Enables to unset env variables

Fields§

§unset: bool

If true, the env variable will be unset, else ignored

-

Trait Implementations§

source§

impl Clone for EnvValueUnset

source§

fn clone(&self) -> EnvValueUnset

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EnvValueUnset

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for EnvValueUnset

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for EnvValueUnset

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for EnvValueUnset

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for EnvValueUnset

Source§

fn clone(&self) -> EnvValueUnset

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvValueUnset

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for EnvValueUnset

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for EnvValueUnset

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for EnvValueUnset

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.ExecutionPlan.html b/docs/api/cli/types/struct.ExecutionPlan.html index 246130cb..2dde1307 100644 --- a/docs/api/cli/types/struct.ExecutionPlan.html +++ b/docs/api/cli/types/struct.ExecutionPlan.html @@ -1,23 +1,24 @@ -ExecutionPlan in cli::types - Rust

Struct cli::types::ExecutionPlan

source ·
pub struct ExecutionPlan {
+ExecutionPlan in cli::types - Rust
cli::types

Struct ExecutionPlan

Source
pub struct ExecutionPlan {
     pub steps: Vec<Step>,
 }
Expand description

Execution plan which defines all steps to run and the order to run them

Fields§

§steps: Vec<Step>

A list of steps to execute

-

Trait Implementations§

source§

impl Debug for ExecutionPlan

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Debug for ExecutionPlan

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.ExtendOptions.html b/docs/api/cli/types/struct.ExtendOptions.html index 1f36d9e8..090a9b1f 100644 --- a/docs/api/cli/types/struct.ExtendOptions.html +++ b/docs/api/cli/types/struct.ExtendOptions.html @@ -1,4 +1,4 @@ -ExtendOptions in cli::types - Rust

Struct cli::types::ExtendOptions

source ·
pub struct ExtendOptions {
+ExtendOptions in cli::types - Rust
cli::types

Struct ExtendOptions

Source
pub struct ExtendOptions {
     pub path: String,
     pub optional: Option<bool>,
     pub relative: Option<String>,
@@ -7,26 +7,28 @@
 
§optional: Option<bool>

Enable optional extend (default to false)

§relative: Option<String>

Relative to option, sub as current makefile, git root, crate root, workspace root, etc… Possible values: (makefile, git, crate, workspace)

-

Trait Implementations§

source§

impl Clone for ExtendOptions

source§

fn clone(&self) -> ExtendOptions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExtendOptions

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ExtendOptions

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ExtendOptions

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for ExtendOptions

Source§

fn clone(&self) -> ExtendOptions

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExtendOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ExtendOptions

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ExtendOptions

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.ExternalConfig.html b/docs/api/cli/types/struct.ExternalConfig.html index 1cc1f63d..73f7d8f6 100644 --- a/docs/api/cli/types/struct.ExternalConfig.html +++ b/docs/api/cli/types/struct.ExternalConfig.html @@ -1,4 +1,4 @@ -ExternalConfig in cli::types - Rust

Struct cli::types::ExternalConfig

source ·
pub struct ExternalConfig {
+ExternalConfig in cli::types - Rust
cli::types

Struct ExternalConfig

Source
pub struct ExternalConfig {
     pub extend: Option<Extend>,
     pub config: Option<ConfigSection>,
     pub env_files: Option<Vec<EnvFile>>,
@@ -14,27 +14,29 @@
 
§env_scripts: Option<Vec<String>>

The env scripts to execute before running the flow

§tasks: Option<IndexMap<String, Task>>

All task definitions

§plugins: Option<Plugins>

All plugin definitions

-

Implementations§

source§

impl ExternalConfig

source

pub fn new() -> ExternalConfig

Creates and returns a new instance.

-

Trait Implementations§

source§

impl Clone for ExternalConfig

source§

fn clone(&self) -> ExternalConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExternalConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ExternalConfig

source§

fn default() -> ExternalConfig

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for ExternalConfig

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ExternalConfig

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl ExternalConfig

Source

pub fn new() -> ExternalConfig

Creates and returns a new instance.

+

Trait Implementations§

Source§

impl Clone for ExternalConfig

Source§

fn clone(&self) -> ExternalConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExternalConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ExternalConfig

Source§

fn default() -> ExternalConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ExternalConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ExternalConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.FileScriptValue.html b/docs/api/cli/types/struct.FileScriptValue.html index 6139aaee..aca17827 100644 --- a/docs/api/cli/types/struct.FileScriptValue.html +++ b/docs/api/cli/types/struct.FileScriptValue.html @@ -1,29 +1,31 @@ -FileScriptValue in cli::types - Rust

Struct cli::types::FileScriptValue

source ·
pub struct FileScriptValue {
+FileScriptValue in cli::types - Rust
cli::types

Struct FileScriptValue

Source
pub struct FileScriptValue {
     pub file: String,
     pub absolute_path: Option<bool>,
 }
Expand description

Script file name

Fields§

§file: String

Script file name

§absolute_path: Option<bool>

True for absolute path (default false)

-

Trait Implementations§

source§

impl Clone for FileScriptValue

source§

fn clone(&self) -> FileScriptValue

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FileScriptValue

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FileScriptValue

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for FileScriptValue

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for FileScriptValue

Source§

fn clone(&self) -> FileScriptValue

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FileScriptValue

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for FileScriptValue

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for FileScriptValue

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.FilesFilesModifiedCondition.html b/docs/api/cli/types/struct.FilesFilesModifiedCondition.html index 7eb94aa6..0f430312 100644 --- a/docs/api/cli/types/struct.FilesFilesModifiedCondition.html +++ b/docs/api/cli/types/struct.FilesFilesModifiedCondition.html @@ -1,29 +1,31 @@ -FilesFilesModifiedCondition in cli::types - Rust

Struct cli::types::FilesFilesModifiedCondition

source ·
pub struct FilesFilesModifiedCondition {
+FilesFilesModifiedCondition in cli::types - Rust
cli::types

Struct FilesFilesModifiedCondition

Source
pub struct FilesFilesModifiedCondition {
     pub input: Vec<String>,
     pub output: Vec<String>,
 }
Expand description

Files modified (input/output) condition structure

Fields§

§input: Vec<String>

input files

§output: Vec<String>

output files

-

Trait Implementations§

source§

impl Clone for FilesFilesModifiedCondition

source§

fn clone(&self) -> FilesFilesModifiedCondition

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FilesFilesModifiedCondition

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FilesFilesModifiedCondition

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for FilesFilesModifiedCondition

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for FilesFilesModifiedCondition

Source§

fn clone(&self) -> FilesFilesModifiedCondition

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FilesFilesModifiedCondition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for FilesFilesModifiedCondition

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for FilesFilesModifiedCondition

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.FlowInfo.html b/docs/api/cli/types/struct.FlowInfo.html index 54382782..94e37c97 100644 --- a/docs/api/cli/types/struct.FlowInfo.html +++ b/docs/api/cli/types/struct.FlowInfo.html @@ -1,4 +1,4 @@ -FlowInfo in cli::types - Rust

Struct cli::types::FlowInfo

source ·
pub struct FlowInfo {
+FlowInfo in cli::types - Rust
cli::types

Struct FlowInfo

Source
pub struct FlowInfo {
     pub config: Config,
     pub task: String,
     pub env_info: EnvInfo,
@@ -18,23 +18,25 @@
 
§skip_init_end_tasks: bool

If true, the init and end tasks are skipped

§skip_tasks_pattern: Option<Regex>

Skip tasks that match the provided pattern

§cli_arguments: Option<Vec<String>>

additional command line arguments

-

Trait Implementations§

source§

impl Clone for FlowInfo

source§

fn clone(&self) -> FlowInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FlowInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for FlowInfo

Source§

fn clone(&self) -> FlowInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FlowInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.FlowState.html b/docs/api/cli/types/struct.FlowState.html index 262be7a7..f3b639db 100644 --- a/docs/api/cli/types/struct.FlowState.html +++ b/docs/api/cli/types/struct.FlowState.html @@ -1,27 +1,29 @@ -FlowState in cli::types - Rust

Struct cli::types::FlowState

source ·
pub struct FlowState {
+FlowState in cli::types - Rust
cli::types

Struct FlowState

Source
pub struct FlowState {
     pub time_summary: Vec<(String, u128)>,
     pub forced_plugin: Option<String>,
 }
Expand description

Holds mutable flow state

Fields§

§time_summary: Vec<(String, u128)>

timing info for summary

§forced_plugin: Option<String>

forced plugin name

-

Implementations§

source§

impl FlowState

source

pub fn new() -> FlowState

Creates and returns a new instance.

-

Trait Implementations§

source§

impl Clone for FlowState

source§

fn clone(&self) -> FlowState

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FlowState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for FlowState

source§

fn default() -> FlowState

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl FlowState

Source

pub fn new() -> FlowState

Creates and returns a new instance.

+

Trait Implementations§

Source§

impl Clone for FlowState

Source§

fn clone(&self) -> FlowState

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FlowState

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FlowState

Source§

fn default() -> FlowState

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.GlobalConfig.html b/docs/api/cli/types/struct.GlobalConfig.html index 68b769b8..59edac69 100644 --- a/docs/api/cli/types/struct.GlobalConfig.html +++ b/docs/api/cli/types/struct.GlobalConfig.html @@ -1,4 +1,4 @@ -GlobalConfig in cli::types - Rust

Struct cli::types::GlobalConfig

source ·
pub struct GlobalConfig {
+GlobalConfig in cli::types - Rust
cli::types

Struct GlobalConfig

Source
pub struct GlobalConfig {
     pub file_name: Option<String>,
     pub log_level: Option<String>,
     pub disable_color: Option<bool>,
@@ -12,27 +12,29 @@
 
§default_task_name: Option<String>

Default task name

§update_check_minimum_interval: Option<String>

Update check minimum time from the previous check (always, daily, weekly, monthly)

§search_project_root: Option<bool>

True to search for project root in parent directories if current cwd is not a project root

-

Implementations§

source§

impl GlobalConfig

source

pub fn new() -> GlobalConfig

Returns new instance

-

Trait Implementations§

source§

impl Clone for GlobalConfig

source§

fn clone(&self) -> GlobalConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GlobalConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GlobalConfig

source§

fn default() -> GlobalConfig

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GlobalConfig

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GlobalConfig

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl GlobalConfig

Source

pub fn new() -> GlobalConfig

Returns new instance

+

Trait Implementations§

Source§

impl Clone for GlobalConfig

Source§

fn clone(&self) -> GlobalConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GlobalConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for GlobalConfig

Source§

fn default() -> GlobalConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for GlobalConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for GlobalConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.InstallCargoPluginInfo.html b/docs/api/cli/types/struct.InstallCargoPluginInfo.html index 21dc1b3c..c6e2fb12 100644 --- a/docs/api/cli/types/struct.InstallCargoPluginInfo.html +++ b/docs/api/cli/types/struct.InstallCargoPluginInfo.html @@ -1,4 +1,4 @@ -InstallCargoPluginInfo in cli::types - Rust

Struct cli::types::InstallCargoPluginInfo

source ·
pub struct InstallCargoPluginInfo {
+InstallCargoPluginInfo in cli::types - Rust
cli::types

Struct InstallCargoPluginInfo

Source
pub struct InstallCargoPluginInfo {
     pub crate_name: Option<String>,
     pub min_version: Option<String>,
     pub install_command: Option<String>,
@@ -8,28 +8,29 @@
 
§min_version: Option<String>

Minimal version

§install_command: Option<String>

Optional alternate ‘install’ command

§force: Option<bool>

Optional add force flag (if needed), default is true

-

Trait Implementations§

source§

impl Clone for InstallCargoPluginInfo

source§

fn clone(&self) -> InstallCargoPluginInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for InstallCargoPluginInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for InstallCargoPluginInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for InstallCargoPluginInfo

source§

fn eq(&self, other: &InstallCargoPluginInfo) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for InstallCargoPluginInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for InstallCargoPluginInfo

Source§

fn clone(&self) -> InstallCargoPluginInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InstallCargoPluginInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for InstallCargoPluginInfo

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for InstallCargoPluginInfo

Source§

fn eq(&self, other: &InstallCargoPluginInfo) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for InstallCargoPluginInfo

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.InstallCrateInfo.html b/docs/api/cli/types/struct.InstallCrateInfo.html index 59ecf6ac..a57551a3 100644 --- a/docs/api/cli/types/struct.InstallCrateInfo.html +++ b/docs/api/cli/types/struct.InstallCrateInfo.html @@ -1,4 +1,4 @@ -InstallCrateInfo in cli::types - Rust

Struct cli::types::InstallCrateInfo

source ·
pub struct InstallCrateInfo {
+InstallCrateInfo in cli::types - Rust
cli::types

Struct InstallCrateInfo

Source
pub struct InstallCrateInfo {
     pub crate_name: String,
     pub rustup_component_name: Option<String>,
     pub binary: String,
@@ -16,28 +16,29 @@
 
§version: Option<String>

Exact version

§install_command: Option<String>

Optional alternate ‘install’ command

§force: Option<bool>

Optional add force flag (if needed), default is true

-

Trait Implementations§

source§

impl Clone for InstallCrateInfo

source§

fn clone(&self) -> InstallCrateInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for InstallCrateInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for InstallCrateInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for InstallCrateInfo

source§

fn eq(&self, other: &InstallCrateInfo) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for InstallCrateInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for InstallCrateInfo

Source§

fn clone(&self) -> InstallCrateInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InstallCrateInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for InstallCrateInfo

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for InstallCrateInfo

Source§

fn eq(&self, other: &InstallCrateInfo) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for InstallCrateInfo

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.InstallRustupComponentInfo.html b/docs/api/cli/types/struct.InstallRustupComponentInfo.html index 4a67f129..6dbf311b 100644 --- a/docs/api/cli/types/struct.InstallRustupComponentInfo.html +++ b/docs/api/cli/types/struct.InstallRustupComponentInfo.html @@ -1,4 +1,4 @@ -InstallRustupComponentInfo in cli::types - Rust

Struct cli::types::InstallRustupComponentInfo

source ·
pub struct InstallRustupComponentInfo {
+InstallRustupComponentInfo in cli::types - Rust
cli::types

Struct InstallRustupComponentInfo

Source
pub struct InstallRustupComponentInfo {
     pub rustup_component_name: String,
     pub binary: Option<String>,
     pub test_arg: Option<TestArg>,
@@ -6,28 +6,29 @@
 

Fields§

§rustup_component_name: String

The component to install via rustup

§binary: Option<String>

The binary file name to be used to test if the crate is already installed

§test_arg: Option<TestArg>

Test argument that will be used to check that the crate is installed

-

Trait Implementations§

source§

impl Clone for InstallRustupComponentInfo

source§

fn clone(&self) -> InstallRustupComponentInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for InstallRustupComponentInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for InstallRustupComponentInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for InstallRustupComponentInfo

source§

fn eq(&self, other: &InstallRustupComponentInfo) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for InstallRustupComponentInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for InstallRustupComponentInfo

Source§

fn clone(&self) -> InstallRustupComponentInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InstallRustupComponentInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for InstallRustupComponentInfo

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for InstallRustupComponentInfo

Source§

fn eq(&self, other: &InstallRustupComponentInfo) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for InstallRustupComponentInfo

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.ModifyConfig.html b/docs/api/cli/types/struct.ModifyConfig.html index d3851099..fce4e0e2 100644 --- a/docs/api/cli/types/struct.ModifyConfig.html +++ b/docs/api/cli/types/struct.ModifyConfig.html @@ -1,31 +1,33 @@ -ModifyConfig in cli::types - Rust

Struct cli::types::ModifyConfig

source ·
pub struct ModifyConfig {
+ModifyConfig in cli::types - Rust
cli::types

Struct ModifyConfig

Source
pub struct ModifyConfig {
     pub private: Option<bool>,
     pub namespace: Option<String>,
 }
Expand description

Holds properties to modify the core tasks

Fields§

§private: Option<bool>

If true, all core tasks will be set to private (default false)

§namespace: Option<String>

If set to some value, all core tasks are modified to: namespace::name for example default::build

-

Implementations§

source§

impl ModifyConfig

source

pub fn is_modifications_defined(self: &ModifyConfig) -> bool

Returns true if config modifications is needed based on the current state

-
source

pub fn get_namespace_prefix(self: &ModifyConfig) -> String

Returns the namespace prefix for task names

-

Trait Implementations§

source§

impl Clone for ModifyConfig

source§

fn clone(&self) -> ModifyConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ModifyConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ModifyConfig

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ModifyConfig

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl ModifyConfig

Source

pub fn is_modifications_defined(self: &ModifyConfig) -> bool

Returns true if config modifications is needed based on the current state

+
Source

pub fn get_namespace_prefix(self: &ModifyConfig) -> String

Returns the namespace prefix for task names

+

Trait Implementations§

Source§

impl Clone for ModifyConfig

Source§

fn clone(&self) -> ModifyConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ModifyConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ModifyConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ModifyConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.PackageInfo.html b/docs/api/cli/types/struct.PackageInfo.html index 52e9d875..67025b07 100644 --- a/docs/api/cli/types/struct.PackageInfo.html +++ b/docs/api/cli/types/struct.PackageInfo.html @@ -1,4 +1,4 @@ -PackageInfo in cli::types - Rust

Struct cli::types::PackageInfo

source ·
pub struct PackageInfo {
+PackageInfo in cli::types - Rust
cli::types

Struct PackageInfo

Source
pub struct PackageInfo {
     pub name: Option<String>,
     pub version: Option<String>,
     pub description: Option<String>,
@@ -14,27 +14,29 @@
 
§documentation: Option<String>

documentation link

§homepage: Option<String>

homepage link

§repository: Option<String>

repository link

-

Implementations§

source§

impl PackageInfo

source

pub fn new() -> PackageInfo

Creates and returns a new instance.

-

Trait Implementations§

source§

impl Clone for PackageInfo

source§

fn clone(&self) -> PackageInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PackageInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PackageInfo

source§

fn default() -> PackageInfo

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for PackageInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for PackageInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Source§

impl PackageInfo

Source

pub fn new() -> PackageInfo

Creates and returns a new instance.

+

Trait Implementations§

Source§

impl Clone for PackageInfo

Source§

fn clone(&self) -> PackageInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PackageInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PackageInfo

Source§

fn default() -> PackageInfo

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for PackageInfo

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for PackageInfo

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.PlatformOverrideTask.html b/docs/api/cli/types/struct.PlatformOverrideTask.html index 981bd16d..69f9eee6 100644 --- a/docs/api/cli/types/struct.PlatformOverrideTask.html +++ b/docs/api/cli/types/struct.PlatformOverrideTask.html @@ -1,4 +1,4 @@ -PlatformOverrideTask in cli::types - Rust

Struct cli::types::PlatformOverrideTask

source ·
pub struct PlatformOverrideTask {
Show 27 fields +PlatformOverrideTask in cli::types - Rust
cli::types

Struct PlatformOverrideTask

Source
pub struct PlatformOverrideTask {
Show 27 fields pub clear: Option<bool>, pub disabled: Option<bool>, pub private: Option<bool>, @@ -54,31 +54,33 @@
§run_task: Option<RunTaskInfo>

The task name to execute

§dependencies: Option<Vec<DependencyIdentifier>>

A list of tasks to execute before this task

§toolchain: Option<ToolchainSpecifier>

The rust toolchain used to invoke the command or install the needed crates/components

-

Implementations§

source§

impl PlatformOverrideTask

source

pub fn extend(self: &mut PlatformOverrideTask, task: &mut Task)

Copies values from the task into self.

+

Implementations§

Source§

impl PlatformOverrideTask

Source

pub fn extend(self: &mut PlatformOverrideTask, task: &mut Task)

Copies values from the task into self.

§Arguments
  • task - The task to copy from
-

Trait Implementations§

source§

impl Clone for PlatformOverrideTask

source§

fn clone(&self) -> PlatformOverrideTask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PlatformOverrideTask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for PlatformOverrideTask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for PlatformOverrideTask

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for PlatformOverrideTask

Source§

fn clone(&self) -> PlatformOverrideTask

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PlatformOverrideTask

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for PlatformOverrideTask

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for PlatformOverrideTask

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.RunTaskDetails.html b/docs/api/cli/types/struct.RunTaskDetails.html index 6cb6b693..740e0170 100644 --- a/docs/api/cli/types/struct.RunTaskDetails.html +++ b/docs/api/cli/types/struct.RunTaskDetails.html @@ -1,4 +1,4 @@ -RunTaskDetails in cli::types - Rust

Struct cli::types::RunTaskDetails

source ·
pub struct RunTaskDetails {
+RunTaskDetails in cli::types - Rust
cli::types

Struct RunTaskDetails

Source
pub struct RunTaskDetails {
     pub name: RunTaskName,
     pub fork: Option<bool>,
     pub parallel: Option<bool>,
@@ -8,26 +8,28 @@
 
§fork: Option<bool>

True to fork the task to a new sub process

§parallel: Option<bool>

True to run all tasks in parallel (default false)

§cleanup_task: Option<String>

Cleanup task name

-

Trait Implementations§

source§

impl Clone for RunTaskDetails

source§

fn clone(&self) -> RunTaskDetails

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RunTaskDetails

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for RunTaskDetails

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for RunTaskDetails

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for RunTaskDetails

Source§

fn clone(&self) -> RunTaskDetails

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RunTaskDetails

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for RunTaskDetails

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for RunTaskDetails

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.RunTaskRoutingInfo.html b/docs/api/cli/types/struct.RunTaskRoutingInfo.html index 0c6a0011..5ee76c76 100644 --- a/docs/api/cli/types/struct.RunTaskRoutingInfo.html +++ b/docs/api/cli/types/struct.RunTaskRoutingInfo.html @@ -1,4 +1,4 @@ -RunTaskRoutingInfo in cli::types - Rust

Struct cli::types::RunTaskRoutingInfo

source ·
pub struct RunTaskRoutingInfo {
+RunTaskRoutingInfo in cli::types - Rust
cli::types

Struct RunTaskRoutingInfo

Source
pub struct RunTaskRoutingInfo {
     pub name: RunTaskName,
     pub fork: Option<bool>,
     pub parallel: Option<bool>,
@@ -14,26 +14,28 @@
 
§condition: Option<TaskCondition>

if provided all condition values must be met in order for the task to be invoked

§condition_script: Option<ConditionScriptValue>

if script exit code is not 0, the task will not be invoked

§condition_script_runner_args: Option<Vec<String>>

The script runner arguments before the script file path

-

Trait Implementations§

source§

impl Clone for RunTaskRoutingInfo

source§

fn clone(&self) -> RunTaskRoutingInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RunTaskRoutingInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for RunTaskRoutingInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for RunTaskRoutingInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for RunTaskRoutingInfo

Source§

fn clone(&self) -> RunTaskRoutingInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RunTaskRoutingInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for RunTaskRoutingInfo

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for RunTaskRoutingInfo

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.RustVersionCondition.html b/docs/api/cli/types/struct.RustVersionCondition.html index baacacd8..09b878e0 100644 --- a/docs/api/cli/types/struct.RustVersionCondition.html +++ b/docs/api/cli/types/struct.RustVersionCondition.html @@ -1,4 +1,4 @@ -RustVersionCondition in cli::types - Rust

Struct cli::types::RustVersionCondition

source ·
pub struct RustVersionCondition {
+RustVersionCondition in cli::types - Rust
cli::types

Struct RustVersionCondition

Source
pub struct RustVersionCondition {
     pub min: Option<String>,
     pub max: Option<String>,
     pub equal: Option<String>,
@@ -6,26 +6,28 @@
 

Fields§

§min: Option<String>

min version number

§max: Option<String>

max version number

§equal: Option<String>

specific version number

-

Trait Implementations§

source§

impl Clone for RustVersionCondition

source§

fn clone(&self) -> RustVersionCondition

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RustVersionCondition

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for RustVersionCondition

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for RustVersionCondition

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for RustVersionCondition

Source§

fn clone(&self) -> RustVersionCondition

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RustVersionCondition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for RustVersionCondition

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for RustVersionCondition

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.ScriptSections.html b/docs/api/cli/types/struct.ScriptSections.html index 36432477..0e64d04a 100644 --- a/docs/api/cli/types/struct.ScriptSections.html +++ b/docs/api/cli/types/struct.ScriptSections.html @@ -1,4 +1,4 @@ -ScriptSections in cli::types - Rust

Struct cli::types::ScriptSections

source ·
pub struct ScriptSections {
+ScriptSections in cli::types - Rust
cli::types

Struct ScriptSections

Source
pub struct ScriptSections {
     pub pre: Option<String>,
     pub main: Option<String>,
     pub post: Option<String>,
@@ -6,26 +6,28 @@
 

Fields§

§pre: Option<String>

Script section

§main: Option<String>

Script section

§post: Option<String>

Script section

-

Trait Implementations§

source§

impl Clone for ScriptSections

source§

fn clone(&self) -> ScriptSections

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ScriptSections

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ScriptSections

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ScriptSections

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for ScriptSections

Source§

fn clone(&self) -> ScriptSections

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ScriptSections

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ScriptSections

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ScriptSections

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.Step.html b/docs/api/cli/types/struct.Step.html index 9ba970d3..0a9ab7ce 100644 --- a/docs/api/cli/types/struct.Step.html +++ b/docs/api/cli/types/struct.Step.html @@ -1,27 +1,29 @@ -Step in cli::types - Rust

Struct cli::types::Step

source ·
pub struct Step {
+Step in cli::types - Rust
cli::types

Struct Step

Source
pub struct Step {
     pub name: String,
     pub config: Task,
 }
Expand description

Execution plan step to execute

Fields§

§name: String

The task name

§config: Task

The task config

-

Trait Implementations§

source§

impl Clone for Step

source§

fn clone(&self) -> Step

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Step

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Serialize for Step

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Step

§

impl RefUnwindSafe for Step

§

impl Send for Step

§

impl Sync for Step

§

impl Unpin for Step

§

impl UnwindSafe for Step

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

Source§

impl Clone for Step

Source§

fn clone(&self) -> Step

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Step

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Serialize for Step

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Step

§

impl RefUnwindSafe for Step

§

impl Send for Step

§

impl Sync for Step

§

impl Unpin for Step

§

impl UnwindSafe for Step

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.Task.html b/docs/api/cli/types/struct.Task.html index 6d137d59..1ccba166 100644 --- a/docs/api/cli/types/struct.Task.html +++ b/docs/api/cli/types/struct.Task.html @@ -1,4 +1,4 @@ -Task in cli::types - Rust

Struct cli::types::Task

source ·
pub struct Task {
Show 37 fields +Task in cli::types - Rust
cli::types

Struct Task

Source
pub struct Task {
Show 37 fields pub clear: Option<bool>, pub description: Option<String>, pub category: Option<String>, @@ -74,40 +74,42 @@
§linux: Option<PlatformOverrideTask>

override task if runtime OS is Linux (takes precedence over alias)

§windows: Option<PlatformOverrideTask>

override task if runtime OS is Windows (takes precedence over alias)

§mac: Option<PlatformOverrideTask>

override task if runtime OS is Mac (takes precedence over alias)

-

Implementations§

source§

impl Task

source

pub fn new() -> Task

Creates and returns a new instance.

-
source

pub fn apply(self: &mut Task, modify_config: &ModifyConfig)

Apply modifications

-
source

pub fn extend(self: &mut Task, task: &Task)

Copies values from the task into self.

+

Implementations§

Source§

impl Task

Source

pub fn new() -> Task

Creates and returns a new instance.

+
Source

pub fn apply(self: &mut Task, modify_config: &ModifyConfig)

Apply modifications

+
Source

pub fn extend(self: &mut Task, task: &Task)

Copies values from the task into self.

§Arguments
  • task - The task to copy from
-
source

pub fn should_ignore_errors(self: &Task) -> bool

Returns true if the task ignore_errors attribute is defined and true

-
source

pub fn get_normalized_task(self: &mut Task) -> Task

Returns a new task based on the override information and current platform.

-
source

pub fn get_alias(self: &Task) -> Option<String>

Returns the alias value based on the current platform and task definition.

-
source

pub fn get_actions_count(self: &Task) -> u8

Returns the amount of actions defined on the task

-
source

pub fn is_actionable(self: &Task) -> bool

Returns true if the task has any actions on its own +

Source

pub fn should_ignore_errors(self: &Task) -> bool

Returns true if the task ignore_errors attribute is defined and true

+
Source

pub fn get_normalized_task(self: &mut Task) -> Task

Returns a new task based on the override information and current platform.

+
Source

pub fn get_alias(self: &Task) -> Option<String>

Returns the alias value based on the current platform and task definition.

+
Source

pub fn get_actions_count(self: &Task) -> u8

Returns the amount of actions defined on the task

+
Source

pub fn is_actionable(self: &Task) -> bool

Returns true if the task has any actions on its own or if it modifies the environment in any way.

-
source

pub fn is_valid(self: &Task) -> bool

Returns true if the task is valid

-

Trait Implementations§

source§

impl Clone for Task

source§

fn clone(&self) -> Task

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Task

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Task

source§

fn default() -> Task

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Task

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Task

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Task

§

impl RefUnwindSafe for Task

§

impl Send for Task

§

impl Sync for Task

§

impl Unpin for Task

§

impl UnwindSafe for Task

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+
Source

pub fn is_valid(self: &Task) -> bool

Returns true if the task is valid

+

Trait Implementations§

Source§

impl Clone for Task

Source§

fn clone(&self) -> Task

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Task

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Task

Source§

fn default() -> Task

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Task

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Task

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Task

§

impl RefUnwindSafe for Task

§

impl Send for Task

§

impl Sync for Task

§

impl Unpin for Task

§

impl UnwindSafe for Task

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.TaskCondition.html b/docs/api/cli/types/struct.TaskCondition.html index 977fd087..7559f748 100644 --- a/docs/api/cli/types/struct.TaskCondition.html +++ b/docs/api/cli/types/struct.TaskCondition.html @@ -1,4 +1,4 @@ -TaskCondition in cli::types - Rust

Struct cli::types::TaskCondition

source ·
pub struct TaskCondition {
Show 16 fields +TaskCondition in cli::types - Rust
cli::types

Struct TaskCondition

Source
pub struct TaskCondition {
Show 17 fields pub condition_type: Option<ConditionType>, pub fail_message: Option<String>, pub profiles: Option<Vec<String>>, @@ -8,6 +8,7 @@ pub env_set: Option<Vec<String>>, pub env_not_set: Option<Vec<String>>, pub env: Option<IndexMap<String, String>>, + pub env_not: Option<IndexMap<String, String>>, pub env_true: Option<Vec<String>>, pub env_false: Option<Vec<String>>, pub env_contains: Option<IndexMap<String, String>>, @@ -25,6 +26,7 @@
§env_set: Option<Vec<String>>

Environment variables which must be defined

§env_not_set: Option<Vec<String>>

Environment variables which must not be defined

§env: Option<IndexMap<String, String>>

Environment variables and their values

+
§env_not: Option<IndexMap<String, String>>

Environment variables and the values which they must not be defined as

§env_true: Option<Vec<String>>

Environment variables which are defined as true

§env_false: Option<Vec<String>>

Environment variables which are defined as false

§env_contains: Option<IndexMap<String, String>>

Environment variables and the values which they are required to contain

@@ -32,26 +34,28 @@
§files_exist: Option<Vec<String>>

Files exist

§files_not_exist: Option<Vec<String>>

Files which do not exist

§files_modified: Option<FilesFilesModifiedCondition>

Files modified since last execution

-

Implementations§

Trait Implementations§

source§

impl Clone for TaskCondition

source§

fn clone(&self) -> TaskCondition

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TaskCondition

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TaskCondition

source§

fn default() -> TaskCondition

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for TaskCondition

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for TaskCondition

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

Trait Implementations§

Source§

impl Clone for TaskCondition

Source§

fn clone(&self) -> TaskCondition

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TaskCondition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TaskCondition

Source§

fn default() -> TaskCondition

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for TaskCondition

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for TaskCondition

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.TaskIdentifier.html b/docs/api/cli/types/struct.TaskIdentifier.html index 1e50f67e..b7ee3f2f 100644 --- a/docs/api/cli/types/struct.TaskIdentifier.html +++ b/docs/api/cli/types/struct.TaskIdentifier.html @@ -1,39 +1,40 @@ -TaskIdentifier in cli::types - Rust

Struct cli::types::TaskIdentifier

source ·
pub struct TaskIdentifier {
+TaskIdentifier in cli::types - Rust
cli::types

Struct TaskIdentifier

Source
pub struct TaskIdentifier {
     pub name: String,
     pub path: Option<String>,
 }
Expand description

An identifier for a task

Fields§

§name: String

The task name to execute

§path: Option<String>

The path to the makefile the task resides in

-

Implementations§

source§

impl TaskIdentifier

source

pub fn from_name(name: &str) -> Self

Create a new TaskIdentifier referencing a task in the current file

-

Trait Implementations§

source§

impl Clone for TaskIdentifier

source§

fn clone(&self) -> TaskIdentifier

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TaskIdentifier

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for TaskIdentifier

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for TaskIdentifier

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Into<TaskIdentifier> for DependencyIdentifier

source§

fn into(self) -> TaskIdentifier

Converts this type into the (usually inferred) input type.
source§

impl PartialEq for TaskIdentifier

source§

fn eq(&self, other: &TaskIdentifier) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for TaskIdentifier

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for TaskIdentifier

source§

impl StructuralPartialEq for TaskIdentifier

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where +

Implementations§

Source§

impl TaskIdentifier

Source

pub fn from_name(name: &str) -> Self

Create a new TaskIdentifier referencing a task in the current file

+

Trait Implementations§

Source§

impl Clone for TaskIdentifier

Source§

fn clone(&self) -> TaskIdentifier

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TaskIdentifier

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for TaskIdentifier

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for TaskIdentifier

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Into<TaskIdentifier> for DependencyIdentifier

Source§

fn into(self) -> TaskIdentifier

Converts this type into the (usually inferred) input type.
Source§

impl PartialEq for TaskIdentifier

Source§

fn eq(&self, other: &TaskIdentifier) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
Source§

impl Serialize for TaskIdentifier

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for TaskIdentifier

Source§

impl StructuralPartialEq for TaskIdentifier

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where + T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where + T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where + T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+ K: Borrow<Q> + ?Sized,
§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

+
Source§

impl<T, U> Into<U> for T
where + U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where + T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where + T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + T: 'static,

§

impl<T> MaybeSendSync for T

\ No newline at end of file diff --git a/docs/api/cli/types/struct.TestArg.html b/docs/api/cli/types/struct.TestArg.html index af6ac5bc..296db2e1 100644 --- a/docs/api/cli/types/struct.TestArg.html +++ b/docs/api/cli/types/struct.TestArg.html @@ -1,16 +1,16 @@ -TestArg in cli::types - Rust

Struct cli::types::TestArg

source ·
pub struct TestArg {
+TestArg in cli::types - Rust
cli::types

Struct TestArg

Source
pub struct TestArg {
     pub inner: Vec<String>,
 }
Expand description

Arguments used to check whether a crate or rustup component is installed.

Deserialize into an array of strings. Allows both a single string (which will become a single-element array) or a sequence of strings.

Fields§

§inner: Vec<String>

Content of the arguments

-

Methods from Deref<Target = Vec<String>>§

1.0.0 · source

pub fn capacity(&self) -> usize

Returns the total number of elements the vector can hold without +

Methods from Deref<Target = Vec<String>>§

1.0.0 · Source

pub fn capacity(&self) -> usize

Returns the total number of elements the vector can hold without reallocating.

§Examples
let mut vec: Vec<i32> = Vec::with_capacity(10);
 vec.push(42);
 assert!(vec.capacity() >= 10);
-
1.0.0 · source

pub fn reserve(&mut self, additional: usize)

Reserves capacity for at least additional more elements to be inserted +

1.0.0 · Source

pub fn reserve(&mut self, additional: usize)

Reserves capacity for at least additional more elements to be inserted in the given Vec<T>. The collection may reserve more space to speculatively avoid frequent reallocations. After calling reserve, capacity will be greater than or equal to self.len() + additional. @@ -21,7 +21,7 @@ Does nothing if capacity is already sufficient.

let mut vec = vec![1];
 vec.reserve(10);
 assert!(vec.capacity() >= 11);
-
1.0.0 · source

pub fn reserve_exact(&mut self, additional: usize)

Reserves the minimum capacity for at least additional more elements to +

1.0.0 · Source

pub fn reserve_exact(&mut self, additional: usize)

Reserves the minimum capacity for at least additional more elements to be inserted in the given Vec<T>. Unlike reserve, this will not deliberately over-allocate to speculatively avoid frequent allocations. After calling reserve_exact, capacity will be greater than or equal to @@ -36,7 +36,7 @@ minimal. Prefer

let mut vec = vec![1];
 vec.reserve_exact(10);
 assert!(vec.capacity() >= 11);
-
1.57.0 · source

pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

Tries to reserve capacity for at least additional more elements to be inserted +

1.57.0 · Source

pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

Tries to reserve capacity for at least additional more elements to be inserted in the given Vec<T>. The collection may reserve more space to speculatively avoid frequent reallocations. After calling try_reserve, capacity will be greater than or equal to self.len() + additional if it returns @@ -61,9 +61,9 @@ is returned.

Ok(output) }
-
1.57.0 · source

pub fn try_reserve_exact( +

1.57.0 · Source

pub fn try_reserve_exact( &mut self, - additional: usize + additional: usize, ) -> Result<(), TryReserveError>

Tries to reserve the minimum capacity for at least additional elements to be inserted in the given Vec<T>. Unlike try_reserve, this will not deliberately over-allocate to speculatively avoid frequent @@ -92,7 +92,7 @@ is returned.

Ok(output) }
-
1.0.0 · source

pub fn shrink_to_fit(&mut self)

Shrinks the capacity of the vector as much as possible.

+
1.0.0 · Source

pub fn shrink_to_fit(&mut self)

Shrinks the capacity of the vector as much as possible.

The behavior of this method depends on the allocator, which may either shrink the vector in-place or reallocate. The resulting vector might still have some excess capacity, just as is the case for with_capacity. See Allocator::shrink for more details.

@@ -102,7 +102,7 @@ vec.extend([1, 2, assert!(vec.capacity() >= 10); vec.shrink_to_fit(); assert!(vec.capacity() >= 3);
-
1.56.0 · source

pub fn shrink_to(&mut self, min_capacity: usize)

Shrinks the capacity of the vector with a lower bound.

+
1.56.0 · Source

pub fn shrink_to(&mut self, min_capacity: usize)

Shrinks the capacity of the vector with a lower bound.

The capacity will remain at least as large as both the length and the supplied value.

If the current capacity is less than the lower limit, this is a no-op.

@@ -114,7 +114,7 @@ vec.shrink_to(4); assert!(vec.capacity() >= 4); vec.shrink_to(0); assert!(vec.capacity() >= 3);
-
1.0.0 · source

pub fn truncate(&mut self, len: usize)

Shortens the vector, keeping the first len elements and dropping +

1.0.0 · Source

pub fn truncate(&mut self, len: usize)

Shortens the vector, keeping the first len elements and dropping the rest.

If len is greater or equal to the vector’s current length, this has no effect.

@@ -140,22 +140,22 @@ method.

let mut vec = vec![1, 2, 3];
 vec.truncate(0);
 assert_eq!(vec, []);
-
1.7.0 · source

pub fn as_slice(&self) -> &[T]

Extracts a slice containing the entire vector.

+
1.7.0 · Source

pub fn as_slice(&self) -> &[T]

Extracts a slice containing the entire vector.

Equivalent to &s[..].

§Examples
use std::io::{self, Write};
 let buffer = vec![1, 2, 3, 5, 8];
 io::sink().write(buffer.as_slice()).unwrap();
-
1.7.0 · source

pub fn as_mut_slice(&mut self) -> &mut [T]

Extracts a mutable slice of the entire vector.

+
1.7.0 · Source

pub fn as_mut_slice(&mut self) -> &mut [T]

Extracts a mutable slice of the entire vector.

Equivalent to &mut s[..].

§Examples
use std::io::{self, Read};
 let mut buffer = vec![0; 3];
 io::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
-
1.37.0 · source

pub fn as_ptr(&self) -> *const T

Returns a raw pointer to the vector’s buffer, or a dangling raw pointer +

1.37.0 · Source

pub fn as_ptr(&self) -> *const T

Returns a raw pointer to the vector’s buffer, or a dangling raw pointer valid for zero sized reads if the vector didn’t allocate.

The caller must ensure that the vector outlives the pointer this -function returns, or else it will end up pointing to garbage. +function returns, or else it will end up dangling. Modifying the vector may cause its buffer to be reallocated, which would also make any pointers to it invalid.

The caller must also ensure that the memory the pointer (non-transitively) points to @@ -163,7 +163,8 @@ is never written to (except inside an UnsafeCell) using this pointe derived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

This method guarantees that for the purpose of the aliasing model, this method does not materialize a reference to the underlying slice, and thus the returned pointer -will remain valid when mixed with other calls to as_ptr and as_mut_ptr. +will remain valid when mixed with other calls to as_ptr, as_mut_ptr, +and as_non_null. Note that calling other methods that materialize mutable references to the slice, or mutable references to specific elements you are planning on accessing through this pointer, as well as writing to those elements, may still invalidate this pointer. @@ -189,15 +190,16 @@ See the second example below for how this guarantee can be used.

// because it mutated a different element: let _ = ptr1.read(); }
-
1.37.0 · source

pub fn as_mut_ptr(&mut self) -> *mut T

Returns an unsafe mutable pointer to the vector’s buffer, or a dangling +

1.37.0 · Source

pub fn as_mut_ptr(&mut self) -> *mut T

Returns a raw mutable pointer to the vector’s buffer, or a dangling raw pointer valid for zero sized reads if the vector didn’t allocate.

The caller must ensure that the vector outlives the pointer this -function returns, or else it will end up pointing to garbage. +function returns, or else it will end up dangling. Modifying the vector may cause its buffer to be reallocated, which would also make any pointers to it invalid.

This method guarantees that for the purpose of the aliasing model, this method does not materialize a reference to the underlying slice, and thus the returned pointer -will remain valid when mixed with other calls to as_ptr and as_mut_ptr. +will remain valid when mixed with other calls to as_ptr, as_mut_ptr, +and as_non_null. Note that calling other methods that materialize references to the slice, or references to specific elements you are planning on accessing through this pointer, may still invalidate this pointer. @@ -227,8 +229,51 @@ See the second example below for how this guarantee can be used.

// Notably, the write to `ptr2` did *not* invalidate `ptr1`: ptr1.write(3); }
-
source

pub fn allocator(&self) -> &A

🔬This is a nightly-only experimental API. (allocator_api)

Returns a reference to the underlying allocator.

-
1.0.0 · source

pub unsafe fn set_len(&mut self, new_len: usize)

Forces the length of the vector to new_len.

+
Source

pub fn as_non_null(&mut self) -> NonNull<T>

🔬This is a nightly-only experimental API. (box_vec_non_null)

Returns a NonNull pointer to the vector’s buffer, or a dangling +NonNull pointer valid for zero sized reads if the vector didn’t allocate.

+

The caller must ensure that the vector outlives the pointer this +function returns, or else it will end up dangling. +Modifying the vector may cause its buffer to be reallocated, +which would also make any pointers to it invalid.

+

This method guarantees that for the purpose of the aliasing model, this method +does not materialize a reference to the underlying slice, and thus the returned pointer +will remain valid when mixed with other calls to as_ptr, as_mut_ptr, +and as_non_null. +Note that calling other methods that materialize references to the slice, +or references to specific elements you are planning on accessing through this pointer, +may still invalidate this pointer. +See the second example below for how this guarantee can be used.

+
§Examples
+
#![feature(box_vec_non_null)]
+
+// Allocate vector big enough for 4 elements.
+let size = 4;
+let mut x: Vec<i32> = Vec::with_capacity(size);
+let x_ptr = x.as_non_null();
+
+// Initialize elements via raw pointer writes, then set length.
+unsafe {
+    for i in 0..size {
+        x_ptr.add(i).write(i as i32);
+    }
+    x.set_len(size);
+}
+assert_eq!(&*x, &[0, 1, 2, 3]);
+

Due to the aliasing guarantee, the following code is legal:

+ +
#![feature(box_vec_non_null)]
+
+unsafe {
+    let mut v = vec![0];
+    let ptr1 = v.as_non_null();
+    ptr1.write(1);
+    let ptr2 = v.as_non_null();
+    ptr2.write(2);
+    // Notably, the write to `ptr2` did *not* invalidate `ptr1`:
+    ptr1.write(3);
+}
+
Source

pub fn allocator(&self) -> &A

🔬This is a nightly-only experimental API. (allocator_api)

Returns a reference to the underlying allocator.

+
1.0.0 · Source

pub unsafe fn set_len(&mut self, new_len: usize)

Forces the length of the vector to new_len.

This is a low-level operation that maintains none of the normal invariants of the type. Normally changing the length of a vector is done using one of the safe operations instead, such as @@ -238,8 +283,10 @@ is done using one of the safe operations instead, such as

  • new_len must be less than or equal to capacity().
  • The elements at old_len..new_len must be initialized.
  • -
    §Examples
    -

    This method can be useful for situations in which the vector +

    §Examples
    +

    See spare_capacity_mut() for an example with safe +initialization of capacity elements and use of this method.

    +

    set_len() can be useful for situations in which the vector is serving as a buffer for other code, particularly over FFI:

    pub fn get_dictionary(&self) -> Option<Vec<u8>> {
    @@ -276,13 +323,13 @@ the inner vectors were not freed prior to the set_len call:

    }

    Normally, here, one would use clear instead to correctly drop the contents and thus not leak memory.

    -
    1.0.0 · source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    +
    1.0.0 · Source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    The removed element is replaced by the last element of the vector.

    This does not preserve ordering of the remaining elements, but is O(1). If you need to preserve the element order, use remove instead.

    §Panics

    Panics if index is out of bounds.

    -
    §Examples
    +
    §Examples
    let mut v = vec!["foo", "bar", "baz", "qux"];
     
     assert_eq!(v.swap_remove(1), "bar");
    @@ -290,21 +337,21 @@ If you need to preserve the element order, use assert_eq!(v.swap_remove(0), "foo");
     assert_eq!(v, ["baz", "qux"]);
    -
    1.0.0 · source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all +

    1.0.0 · Source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all elements after it to the right.

    §Panics

    Panics if index > len.

    -
    §Examples
    -
    let mut vec = vec![1, 2, 3];
    -vec.insert(1, 4);
    -assert_eq!(vec, [1, 4, 2, 3]);
    -vec.insert(4, 5);
    -assert_eq!(vec, [1, 4, 2, 3, 5]);
    +
    §Examples
    +
    let mut vec = vec!['a', 'b', 'c'];
    +vec.insert(1, 'd');
    +assert_eq!(vec, ['a', 'd', 'b', 'c']);
    +vec.insert(4, 'e');
    +assert_eq!(vec, ['a', 'd', 'b', 'c', 'e']);
    §Time complexity

    Takes O(Vec::len) time. All items after the insertion index must be shifted to the right. In the worst case, all elements are shifted when the insertion index is 0.

    -
    1.0.0 · source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector, +

    1.0.0 · Source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector, shifting all elements after it to the left.

    Note: Because this shifts over the remaining elements, it has a worst-case performance of O(n). If you don’t need the order of elements @@ -313,16 +360,16 @@ elements from the beginning of the Vec, consider using VecDeque::pop_front instead.

    §Panics

    Panics if index is out of bounds.

    -
    §Examples
    -
    let mut v = vec![1, 2, 3];
    -assert_eq!(v.remove(1), 2);
    -assert_eq!(v, [1, 3]);
    -
    1.0.0 · source

    pub fn retain<F>(&mut self, f: F)
    where +
    §Examples
    +
    let mut v = vec!['a', 'b', 'c'];
    +assert_eq!(v.remove(1), 'b');
    +assert_eq!(v, ['a', 'c']);
    +

    1.0.0 · Source

    pub fn retain<F>(&mut self, f: F)
    where F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    In other words, remove all elements e for which f(&e) returns false. This method operates in place, visiting each element exactly once in the original order, and preserves the order of the retained elements.

    -
    §Examples
    +
    §Examples
    let mut vec = vec![1, 2, 3, 4];
     vec.retain(|&x| x % 2 == 0);
     assert_eq!(vec, [2, 4]);
    @@ -334,12 +381,12 @@ external state may be used to decide which elements to keep.

    let mut iter = keep.iter(); vec.retain(|_| *iter.next().unwrap()); assert_eq!(vec, [2, 3, 5]);
    -
    1.61.0 · source

    pub fn retain_mut<F>(&mut self, f: F)
    where +

    1.61.0 · Source

    pub fn retain_mut<F>(&mut self, f: F)
    where F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate, passing a mutable reference to it.

    In other words, remove all elements e such that f(&mut e) returns false. This method operates in place, visiting each element exactly once in the original order, and preserves the order of the retained elements.

    -
    §Examples
    +
    §Examples
    let mut vec = vec![1, 2, 3, 4];
     vec.retain_mut(|x| if *x <= 3 {
         *x += 1;
    @@ -348,34 +395,34 @@ vec.retain_mut(|x| if *x <=
         false
     });
     assert_eq!(vec, [2, 3, 4]);
    -
    1.16.0 · source

    pub fn dedup_by_key<F, K>(&mut self, key: F)
    where +

    1.16.0 · Source

    pub fn dedup_by_key<F, K>(&mut self, key: F)
    where F: FnMut(&mut T) -> K, K: PartialEq,

    Removes all but the first of consecutive elements in the vector that resolve to the same key.

    If the vector is sorted, this removes all duplicates.

    -
    §Examples
    +
    §Examples
    let mut vec = vec![10, 20, 21, 30, 20];
     
     vec.dedup_by_key(|i| *i / 10);
     
     assert_eq!(vec, [10, 20, 30, 20]);
    -
    1.16.0 · source

    pub fn dedup_by<F>(&mut self, same_bucket: F)
    where +

    1.16.0 · Source

    pub fn dedup_by<F>(&mut self, same_bucket: F)
    where F: FnMut(&mut T, &mut T) -> bool,

    Removes all but the first of consecutive elements in the vector satisfying a given equality relation.

    The same_bucket function is passed references to two elements from the vector and must determine if the elements compare equal. The elements are passed in opposite order from their order in the slice, so if same_bucket(a, b) returns true, a is removed.

    If the vector is sorted, this removes all duplicates.

    -
    §Examples
    +
    §Examples
    let mut vec = vec!["foo", "bar", "Bar", "baz", "bar"];
     
     vec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));
     
     assert_eq!(vec, ["foo", "bar", "baz", "bar"]);
    -
    1.0.0 · source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    +
    1.0.0 · Source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    §Panics

    Panics if the new capacity exceeds isize::MAX bytes.

    -
    §Examples
    +
    §Examples
    let mut vec = vec![1, 2];
     vec.push(3);
     assert_eq!(vec, [1, 2, 3]);
    @@ -384,11 +431,11 @@ vec.push(3); capacity after the push, O(capacity) time is taken to copy the vector’s elements to a larger allocation. This expensive operation is offset by the capacity O(1) insertions it allows.

    -
    source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned +

    Source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned with the element.

    Unlike push this method will not reallocate when there’s insufficient capacity. The caller should use reserve or try_reserve to ensure that there is enough capacity.

    -
    §Examples
    +
    §Examples

    A manual, panic-free alternative to FromIterator:

    #![feature(vec_push_within_capacity)]
    @@ -408,21 +455,21 @@ The caller should use assert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
    §Time complexity

    Takes O(1) time.

    -
    1.0.0 · source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it +

    1.0.0 · Source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it is empty.

    If you’d like to pop the first element, consider using VecDeque::pop_front instead.

    -
    §Examples
    +
    §Examples
    let mut vec = vec![1, 2, 3];
     assert_eq!(vec.pop(), Some(3));
     assert_eq!(vec, [1, 2]);
    §Time complexity

    Takes O(1) time.

    -
    source

    pub fn pop_if<F>(&mut self, f: F) -> Option<T>
    where +

    Source

    pub fn pop_if<F>(&mut self, f: F) -> Option<T>
    where F: FnOnce(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (vec_pop_if)

    Removes and returns the last element in a vector if the predicate returns true, or None if the predicate returns false or the vector is empty.

    -
    §Examples
    +
    §Examples
    #![feature(vec_pop_if)]
     
     let mut vec = vec![1, 2, 3, 4];
    @@ -431,16 +478,16 @@ is empty.

    assert_eq!(vec.pop_if(pred), Some(4)); assert_eq!(vec, [1, 2, 3]); assert_eq!(vec.pop_if(pred), None);
    -
    1.4.0 · source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    +
    1.4.0 · Source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    §Panics

    Panics if the new capacity exceeds isize::MAX bytes.

    -
    §Examples
    +
    §Examples
    let mut vec = vec![1, 2, 3];
     let mut vec2 = vec![4, 5, 6];
     vec.append(&mut vec2);
     assert_eq!(vec, [1, 2, 3, 4, 5, 6]);
     assert_eq!(vec2, []);
    -
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>
    where +

    1.6.0 · Source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>
    where R: RangeBounds<usize>,

    Removes the specified range from the vector in bulk, returning all removed elements as an iterator. If the iterator is dropped before being fully consumed, it drops the remaining removed elements.

    @@ -453,7 +500,7 @@ the end point is greater than the length of the vector.

    If the returned iterator goes out of scope without being dropped (due to mem::forget, for example), the vector may have lost and leaked elements arbitrarily, including elements outside the range.

    -
    §Examples
    +
    §Examples
    let mut v = vec![1, 2, 3];
     let u: Vec<_> = v.drain(1..).collect();
     assert_eq!(v, &[1]);
    @@ -462,28 +509,28 @@ elements arbitrarily, including elements outside the range.

    // A full range clears the vector, like `clear()` does v.drain(..); assert_eq!(v, &[]);
    -
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    +
    1.0.0 · Source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    Note that this method has no effect on the allocated capacity of the vector.

    -
    §Examples
    +
    §Examples
    let mut v = vec![1, 2, 3];
     
     v.clear();
     
     assert!(v.is_empty());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to +

    1.0.0 · Source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to as its ‘length’.

    -
    §Examples
    +
    §Examples
    let a = vec![1, 2, 3];
     assert_eq!(a.len(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    -
    §Examples
    +
    1.0.0 · Source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    +
    §Examples
    let mut v = Vec::new();
     assert!(v.is_empty());
     
     v.push(1);
     assert!(!v.is_empty());
    -
    1.4.0 · source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>
    where +

    1.4.0 · Source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>
    where A: Clone,

    Splits the collection into two at the given index.

    Returns a newly allocated vector containing the elements in the range [at, len). After the call, the original vector will be left containing @@ -497,12 +544,12 @@ necessarily want to store the removed items in a vector, see §Panics

    Panics if at > len.

    -
    §Examples
    -
    let mut vec = vec![1, 2, 3];
    +
    §Examples
    +
    let mut vec = vec!['a', 'b', 'c'];
     let vec2 = vec.split_off(1);
    -assert_eq!(vec, [1]);
    -assert_eq!(vec2, [2, 3]);
    -
    1.33.0 · source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)
    where +assert_eq!(vec, ['a']); +assert_eq!(vec2, ['b', 'c']);
    +

    1.33.0 · Source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)
    where F: FnMut() -> T,

    Resizes the Vec in-place so that len is equal to new_len.

    If new_len is greater than len, the Vec is extended by the difference, with each additional slot filled with the result of @@ -513,7 +560,7 @@ in the Vec in the order they have been generated.

    you’d rather Clone a given value, use Vec::resize. If you want to use the Default trait to generate values, you can pass Default::default as the second argument.

    -
    §Examples
    +
    §Examples
    let mut vec = vec![1, 2, 3];
     vec.resize_with(5, Default::default);
     assert_eq!(vec, [1, 2, 3, 0, 0]);
    @@ -522,12 +569,12 @@ vec.resize_with(5, Default::default);
     let mut p = 1;
     vec.resize_with(4, || { p *= 2; p });
     assert_eq!(vec, [2, 4, 8, 16]);
    -
    1.60.0 · source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of +

    1.60.0 · Source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of MaybeUninit<T>.

    The returned slice can be used to fill the vector with data (e.g. by reading from a file) before marking the data as initialized using the set_len method.

    -
    §Examples
    +
    §Examples
    // Allocate vector big enough for 10 elements.
     let mut v = Vec::with_capacity(10);
     
    @@ -543,7 +590,7 @@ uninit[2].write(2);
     }
     
     assert_eq!(&v, &[0, 1, 2]);
    -
    source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare +

    Source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare capacity of the vector as a slice of MaybeUninit<T>.

    The returned spare capacity slice can be used to fill the vector with data (e.g. by reading from a file) before marking the data as initialized using @@ -553,7 +600,7 @@ optimization purposes. If you need to append data to a Vec you can use push, extend, extend_from_slice, extend_from_within, insert, append, resize or resize_with, depending on your exact needs.

    -
    §Examples
    +
    §Examples
    #![feature(vec_split_at_spare)]
     
     let mut v = vec![1, 1, 2];
    @@ -577,7 +624,7 @@ uninit[3].write(sum * 4)
     }
     
     assert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);
    -
    1.5.0 · source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    +
    1.5.0 · Source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    If new_len is greater than len, the Vec is extended by the difference, with each additional slot filled with value. If new_len is less than len, the Vec is simply truncated.

    @@ -586,60 +633,62 @@ in order to be able to clone the passed value. If you need more flexibility (or want to rely on Default instead of Clone), use Vec::resize_with. If you only need to resize to a smaller size, use Vec::truncate.

    -
    §Examples
    +
    §Examples
    let mut vec = vec!["hello"];
     vec.resize(3, "world");
     assert_eq!(vec, ["hello", "world", "world"]);
     
    -let mut vec = vec![1, 2, 3, 4];
    -vec.resize(2, 0);
    -assert_eq!(vec, [1, 2]);
    -
    1.6.0 · source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    +let mut vec = vec!['a', 'b', 'c', 'd']; +vec.resize(2, '_'); +assert_eq!(vec, ['a', 'b']);
    +
    1.6.0 · Source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    Iterates over the slice other, clones each element, and then appends it to this Vec. The other slice is traversed in-order.

    Note that this function is same as extend except that it is specialized to work with slices instead. If and when Rust gets specialization this function will likely be deprecated (but still available).

    -
    §Examples
    +
    §Examples
    let mut vec = vec![1];
     vec.extend_from_slice(&[2, 3, 4]);
     assert_eq!(vec, [1, 2, 3, 4]);
    -
    1.53.0 · source

    pub fn extend_from_within<R>(&mut self, src: R)
    where - R: RangeBounds<usize>,

    Copies elements from src range to the end of the vector.

    +
    1.53.0 · Source

    pub fn extend_from_within<R>(&mut self, src: R)
    where + R: RangeBounds<usize>,

    Given a range src, clones a slice of elements in that range and appends it to the end.

    +

    src must be a range that can form a valid subslice of the Vec.

    §Panics
    -

    Panics if the starting point is greater than the end point or if -the end point is greater than the length of the vector.

    -
    §Examples
    -
    let mut vec = vec![0, 1, 2, 3, 4];
    +

    Panics if starting index is greater than the end index +or if the index is greater than the length of the vector.

    +
    §Examples
    +
    let mut characters = vec!['a', 'b', 'c', 'd', 'e'];
    +characters.extend_from_within(2..);
    +assert_eq!(characters, ['a', 'b', 'c', 'd', 'e', 'c', 'd', 'e']);
     
    -vec.extend_from_within(2..);
    -assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);
    +let mut numbers = vec![0, 1, 2, 3, 4];
    +numbers.extend_from_within(..2);
    +assert_eq!(numbers, [0, 1, 2, 3, 4, 0, 1]);
     
    -vec.extend_from_within(..2);
    -assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);
    -
    -vec.extend_from_within(4..8);
    -assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
    -
    1.0.0 · source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the +let mut strings = vec![String::from("hello"), String::from("world"), String::from("!")]; +strings.extend_from_within(1..=2); +assert_eq!(strings, ["hello", "world", "!", "world", "!"]);

    +
    1.0.0 · Source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the PartialEq trait implementation.

    If the vector is sorted, this removes all duplicates.

    -
    §Examples
    +
    §Examples
    let mut vec = vec![1, 2, 2, 3, 2];
     
     vec.dedup();
     
     assert_eq!(vec, [1, 2, 3, 2]);
    -
    1.21.0 · source

    pub fn splice<R, I>( +

    1.21.0 · Source

    pub fn splice<R, I>( &mut self, range: R, - replace_with: I + replace_with: I, ) -> Splice<'_, <I as IntoIterator>::IntoIter, A>
    where R: RangeBounds<usize>, I: IntoIterator<Item = T>,

    Creates a splicing iterator that replaces the specified range in the vector with the given replace_with iterator and yields the removed items. replace_with does not need to be the same length as range.

    -

    range is removed even if the iterator is not consumed until the end.

    +

    range is removed even if the Splice iterator is not consumed before it is dropped.

    It is unspecified how many elements are removed from the vector if the Splice value is leaked.

    The input iterator replace_with is only consumed when the Splice value is dropped.

    @@ -653,24 +702,38 @@ if the Splice value is leaked.

    §Panics

    Panics if the starting point is greater than the end point or if the end point is greater than the length of the vector.

    -
    §Examples
    +
    §Examples
    let mut v = vec![1, 2, 3, 4];
     let new = [7, 8, 9];
     let u: Vec<_> = v.splice(1..3, new).collect();
    -assert_eq!(v, &[1, 7, 8, 9, 4]);
    -assert_eq!(u, &[2, 3]);
    -
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>
    where - F: FnMut(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    +assert_eq!(v, [1, 7, 8, 9, 4]); +assert_eq!(u, [2, 3]);
    +

    Using splice to insert new items into a vector efficiently at a specific position +indicated by an empty range:

    + +
    let mut v = vec![1, 5];
    +let new = [2, 3, 4];
    +v.splice(1..1, new);
    +assert_eq!(v, [1, 2, 3, 4, 5]);
    +
    Source

    pub fn extract_if<F, R>( + &mut self, + range: R, + filter: F, +) -> ExtractIf<'_, T, F, A>
    where + F: FnMut(&mut T) -> bool, + R: RangeBounds<usize>,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if element in the range should be removed.

    If the closure returns true, then the element is removed and yielded. If the closure returns false, the element will remain in the vector and will not be yielded by the iterator.

    +

    Only elements that fall in the provided range are considered for extraction, but any elements +after the range will still have to be moved if any element has been extracted.

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating or the iteration short-circuits, then the remaining elements will be retained. Use retain with a negated predicate if you do not need the returned iterator.

    Using this method is equivalent to the following code:

    -
    let mut i = 0;
    -while i < vec.len() {
    +
    let mut i = range.start;
    +while i < min(vec.len(), range.end) {
         if some_predicate(&mut vec[i]) {
             let val = vec.remove(i);
             // your code here
    @@ -681,179 +744,219 @@ Use §Examples
    +

    Note that extract_if also lets you mutate the elements passed to the filter closure, +regardless of whether you choose to keep or remove them.

    +
    §Panics
    +

    If range is out of bounds.

    +
    §Examples

    Splitting an array into evens and odds, reusing the original allocation:

    #![feature(extract_if)]
     let mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];
     
    -let evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();
    +let evens = numbers.extract_if(.., |x| *x % 2 == 0).collect::<Vec<_>>();
     let odds = numbers;
     
     assert_eq!(evens, vec![2, 4, 6, 8, 14]);
     assert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
    -

    Methods from Deref<Target = [T]>§

    source

    pub fn as_str(&self) -> &str

    🔬This is a nightly-only experimental API. (ascii_char)

    Views this slice of ASCII characters as a UTF-8 str.

    -
    source

    pub fn as_bytes(&self) -> &[u8]

    🔬This is a nightly-only experimental API. (ascii_char)

    Views this slice of ASCII characters as a slice of u8 bytes.

    -
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all bytes in this slice are within the ASCII range.

    -
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this slice is_ascii, returns it as a slice of -ASCII characters, otherwise returns None.

    -
    source

    pub unsafe fn as_ascii_unchecked(&self) -> &[AsciiChar]

    🔬This is a nightly-only experimental API. (ascii_char)

    Converts this slice of bytes into a slice of ASCII characters, -without checking whether they’re valid.

    +

    Using the range argument to only process a part of the vector:

    + +
    #![feature(extract_if)]
    +let mut items = vec![0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 2];
    +let ones = items.extract_if(7.., |x| *x == 1).collect::<Vec<_>>();
    +assert_eq!(items, vec![0, 0, 0, 0, 0, 0, 0, 2, 2, 2]);
    +assert_eq!(ones.len(), 3);
    +

    Methods from Deref<Target = [T]>§

    Source

    pub fn write_copy_of_slice(&mut self, src: &[T]) -> &mut [T]
    where + T: Copy,

    🔬This is a nightly-only experimental API. (maybe_uninit_write_slice)

    Copies the elements from src to self, +returning a mutable reference to the now initialized contents of self.

    +

    If T does not implement Copy, use write_clone_of_slice instead.

    +

    This is similar to slice::copy_from_slice.

    +
    §Panics
    +

    This function will panic if the two slices have different lengths.

    +
    §Examples
    +
    #![feature(maybe_uninit_write_slice)]
    +use std::mem::MaybeUninit;
    +
    +let mut dst = [MaybeUninit::uninit(); 32];
    +let src = [0; 32];
    +
    +let init = dst.write_copy_of_slice(&src);
    +
    +assert_eq!(init, src);
    + +
    #![feature(maybe_uninit_write_slice)]
    +
    +let mut vec = Vec::with_capacity(32);
    +let src = [0; 16];
    +
    +vec.spare_capacity_mut()[..src.len()].write_copy_of_slice(&src);
    +
    +// SAFETY: we have just copied all the elements of len into the spare capacity
    +// the first src.len() elements of the vec are valid now.
    +unsafe {
    +    vec.set_len(src.len());
    +}
    +
    +assert_eq!(vec, src);
    +
    Source

    pub fn write_clone_of_slice(&mut self, src: &[T]) -> &mut [T]
    where + T: Clone,

    🔬This is a nightly-only experimental API. (maybe_uninit_write_slice)

    Clones the elements from src to self, +returning a mutable reference to the now initialized contents of self. +Any already initialized elements will not be dropped.

    +

    If T implements Copy, use write_copy_of_slice instead.

    +

    This is similar to slice::clone_from_slice but does not drop existing elements.

    +
    §Panics
    +

    This function will panic if the two slices have different lengths, or if the implementation of Clone panics.

    +

    If there is a panic, the already cloned elements will be dropped.

    +
    §Examples
    +
    #![feature(maybe_uninit_write_slice)]
    +use std::mem::MaybeUninit;
    +
    +let mut dst = [const { MaybeUninit::uninit() }; 5];
    +let src = ["wibbly", "wobbly", "timey", "wimey", "stuff"].map(|s| s.to_string());
    +
    +let init = dst.write_clone_of_slice(&src);
    +
    +assert_eq!(init, src);
    +
    + +
    #![feature(maybe_uninit_write_slice)]
    +
    +let mut vec = Vec::with_capacity(32);
    +let src = ["rust", "is", "a", "pretty", "cool", "language"].map(|s| s.to_string());
    +
    +vec.spare_capacity_mut()[..src.len()].write_clone_of_slice(&src);
    +
    +// SAFETY: we have just cloned all the elements of len into the spare capacity
    +// the first src.len() elements of the vec are valid now.
    +unsafe {
    +    vec.set_len(src.len());
    +}
    +
    +assert_eq!(vec, src);
    +
    Source

    pub fn as_bytes(&self) -> &[MaybeUninit<u8>]

    🔬This is a nightly-only experimental API. (maybe_uninit_as_bytes)

    Returns the contents of this MaybeUninit as a slice of potentially uninitialized bytes.

    +

    Note that even if the contents of a MaybeUninit have been initialized, the value may still +contain padding bytes which are left uninitialized.

    +
    §Examples
    +
    #![feature(maybe_uninit_as_bytes, maybe_uninit_write_slice, maybe_uninit_slice)]
    +use std::mem::MaybeUninit;
    +
    +let uninit = [MaybeUninit::new(0x1234u16), MaybeUninit::new(0x5678u16)];
    +let uninit_bytes = uninit.as_bytes();
    +let bytes = unsafe { uninit_bytes.assume_init_ref() };
    +let val1 = u16::from_ne_bytes(bytes[0..2].try_into().unwrap());
    +let val2 = u16::from_ne_bytes(bytes[2..4].try_into().unwrap());
    +assert_eq!(&[val1, val2], &[0x1234u16, 0x5678u16]);
    +
    Source

    pub fn as_bytes_mut(&mut self) -> &mut [MaybeUninit<u8>]

    🔬This is a nightly-only experimental API. (maybe_uninit_as_bytes)

    Returns the contents of this MaybeUninit slice as a mutable slice of potentially +uninitialized bytes.

    +

    Note that even if the contents of a MaybeUninit have been initialized, the value may still +contain padding bytes which are left uninitialized.

    +
    §Examples
    +
    #![feature(maybe_uninit_as_bytes, maybe_uninit_write_slice, maybe_uninit_slice)]
    +use std::mem::MaybeUninit;
    +
    +let mut uninit = [MaybeUninit::<u16>::uninit(), MaybeUninit::<u16>::uninit()];
    +let uninit_bytes = MaybeUninit::slice_as_bytes_mut(&mut uninit);
    +uninit_bytes.write_copy_of_slice(&[0x12, 0x34, 0x56, 0x78]);
    +let vals = unsafe { uninit.assume_init_ref() };
    +if cfg!(target_endian = "little") {
    +    assert_eq!(vals, &[0x3412u16, 0x7856u16]);
    +} else {
    +    assert_eq!(vals, &[0x1234u16, 0x5678u16]);
    +}
    +
    Source

    pub unsafe fn assume_init_drop(&mut self)

    🔬This is a nightly-only experimental API. (maybe_uninit_slice)

    Drops the contained values in place.

    §Safety
    +

    It is up to the caller to guarantee that every MaybeUninit<T> in the slice +really is in an initialized state. Calling this when the content is not yet +fully initialized causes undefined behavior.

    +

    On top of that, all additional invariants of the type T must be +satisfied, as the Drop implementation of T (or its members) may +rely on this. For example, setting a Vec<T> to an invalid but +non-null address makes it initialized (under the current implementation; +this does not constitute a stable guarantee), because the only +requirement the compiler knows about it is that the data pointer must be +non-null. Dropping such a Vec<T> however will cause undefined +behaviour.

    +
    Source

    pub unsafe fn assume_init_ref(&self) -> &[T]

    🔬This is a nightly-only experimental API. (maybe_uninit_slice)

    Gets a shared reference to the contained value.

    +
    §Safety
    +

    Calling this when the content is not yet fully initialized causes undefined +behavior: it is up to the caller to guarantee that every MaybeUninit<T> in +the slice really is in an initialized state.

    +
    Source

    pub unsafe fn assume_init_mut(&mut self) -> &mut [T]

    🔬This is a nightly-only experimental API. (maybe_uninit_slice)

    Gets a mutable (unique) reference to the contained value.

    +
    §Safety
    +

    Calling this when the content is not yet fully initialized causes undefined +behavior: it is up to the caller to guarantee that every MaybeUninit<T> in the +slice really is in an initialized state. For instance, .assume_init_mut() cannot +be used to initialize a MaybeUninit slice.

    +
    Source

    pub fn as_str(&self) -> &str

    🔬This is a nightly-only experimental API. (ascii_char)

    Views this slice of ASCII characters as a UTF-8 str.

    +
    Source

    pub fn as_bytes(&self) -> &[u8]

    🔬This is a nightly-only experimental API. (ascii_char)

    Views this slice of ASCII characters as a slice of u8 bytes.

    +
    1.23.0 · Source

    pub fn is_ascii(&self) -> bool

    Checks if all bytes in this slice are within the ASCII range.

    +
    Source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this slice is_ascii, returns it as a slice of +ASCII characters, otherwise returns None.

    +
    Source

    pub unsafe fn as_ascii_unchecked(&self) -> &[AsciiChar]

    🔬This is a nightly-only experimental API. (ascii_char)

    Converts this slice of bytes into a slice of ASCII characters, +without checking whether they’re valid.

    +
    §Safety

    Every byte in the slice must be in 0..=127, or else this is UB.

    -
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &[u8]) -> bool

    Checks that two slices are an ASCII case-insensitive match.

    +
    1.23.0 · Source

    pub fn eq_ignore_ascii_case(&self, other: &[u8]) -> bool

    Checks that two slices are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    -
    1.23.0 · source

    pub fn make_ascii_uppercase(&mut self)

    Converts this slice to its ASCII upper case equivalent in-place.

    +
    1.23.0 · Source

    pub fn make_ascii_uppercase(&mut self)

    Converts this slice 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.

    -
    1.23.0 · source

    pub fn make_ascii_lowercase(&mut self)

    Converts this slice to its ASCII lower case equivalent in-place.

    +
    1.23.0 · Source

    pub fn make_ascii_lowercase(&mut self)

    Converts this slice 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.

    -
    1.60.0 · source

    pub fn escape_ascii(&self) -> EscapeAscii<'_>

    Returns an iterator that produces an escaped version of this slice, +

    1.60.0 · Source

    pub fn escape_ascii(&self) -> EscapeAscii<'_>

    Returns an iterator that produces an escaped version of this slice, treating it as an ASCII string.

    -
    §Examples
    +
    §Examples
    
     let s = b"0\t\r\n'\"\\\x9d";
     let escaped = s.escape_ascii().to_string();
     assert_eq!(escaped, "0\\t\\r\\n\\'\\\"\\\\\\x9d");
    -
    1.80.0 · source

    pub fn trim_ascii_start(&self) -> &[u8]

    Returns a byte slice with leading ASCII whitespace bytes removed.

    +
    1.80.0 · Source

    pub fn trim_ascii_start(&self) -> &[u8]

    Returns a byte slice with leading ASCII whitespace bytes removed.

    ‘Whitespace’ refers to the definition used by u8::is_ascii_whitespace.

    -
    §Examples
    +
    §Examples
    assert_eq!(b" \t hello world\n".trim_ascii_start(), b"hello world\n");
     assert_eq!(b"  ".trim_ascii_start(), b"");
     assert_eq!(b"".trim_ascii_start(), b"");
    -
    1.80.0 · source

    pub fn trim_ascii_end(&self) -> &[u8]

    Returns a byte slice with trailing ASCII whitespace bytes removed.

    +
    1.80.0 · Source

    pub fn trim_ascii_end(&self) -> &[u8]

    Returns a byte slice with trailing ASCII whitespace bytes removed.

    ‘Whitespace’ refers to the definition used by u8::is_ascii_whitespace.

    -
    §Examples
    +
    §Examples
    assert_eq!(b"\r hello world\n ".trim_ascii_end(), b"\r hello world");
     assert_eq!(b"  ".trim_ascii_end(), b"");
     assert_eq!(b"".trim_ascii_end(), b"");
    -
    1.80.0 · source

    pub fn trim_ascii(&self) -> &[u8]

    Returns a byte slice with leading and trailing ASCII whitespace bytes +

    1.80.0 · Source

    pub fn trim_ascii(&self) -> &[u8]

    Returns a byte slice with leading and trailing ASCII whitespace bytes removed.

    ‘Whitespace’ refers to the definition used by u8::is_ascii_whitespace.

    -
    §Examples
    +
    §Examples
    assert_eq!(b"\r hello world\n ".trim_ascii(), b"hello world");
     assert_eq!(b"  ".trim_ascii(), b"");
     assert_eq!(b"".trim_ascii(), b"");
    -
    source

    pub fn sort_floats(&mut self)

    🔬This is a nightly-only experimental API. (sort_floats)

    Sorts the slice of floats.

    -

    This sort is in-place (i.e. does not allocate), O(n * log(n)) worst-case, and uses -the ordering defined by f64::total_cmp.

    -
    §Current implementation
    -

    This uses the same sorting algorithm as sort_unstable_by.

    -
    §Examples
    -
    #![feature(sort_floats)]
    -let mut v = [2.6, -5e-8, f64::NAN, 8.29, f64::INFINITY, -1.0, 0.0, -f64::INFINITY, -0.0];
    -
    -v.sort_floats();
    -let sorted = [-f64::INFINITY, -1.0, -5e-8, -0.0, 0.0, 2.6, 8.29, f64::INFINITY, f64::NAN];
    -assert_eq!(&v[..8], &sorted[..8]);
    -assert!(v[8].is_nan());
    -
    1.79.0 · source

    pub fn utf8_chunks(&self) -> Utf8Chunks<'_>

    Creates an iterator over the contiguous valid UTF-8 ranges of this -slice, and the non-UTF-8 fragments in between.

    -
    §Examples
    -

    This function formats arbitrary but mostly-UTF-8 bytes into Rust source -code in the form of a C-string literal (c"...").

    - -
    use std::fmt::Write as _;
    -
    -pub fn cstr_literal(bytes: &[u8]) -> String {
    -    let mut repr = String::new();
    -    repr.push_str("c\"");
    -    for chunk in bytes.utf8_chunks() {
    -        for ch in chunk.valid().chars() {
    -            // Escapes \0, \t, \r, \n, \\, \', \", and uses \u{...} for non-printable characters.
    -            write!(repr, "{}", ch.escape_debug()).unwrap();
    -        }
    -        for byte in chunk.invalid() {
    -            write!(repr, "\\x{:02X}", byte).unwrap();
    -        }
    -    }
    -    repr.push('"');
    -    repr
    -}
    -
    -fn main() {
    -    let lit = cstr_literal(b"\xferris the \xf0\x9f\xa6\x80\x07");
    -    let expected = stringify!(c"\xFErris the 🦀\u{7}");
    -    assert_eq!(lit, expected);
    -}
    -
    1.80.0 · source

    pub fn as_flattened(&self) -> &[T]

    Takes a &[[T; N]], and flattens it to a &[T].

    -
    §Panics
    -

    This panics if the length of the resulting slice would overflow a usize.

    -

    This is only possible when flattening a slice of arrays of zero-sized -types, and thus tends to be irrelevant in practice. If -size_of::<T>() > 0, this will never panic.

    -
    §Examples
    -
    assert_eq!([[1, 2, 3], [4, 5, 6]].as_flattened(), &[1, 2, 3, 4, 5, 6]);
    -
    -assert_eq!(
    -    [[1, 2, 3], [4, 5, 6]].as_flattened(),
    -    [[1, 2], [3, 4], [5, 6]].as_flattened(),
    -);
    -
    -let slice_of_empty_arrays: &[[i32; 0]] = &[[], [], [], [], []];
    -assert!(slice_of_empty_arrays.as_flattened().is_empty());
    -
    -let empty_slice_of_arrays: &[[u32; 10]] = &[];
    -assert!(empty_slice_of_arrays.as_flattened().is_empty());
    -
    1.80.0 · source

    pub fn as_flattened_mut(&mut self) -> &mut [T]

    Takes a &mut [[T; N]], and flattens it to a &mut [T].

    -
    §Panics
    -

    This panics if the length of the resulting slice would overflow a usize.

    -

    This is only possible when flattening a slice of arrays of zero-sized -types, and thus tends to be irrelevant in practice. If -size_of::<T>() > 0, this will never panic.

    -
    §Examples
    -
    fn add_5_to_all(slice: &mut [i32]) {
    -    for i in slice {
    -        *i += 5;
    -    }
    -}
    -
    -let mut array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
    -add_5_to_all(array.as_flattened_mut());
    -assert_eq!(array, [[6, 7, 8], [9, 10, 11], [12, 13, 14]]);
    -
    source

    pub fn sort_floats(&mut self)

    🔬This is a nightly-only experimental API. (sort_floats)

    Sorts the slice of floats.

    -

    This sort is in-place (i.e. does not allocate), O(n * log(n)) worst-case, and uses -the ordering defined by f32::total_cmp.

    -
    §Current implementation
    -

    This uses the same sorting algorithm as sort_unstable_by.

    -
    §Examples
    -
    #![feature(sort_floats)]
    -let mut v = [2.6, -5e-8, f32::NAN, 8.29, f32::INFINITY, -1.0, 0.0, -f32::INFINITY, -0.0];
    -
    -v.sort_floats();
    -let sorted = [-f32::INFINITY, -1.0, -5e-8, -0.0, 0.0, 2.6, 8.29, f32::INFINITY, f32::NAN];
    -assert_eq!(&v[..8], &sorted[..8]);
    -assert!(v[8].is_nan());
    -
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the slice.

    +
    1.0.0 · Source

    pub fn len(&self) -> usize

    Returns the number of elements in the slice.

    §Examples
    let a = [1, 2, 3];
     assert_eq!(a.len(), 3);
    -
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the slice has a length of 0.

    +
    1.0.0 · Source

    pub fn is_empty(&self) -> bool

    Returns true if the slice has a length of 0.

    §Examples
    let a = [1, 2, 3];
     assert!(!a.is_empty());
     
     let b: &[i32] = &[];
     assert!(b.is_empty());
    -
    1.0.0 · source

    pub fn first(&self) -> Option<&T>

    Returns the first element of the slice, or None if it is empty.

    +
    1.0.0 · Source

    pub fn first(&self) -> Option<&T>

    Returns the first element of the slice, or None if it is empty.

    §Examples
    let v = [10, 40, 30];
     assert_eq!(Some(&10), v.first());
     
     let w: &[i32] = &[];
     assert_eq!(None, w.first());
    -
    1.0.0 · source

    pub fn first_mut(&mut self) -> Option<&mut T>

    Returns a mutable pointer to the first element of the slice, or None if it is empty.

    +
    1.0.0 · Source

    pub fn first_mut(&mut self) -> Option<&mut T>

    Returns a mutable reference to the first element of the slice, or None if it is empty.

    §Examples
    let x = &mut [0, 1, 2];
     
    @@ -864,7 +967,7 @@ v.sort_floats();
     
     let y: &mut [i32] = &mut [];
     assert_eq!(None, y.first_mut());
    -
    1.5.0 · source

    pub fn split_first(&self) -> Option<(&T, &[T])>

    Returns the first and all the rest of the elements of the slice, or None if it is empty.

    +
    1.5.0 · Source

    pub fn split_first(&self) -> Option<(&T, &[T])>

    Returns the first and all the rest of the elements of the slice, or None if it is empty.

    §Examples
    let x = &[0, 1, 2];
     
    @@ -872,7 +975,7 @@ v.sort_floats();
         assert_eq!(first, &0);
         assert_eq!(elements, &[1, 2]);
     }
    -
    1.5.0 · source

    pub fn split_first_mut(&mut self) -> Option<(&mut T, &mut [T])>

    Returns the first and all the rest of the elements of the slice, or None if it is empty.

    +
    1.5.0 · Source

    pub fn split_first_mut(&mut self) -> Option<(&mut T, &mut [T])>

    Returns the first and all the rest of the elements of the slice, or None if it is empty.

    §Examples
    let x = &mut [0, 1, 2];
     
    @@ -882,7 +985,7 @@ v.sort_floats();
         elements[1] = 5;
     }
     assert_eq!(x, &[3, 4, 5]);
    -
    1.5.0 · source

    pub fn split_last(&self) -> Option<(&T, &[T])>

    Returns the last and all the rest of the elements of the slice, or None if it is empty.

    +
    1.5.0 · Source

    pub fn split_last(&self) -> Option<(&T, &[T])>

    Returns the last and all the rest of the elements of the slice, or None if it is empty.

    §Examples
    let x = &[0, 1, 2];
     
    @@ -890,7 +993,7 @@ v.sort_floats();
         assert_eq!(last, &2);
         assert_eq!(elements, &[0, 1]);
     }
    -
    1.5.0 · source

    pub fn split_last_mut(&mut self) -> Option<(&mut T, &mut [T])>

    Returns the last and all the rest of the elements of the slice, or None if it is empty.

    +
    1.5.0 · Source

    pub fn split_last_mut(&mut self) -> Option<(&mut T, &mut [T])>

    Returns the last and all the rest of the elements of the slice, or None if it is empty.

    §Examples
    let x = &mut [0, 1, 2];
     
    @@ -900,14 +1003,14 @@ v.sort_floats();
         elements[1] = 5;
     }
     assert_eq!(x, &[4, 5, 3]);
    -
    1.0.0 · source

    pub fn last(&self) -> Option<&T>

    Returns the last element of the slice, or None if it is empty.

    +
    1.0.0 · Source

    pub fn last(&self) -> Option<&T>

    Returns the last element of the slice, or None if it is empty.

    §Examples
    let v = [10, 40, 30];
     assert_eq!(Some(&30), v.last());
     
     let w: &[i32] = &[];
     assert_eq!(None, w.last());
    -
    1.0.0 · source

    pub fn last_mut(&mut self) -> Option<&mut T>

    Returns a mutable reference to the last item in the slice, or None if it is empty.

    +
    1.0.0 · Source

    pub fn last_mut(&mut self) -> Option<&mut T>

    Returns a mutable reference to the last item in the slice, or None if it is empty.

    §Examples
    let x = &mut [0, 1, 2];
     
    @@ -918,7 +1021,7 @@ v.sort_floats();
     
     let y: &mut [i32] = &mut [];
     assert_eq!(None, y.last_mut());
    -
    1.77.0 · source

    pub fn first_chunk<const N: usize>(&self) -> Option<&[T; N]>

    Return an array reference to the first N items in the slice.

    +
    1.77.0 · Source

    pub fn first_chunk<const N: usize>(&self) -> Option<&[T; N]>

    Returns an array reference to the first N items in the slice.

    If the slice is not at least N in length, this will return None.

    §Examples
    let u = [10, 40, 30];
    @@ -929,7 +1032,7 @@ v.sort_floats();
     
     let w: &[i32] = &[];
     assert_eq!(Some(&[]), w.first_chunk::<0>());
    -
    1.77.0 · source

    pub fn first_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

    Return a mutable array reference to the first N items in the slice.

    +
    1.77.0 · Source

    pub fn first_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

    Returns a mutable array reference to the first N items in the slice.

    If the slice is not at least N in length, this will return None.

    §Examples
    let x = &mut [0, 1, 2];
    @@ -941,7 +1044,7 @@ v.sort_floats();
     assert_eq!(x, &[5, 4, 2]);
     
     assert_eq!(None, x.first_chunk_mut::<4>());
    -
    1.77.0 · source

    pub fn split_first_chunk<const N: usize>(&self) -> Option<(&[T; N], &[T])>

    Return an array reference to the first N items in the slice and the remaining slice.

    +
    1.77.0 · Source

    pub fn split_first_chunk<const N: usize>(&self) -> Option<(&[T; N], &[T])>

    Returns an array reference to the first N items in the slice and the remaining slice.

    If the slice is not at least N in length, this will return None.

    §Examples
    let x = &[0, 1, 2];
    @@ -952,9 +1055,9 @@ v.sort_floats();
     }
     
     assert_eq!(None, x.split_first_chunk::<4>());
    -
    1.77.0 · source

    pub fn split_first_chunk_mut<const N: usize>( - &mut self -) -> Option<(&mut [T; N], &mut [T])>

    Return a mutable array reference to the first N items in the slice and the remaining +

    1.77.0 · Source

    pub fn split_first_chunk_mut<const N: usize>( + &mut self, +) -> Option<(&mut [T; N], &mut [T])>

    Returns a mutable array reference to the first N items in the slice and the remaining slice.

    If the slice is not at least N in length, this will return None.

    §Examples
    @@ -968,7 +1071,7 @@ slice.

    assert_eq!(x, &[3, 4, 5]); assert_eq!(None, x.split_first_chunk_mut::<4>());
    -
    1.77.0 · source

    pub fn split_last_chunk<const N: usize>(&self) -> Option<(&[T], &[T; N])>

    Return an array reference to the last N items in the slice and the remaining slice.

    +
    1.77.0 · Source

    pub fn split_last_chunk<const N: usize>(&self) -> Option<(&[T], &[T; N])>

    Returns an array reference to the last N items in the slice and the remaining slice.

    If the slice is not at least N in length, this will return None.

    §Examples
    let x = &[0, 1, 2];
    @@ -979,9 +1082,9 @@ slice.

    } assert_eq!(None, x.split_last_chunk::<4>());
    -
    1.77.0 · source

    pub fn split_last_chunk_mut<const N: usize>( - &mut self -) -> Option<(&mut [T], &mut [T; N])>

    Return a mutable array reference to the last N items in the slice and the remaining +

    1.77.0 · Source

    pub fn split_last_chunk_mut<const N: usize>( + &mut self, +) -> Option<(&mut [T], &mut [T; N])>

    Returns a mutable array reference to the last N items in the slice and the remaining slice.

    If the slice is not at least N in length, this will return None.

    §Examples
    @@ -995,7 +1098,7 @@ slice.

    assert_eq!(x, &[5, 3, 4]); assert_eq!(None, x.split_last_chunk_mut::<4>());
    -
    1.77.0 · source

    pub fn last_chunk<const N: usize>(&self) -> Option<&[T; N]>

    Return an array reference to the last N items in the slice.

    +
    1.77.0 · Source

    pub fn last_chunk<const N: usize>(&self) -> Option<&[T; N]>

    Returns an array reference to the last N items in the slice.

    If the slice is not at least N in length, this will return None.

    §Examples
    let u = [10, 40, 30];
    @@ -1006,7 +1109,7 @@ slice.

    let w: &[i32] = &[]; assert_eq!(Some(&[]), w.last_chunk::<0>());
    -
    1.77.0 · source

    pub fn last_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

    Return a mutable array reference to the last N items in the slice.

    +
    1.77.0 · Source

    pub fn last_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

    Returns a mutable array reference to the last N items in the slice.

    If the slice is not at least N in length, this will return None.

    §Examples
    let x = &mut [0, 1, 2];
    @@ -1018,7 +1121,7 @@ slice.

    assert_eq!(x, &[0, 10, 20]); assert_eq!(None, x.last_chunk_mut::<4>());
    -
    1.0.0 · source

    pub fn get<I>(&self, index: I) -> Option<&<I as SliceIndex<[T]>>::Output>
    where +

    1.0.0 · Source

    pub fn get<I>(&self, index: I) -> Option<&<I as SliceIndex<[T]>>::Output>
    where I: SliceIndex<[T]>,

    Returns a reference to an element or subslice depending on the type of index.

      @@ -1033,9 +1136,9 @@ or None if out of bounds. assert_eq!(Some(&[10, 40][..]), v.get(0..2)); assert_eq!(None, v.get(3)); assert_eq!(None, v.get(0..4));
    -
    1.0.0 · source

    pub fn get_mut<I>( +

    1.0.0 · Source

    pub fn get_mut<I>( &mut self, - index: I + index: I, ) -> Option<&mut <I as SliceIndex<[T]>>::Output>
    where I: SliceIndex<[T]>,

    Returns a mutable reference to an element or subslice depending on the type of index (see get) or None if the index is out of bounds.

    @@ -1046,14 +1149,14 @@ type of index (see *elem = 42; } assert_eq!(x, &[0, 42, 2]);
    -
    1.0.0 · source

    pub unsafe fn get_unchecked<I>( +

    1.0.0 · Source

    pub unsafe fn get_unchecked<I>( &self, - index: I + index: I, ) -> &<I as SliceIndex<[T]>>::Output
    where I: SliceIndex<[T]>,

    Returns a reference to an element or subslice, without doing bounds checking.

    For a safe alternative see get.

    -
    §Safety
    +
    §Safety

    Calling this method with an out-of-bounds index is undefined behavior even if the resulting reference is not used.

    You can think of this like .get(index).unwrap_unchecked(). It’s UB @@ -1066,14 +1169,14 @@ pointer. And it’s UB to call .get_unchecked(..len + 1), unsafe { assert_eq!(x.get_unchecked(1), &2); }

    -
    1.0.0 · source

    pub unsafe fn get_unchecked_mut<I>( +

    1.0.0 · Source

    pub unsafe fn get_unchecked_mut<I>( &mut self, - index: I + index: I, ) -> &mut <I as SliceIndex<[T]>>::Output
    where I: SliceIndex<[T]>,

    Returns a mutable reference to an element or subslice, without doing bounds checking.

    For a safe alternative see get_mut.

    -
    §Safety
    +
    §Safety

    Calling this method with an out-of-bounds index is undefined behavior even if the resulting reference is not used.

    You can think of this like .get_mut(index).unwrap_unchecked(). It’s @@ -1088,9 +1191,9 @@ to a pointer. And it’s UB to call .get_unchecked_mut(..len + 1), *elem = 13; } assert_eq!(x, &[1, 13, 4]);

    -
    1.0.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the slice’s buffer.

    +
    1.0.0 · Source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the slice’s buffer.

    The caller must ensure that the slice outlives the pointer this -function returns, or else it will end up pointing to garbage.

    +function returns, or else it will end up dangling.

    The caller must also ensure that the memory the pointer (non-transitively) points to is never written to (except inside an UnsafeCell) using this pointer or any pointer derived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    @@ -1105,9 +1208,9 @@ to be reallocated, which would also make any pointers to it invalid.

    assert_eq!(x.get_unchecked(i), &*x_ptr.add(i)); } }
    -
    1.0.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the slice’s buffer.

    +
    1.0.0 · Source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the slice’s buffer.

    The caller must ensure that the slice outlives the pointer this -function returns, or else it will end up pointing to garbage.

    +function returns, or else it will end up dangling.

    Modifying the container referenced by this slice may cause its buffer to be reallocated, which would also make any pointers to it invalid.

    §Examples
    @@ -1120,7 +1223,7 @@ to be reallocated, which would also make any pointers to it invalid.

    } } assert_eq!(x, &[3, 4, 6]);
    -
    1.48.0 · source

    pub fn as_ptr_range(&self) -> Range<*const T>

    Returns the two raw pointers spanning the slice.

    +
    1.48.0 · Source

    pub fn as_ptr_range(&self) -> Range<*const T>

    Returns the two raw pointers spanning the slice.

    The returned range is half-open, which means that the end pointer points one past the last element of the slice. This way, an empty slice is represented by two equal pointers, and the difference between @@ -1140,7 +1243,7 @@ element of this slice:

    assert!(a.as_ptr_range().contains(&x)); assert!(!a.as_ptr_range().contains(&y));
    -
    1.48.0 · source

    pub fn as_mut_ptr_range(&mut self) -> Range<*mut T>

    Returns the two unsafe mutable pointers spanning the slice.

    +
    1.48.0 · Source

    pub fn as_mut_ptr_range(&mut self) -> Range<*mut T>

    Returns the two unsafe mutable pointers spanning the slice.

    The returned range is half-open, which means that the end pointer points one past the last element of the slice. This way, an empty slice is represented by two equal pointers, and the difference between @@ -1151,27 +1254,31 @@ in the slice.

    This function is useful for interacting with foreign interfaces which use two pointers to refer to a range of elements in memory, as is common in C++.

    -
    1.0.0 · source

    pub fn swap(&mut self, a: usize, b: usize)

    Swaps two elements in the slice.

    +
    Source

    pub fn as_array<const N: usize>(&self) -> Option<&[T; N]>

    🔬This is a nightly-only experimental API. (slice_as_array)

    Gets a reference to the underlying array.

    +

    If N is not exactly equal to the length of self, then this method returns None.

    +
    Source

    pub fn as_mut_array<const N: usize>(&mut self) -> Option<&mut [T; N]>

    🔬This is a nightly-only experimental API. (slice_as_array)

    Gets a mutable reference to the slice’s underlying array.

    +

    If N is not exactly equal to the length of self, then this method returns None.

    +
    1.0.0 · Source

    pub fn swap(&mut self, a: usize, b: usize)

    Swaps two elements in the slice.

    If a equals to b, it’s guaranteed that elements won’t change value.

    §Arguments
    • a - The index of the first element
    • b - The index of the second element
    -
    §Panics
    +
    §Panics

    Panics if a or b are out of bounds.

    §Examples
    let mut v = ["a", "b", "c", "d", "e"];
     v.swap(2, 4);
     assert!(v == ["a", "b", "e", "d", "c"]);
    -
    source

    pub unsafe fn swap_unchecked(&mut self, a: usize, b: usize)

    🔬This is a nightly-only experimental API. (slice_swap_unchecked)

    Swaps two elements in the slice, without doing bounds checking.

    +
    Source

    pub unsafe fn swap_unchecked(&mut self, a: usize, b: usize)

    🔬This is a nightly-only experimental API. (slice_swap_unchecked)

    Swaps two elements in the slice, without doing bounds checking.

    For a safe alternative see swap.

    §Arguments
    • a - The index of the first element
    • b - The index of the second element
    -
    §Safety
    +
    §Safety

    Calling this method with an out-of-bounds index is undefined behavior. The caller has to ensure that a < self.len() and b < self.len().

    §Examples
    @@ -1181,12 +1288,12 @@ The caller has to ensure that a < self.len() and b < se // SAFETY: we know that 1 and 3 are both indices of the slice unsafe { v.swap_unchecked(1, 3) }; assert!(v == ["a", "d", "c", "b"]);
    -
    1.0.0 · source

    pub fn reverse(&mut self)

    Reverses the order of elements in the slice, in place.

    +
    1.0.0 · Source

    pub fn reverse(&mut self)

    Reverses the order of elements in the slice, in place.

    §Examples
    let mut v = [1, 2, 3];
     v.reverse();
     assert!(v == [3, 2, 1]);
    -
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the slice.

    +
    1.0.0 · Source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the slice.

    The iterator yields all items from start to end.

    §Examples
    let x = &[1, 2, 4];
    @@ -1196,7 +1303,7 @@ v.reverse();
     assert_eq!(iterator.next(), Some(&2));
     assert_eq!(iterator.next(), Some(&4));
     assert_eq!(iterator.next(), None);
    -
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns an iterator that allows modifying each value.

    +
    1.0.0 · Source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns an iterator that allows modifying each value.

    The iterator yields all items from start to end.

    §Examples
    let x = &mut [1, 2, 4];
    @@ -1204,11 +1311,11 @@ v.reverse();
         *elem += 2;
     }
     assert_eq!(x, &[3, 4, 6]);
    -
    1.0.0 · source

    pub fn windows(&self, size: usize) -> Windows<'_, T>

    Returns an iterator over all contiguous windows of length +

    1.0.0 · Source

    pub fn windows(&self, size: usize) -> Windows<'_, T>

    Returns an iterator over all contiguous windows of length size. The windows overlap. If the slice is shorter than size, the iterator returns no values.

    -
    §Panics
    -

    Panics if size is 0.

    +
    §Panics
    +

    Panics if size is zero.

    §Examples
    let slice = ['l', 'o', 'r', 'e', 'm'];
     let mut iter = slice.windows(3);
    @@ -1235,15 +1342,15 @@ conjunction with windows to accomplish something similar:

    Cell::swap(&w[0], &w[2]); } assert_eq!(array, ['s', 't', ' ', '2', '0', '1', '5', 'u', 'R']);
    -
    1.0.0 · source

    pub fn chunks(&self, chunk_size: usize) -> Chunks<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the +

    1.0.0 · Source

    pub fn chunks(&self, chunk_size: usize) -> Chunks<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the beginning of the slice.

    The chunks are slices and do not overlap. If chunk_size does not divide the length of the slice, then the last chunk will not have length chunk_size.

    See chunks_exact for a variant of this iterator that returns chunks of always exactly chunk_size elements, and rchunks for the same iterator but starting at the end of the slice.

    -
    §Panics
    -

    Panics if chunk_size is 0.

    +
    §Panics
    +

    Panics if chunk_size is zero.

    §Examples
    let slice = ['l', 'o', 'r', 'e', 'm'];
     let mut iter = slice.chunks(2);
    @@ -1251,15 +1358,15 @@ slice.

    assert_eq!(iter.next().unwrap(), &['r', 'e']); assert_eq!(iter.next().unwrap(), &['m']); assert!(iter.next().is_none());
    -
    1.0.0 · source

    pub fn chunks_mut(&mut self, chunk_size: usize) -> ChunksMut<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the +

    1.0.0 · Source

    pub fn chunks_mut(&mut self, chunk_size: usize) -> ChunksMut<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the beginning of the slice.

    The chunks are mutable slices, and do not overlap. If chunk_size does not divide the length of the slice, then the last chunk will not have length chunk_size.

    See chunks_exact_mut for a variant of this iterator that returns chunks of always exactly chunk_size elements, and rchunks_mut for the same iterator but starting at the end of the slice.

    -
    §Panics
    -

    Panics if chunk_size is 0.

    +
    §Panics
    +

    Panics if chunk_size is zero.

    §Examples
    let v = &mut [0, 0, 0, 0, 0];
     let mut count = 1;
    @@ -1271,7 +1378,7 @@ the end of the slice.

    count += 1; } assert_eq!(v, &[1, 1, 2, 2, 3]);
    -
    1.31.0 · source

    pub fn chunks_exact(&self, chunk_size: usize) -> ChunksExact<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the +

    1.31.0 · Source

    pub fn chunks_exact(&self, chunk_size: usize) -> ChunksExact<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the beginning of the slice.

    The chunks are slices and do not overlap. If chunk_size does not divide the length of the slice, then the last up to chunk_size-1 elements will be omitted and can be retrieved @@ -1280,8 +1387,8 @@ from the remainder function of the iterator.

    resulting code better than in the case of chunks.

    See chunks for a variant of this iterator that also returns the remainder as a smaller chunk, and rchunks_exact for the same iterator but starting at the end of the slice.

    -
    §Panics
    -

    Panics if chunk_size is 0.

    +
    §Panics
    +

    Panics if chunk_size is zero.

    §Examples
    let slice = ['l', 'o', 'r', 'e', 'm'];
     let mut iter = slice.chunks_exact(2);
    @@ -1289,7 +1396,7 @@ chunk, and assert_eq!(iter.next().unwrap(), &['r', 'e']);
     assert!(iter.next().is_none());
     assert_eq!(iter.remainder(), &['m']);
    -
    1.31.0 · source

    pub fn chunks_exact_mut(&mut self, chunk_size: usize) -> ChunksExactMut<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the +

    1.31.0 · Source

    pub fn chunks_exact_mut(&mut self, chunk_size: usize) -> ChunksExactMut<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the beginning of the slice.

    The chunks are mutable slices, and do not overlap. If chunk_size does not divide the length of the slice, then the last up to chunk_size-1 elements will be omitted and can be @@ -1299,8 +1406,8 @@ resulting code better than in the case of chunks_mut for a variant of this iterator that also returns the remainder as a smaller chunk, and rchunks_exact_mut for the same iterator but starting at the end of the slice.

    -
    §Panics
    -

    Panics if chunk_size is 0.

    +
    §Panics
    +

    Panics if chunk_size is zero.

    §Examples
    let v = &mut [0, 0, 0, 0, 0];
     let mut count = 1;
    @@ -1312,9 +1419,9 @@ the slice.

    count += 1; } assert_eq!(v, &[1, 1, 2, 2, 0]);
    -
    source

    pub unsafe fn as_chunks_unchecked<const N: usize>(&self) -> &[[T; N]]

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, +

    Source

    pub unsafe fn as_chunks_unchecked<const N: usize>(&self) -> &[[T; N]]

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, assuming that there’s no remainder.

    -
    §Safety
    +
    §Safety

    This may only be called when

    • The slice splits exactly into N-element chunks (aka self.len() % N == 0).
    • @@ -1335,11 +1442,11 @@ assuming that there’s no remainder.

      // These would be unsound: // let chunks: &[[_; 5]] = slice.as_chunks_unchecked() // The slice length is not a multiple of 5 // let chunks: &[[_; 0]] = slice.as_chunks_unchecked() // Zero-length chunks are never allowed
    -
    source

    pub fn as_chunks<const N: usize>(&self) -> (&[[T; N]], &[T])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, +

    Source

    pub fn as_chunks<const N: usize>(&self) -> (&[[T; N]], &[T])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, starting at the beginning of the slice, and a remainder slice with length strictly less than N.

    -
    §Panics
    -

    Panics if N is 0. This check will most probably get changed to a compile time +

    §Panics
    +

    Panics if N is zero. This check will most probably get changed to a compile time error before this method gets stabilized.

    §Examples
    #![feature(slice_as_chunks)]
    @@ -1356,11 +1463,11 @@ error before this method gets stabilized.

    panic!("slice didn't have even length") }; assert_eq!(chunks, &[['R', 'u'], ['s', 't']]);
    -
    source

    pub fn as_rchunks<const N: usize>(&self) -> (&[T], &[[T; N]])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, +

    Source

    pub fn as_rchunks<const N: usize>(&self) -> (&[T], &[[T; N]])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, starting at the end of the slice, and a remainder slice with length strictly less than N.

    -
    §Panics
    -

    Panics if N is 0. This check will most probably get changed to a compile time +

    §Panics
    +

    Panics if N is zero. This check will most probably get changed to a compile time error before this method gets stabilized.

    §Examples
    #![feature(slice_as_chunks)]
    @@ -1368,14 +1475,14 @@ error before this method gets stabilized.

    let (remainder, chunks) = slice.as_rchunks(); assert_eq!(remainder, &['l']); assert_eq!(chunks, &[['o', 'r'], ['e', 'm']]);
    -
    source

    pub fn array_chunks<const N: usize>(&self) -> ArrayChunks<'_, T, N>

    🔬This is a nightly-only experimental API. (array_chunks)

    Returns an iterator over N elements of the slice at a time, starting at the +

    Source

    pub fn array_chunks<const N: usize>(&self) -> ArrayChunks<'_, T, N>

    🔬This is a nightly-only experimental API. (array_chunks)

    Returns an iterator over N elements of the slice at a time, starting at the beginning of the slice.

    The chunks are array references and do not overlap. If N does not divide the length of the slice, then the last up to N-1 elements will be omitted and can be retrieved from the remainder function of the iterator.

    This method is the const generic equivalent of chunks_exact.

    -
    §Panics
    -

    Panics if N is 0. This check will most probably get changed to a compile time +

    §Panics
    +

    Panics if N is zero. This check will most probably get changed to a compile time error before this method gets stabilized.

    §Examples
    #![feature(array_chunks)]
    @@ -1385,11 +1492,11 @@ error before this method gets stabilized.

    assert_eq!(iter.next().unwrap(), &['r', 'e']); assert!(iter.next().is_none()); assert_eq!(iter.remainder(), &['m']);
    -
    source

    pub unsafe fn as_chunks_unchecked_mut<const N: usize>( - &mut self +

    Source

    pub unsafe fn as_chunks_unchecked_mut<const N: usize>( + &mut self, ) -> &mut [[T; N]]

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, assuming that there’s no remainder.

    -
    §Safety
    +
    §Safety

    This may only be called when

    • The slice splits exactly into N-element chunks (aka self.len() % N == 0).
    • @@ -1412,11 +1519,11 @@ chunks[1] = ['a', // These would be unsound: // let chunks: &[[_; 5]] = slice.as_chunks_unchecked_mut() // The slice length is not a multiple of 5 // let chunks: &[[_; 0]] = slice.as_chunks_unchecked_mut() // Zero-length chunks are never allowed
    -
    source

    pub fn as_chunks_mut<const N: usize>(&mut self) -> (&mut [[T; N]], &mut [T])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, +

    Source

    pub fn as_chunks_mut<const N: usize>(&mut self) -> (&mut [[T; N]], &mut [T])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, starting at the beginning of the slice, and a remainder slice with length strictly less than N.

    -
    §Panics
    -

    Panics if N is 0. This check will most probably get changed to a compile time +

    §Panics
    +

    Panics if N is zero. This check will most probably get changed to a compile time error before this method gets stabilized.

    §Examples
    #![feature(slice_as_chunks)]
    @@ -1430,11 +1537,11 @@ remainder[0] = 9;
         count += 1;
     }
     assert_eq!(v, &[1, 1, 2, 2, 9]);
    -
    source

    pub fn as_rchunks_mut<const N: usize>(&mut self) -> (&mut [T], &mut [[T; N]])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, +

    Source

    pub fn as_rchunks_mut<const N: usize>(&mut self) -> (&mut [T], &mut [[T; N]])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, starting at the end of the slice, and a remainder slice with length strictly less than N.

    -
    §Panics
    -

    Panics if N is 0. This check will most probably get changed to a compile time +

    §Panics
    +

    Panics if N is zero. This check will most probably get changed to a compile time error before this method gets stabilized.

    §Examples
    #![feature(slice_as_chunks)]
    @@ -1448,14 +1555,14 @@ remainder[0] = 9;
         count += 1;
     }
     assert_eq!(v, &[9, 1, 1, 2, 2]);
    -
    source

    pub fn array_chunks_mut<const N: usize>(&mut self) -> ArrayChunksMut<'_, T, N>

    🔬This is a nightly-only experimental API. (array_chunks)

    Returns an iterator over N elements of the slice at a time, starting at the +

    Source

    pub fn array_chunks_mut<const N: usize>(&mut self) -> ArrayChunksMut<'_, T, N>

    🔬This is a nightly-only experimental API. (array_chunks)

    Returns an iterator over N elements of the slice at a time, starting at the beginning of the slice.

    The chunks are mutable array references and do not overlap. If N does not divide the length of the slice, then the last up to N-1 elements will be omitted and can be retrieved from the into_remainder function of the iterator.

    This method is the const generic equivalent of chunks_exact_mut.

    -
    §Panics
    -

    Panics if N is 0. This check will most probably get changed to a compile time +

    §Panics
    +

    Panics if N is zero. This check will most probably get changed to a compile time error before this method gets stabilized.

    §Examples
    #![feature(array_chunks)]
    @@ -1467,12 +1574,12 @@ error before this method gets stabilized.

    count += 1; } assert_eq!(v, &[1, 1, 2, 2, 0]);
    -
    source

    pub fn array_windows<const N: usize>(&self) -> ArrayWindows<'_, T, N>

    🔬This is a nightly-only experimental API. (array_windows)

    Returns an iterator over overlapping windows of N elements of a slice, +

    Source

    pub fn array_windows<const N: usize>(&self) -> ArrayWindows<'_, T, N>

    🔬This is a nightly-only experimental API. (array_windows)

    Returns an iterator over overlapping windows of N elements of a slice, starting at the beginning of the slice.

    This is the const generic equivalent of windows.

    If N is greater than the size of the slice, it will return no windows.

    -
    §Panics
    -

    Panics if N is 0. This check will most probably get changed to a compile time +

    §Panics
    +

    Panics if N is zero. This check will most probably get changed to a compile time error before this method gets stabilized.

    §Examples
    #![feature(array_windows)]
    @@ -1482,15 +1589,15 @@ error before this method gets stabilized.

    assert_eq!(iter.next().unwrap(), &[1, 2]); assert_eq!(iter.next().unwrap(), &[2, 3]); assert!(iter.next().is_none());
    -
    1.31.0 · source

    pub fn rchunks(&self, chunk_size: usize) -> RChunks<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the end +

    1.31.0 · Source

    pub fn rchunks(&self, chunk_size: usize) -> RChunks<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the end of the slice.

    The chunks are slices and do not overlap. If chunk_size does not divide the length of the slice, then the last chunk will not have length chunk_size.

    See rchunks_exact for a variant of this iterator that returns chunks of always exactly chunk_size elements, and chunks for the same iterator but starting at the beginning of the slice.

    -
    §Panics
    -

    Panics if chunk_size is 0.

    +
    §Panics
    +

    Panics if chunk_size is zero.

    §Examples
    let slice = ['l', 'o', 'r', 'e', 'm'];
     let mut iter = slice.rchunks(2);
    @@ -1498,15 +1605,15 @@ of the slice.

    assert_eq!(iter.next().unwrap(), &['o', 'r']); assert_eq!(iter.next().unwrap(), &['l']); assert!(iter.next().is_none());
    -
    1.31.0 · source

    pub fn rchunks_mut(&mut self, chunk_size: usize) -> RChunksMut<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the end +

    1.31.0 · Source

    pub fn rchunks_mut(&mut self, chunk_size: usize) -> RChunksMut<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the end of the slice.

    The chunks are mutable slices, and do not overlap. If chunk_size does not divide the length of the slice, then the last chunk will not have length chunk_size.

    See rchunks_exact_mut for a variant of this iterator that returns chunks of always exactly chunk_size elements, and chunks_mut for the same iterator but starting at the beginning of the slice.

    -
    §Panics
    -

    Panics if chunk_size is 0.

    +
    §Panics
    +

    Panics if chunk_size is zero.

    §Examples
    let v = &mut [0, 0, 0, 0, 0];
     let mut count = 1;
    @@ -1518,7 +1625,7 @@ beginning of the slice.

    count += 1; } assert_eq!(v, &[3, 2, 2, 1, 1]);
    -
    1.31.0 · source

    pub fn rchunks_exact(&self, chunk_size: usize) -> RChunksExact<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the +

    1.31.0 · Source

    pub fn rchunks_exact(&self, chunk_size: usize) -> RChunksExact<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the end of the slice.

    The chunks are slices and do not overlap. If chunk_size does not divide the length of the slice, then the last up to chunk_size-1 elements will be omitted and can be retrieved @@ -1528,8 +1635,8 @@ resulting code better than in the case of rchunks for a variant of this iterator that also returns the remainder as a smaller chunk, and chunks_exact for the same iterator but starting at the beginning of the slice.

    -
    §Panics
    -

    Panics if chunk_size is 0.

    +
    §Panics
    +

    Panics if chunk_size is zero.

    §Examples
    let slice = ['l', 'o', 'r', 'e', 'm'];
     let mut iter = slice.rchunks_exact(2);
    @@ -1537,7 +1644,7 @@ slice.

    assert_eq!(iter.next().unwrap(), &['o', 'r']); assert!(iter.next().is_none()); assert_eq!(iter.remainder(), &['l']);
    -
    1.31.0 · source

    pub fn rchunks_exact_mut(&mut self, chunk_size: usize) -> RChunksExactMut<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the end +

    1.31.0 · Source

    pub fn rchunks_exact_mut(&mut self, chunk_size: usize) -> RChunksExactMut<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the end of the slice.

    The chunks are mutable slices, and do not overlap. If chunk_size does not divide the length of the slice, then the last up to chunk_size-1 elements will be omitted and can be @@ -1547,8 +1654,8 @@ resulting code better than in the case of rchunks_mut for a variant of this iterator that also returns the remainder as a smaller chunk, and chunks_exact_mut for the same iterator but starting at the beginning of the slice.

    -
    §Panics
    -

    Panics if chunk_size is 0.

    +
    §Panics
    +

    Panics if chunk_size is zero.

    §Examples
    let v = &mut [0, 0, 0, 0, 0];
     let mut count = 1;
    @@ -1560,7 +1667,7 @@ of the slice.

    count += 1; } assert_eq!(v, &[0, 2, 2, 1, 1]);
    -
    1.77.0 · source

    pub fn chunk_by<F>(&self, pred: F) -> ChunkBy<'_, T, F>
    where +

    1.77.0 · Source

    pub fn chunk_by<F>(&self, pred: F) -> ChunkBy<'_, T, F>
    where F: FnMut(&T, &T) -> bool,

    Returns an iterator over the slice producing non-overlapping runs of elements using the predicate to separate them.

    The predicate is called for every pair of consecutive elements, @@ -1585,7 +1692,7 @@ followed by slice[1] and slice[2], and so on.

    assert_eq!(iter.next(), Some(&[2, 3][..])); assert_eq!(iter.next(), Some(&[2, 3, 4][..])); assert_eq!(iter.next(), None);
    -
    1.77.0 · source

    pub fn chunk_by_mut<F>(&mut self, pred: F) -> ChunkByMut<'_, T, F>
    where +

    1.77.0 · Source

    pub fn chunk_by_mut<F>(&mut self, pred: F) -> ChunkByMut<'_, T, F>
    where F: FnMut(&T, &T) -> bool,

    Returns an iterator over the slice producing non-overlapping mutable runs of elements using the predicate to separate them.

    The predicate is called for every pair of consecutive elements, @@ -1610,39 +1717,39 @@ followed by slice[1] and slice[2], and so on.

    assert_eq!(iter.next(), Some(&mut [2, 3][..])); assert_eq!(iter.next(), Some(&mut [2, 3, 4][..])); assert_eq!(iter.next(), None);
    -
    1.0.0 · source

    pub fn split_at(&self, mid: usize) -> (&[T], &[T])

    Divides one slice into two at an index.

    -

    The first will contain all indices from [0, mid) (excluding -the index mid itself) and the second will contain all -indices from [mid, len) (excluding the index len itself).

    -
    §Panics
    -

    Panics if mid > len. For a non-panicking alternative see -split_at_checked.

    -
    §Examples
    -
    let v = [1, 2, 3, 4, 5, 6];
    -
    -{
    -   let (left, right) = v.split_at(0);
    -   assert_eq!(left, []);
    -   assert_eq!(right, [1, 2, 3, 4, 5, 6]);
    -}
    -
    -{
    -    let (left, right) = v.split_at(2);
    -    assert_eq!(left, [1, 2]);
    -    assert_eq!(right, [3, 4, 5, 6]);
    -}
    -
    -{
    -    let (left, right) = v.split_at(6);
    -    assert_eq!(left, [1, 2, 3, 4, 5, 6]);
    -    assert_eq!(right, []);
    -}
    -
    1.0.0 · source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T])

    Divides one mutable slice into two at an index.

    +
    1.0.0 · Source

    pub fn split_at(&self, mid: usize) -> (&[T], &[T])

    Divides one slice into two at an index.

    The first will contain all indices from [0, mid) (excluding the index mid itself) and the second will contain all indices from [mid, len) (excluding the index len itself).

    §Panics

    Panics if mid > len. For a non-panicking alternative see +split_at_checked.

    +
    §Examples
    +
    let v = ['a', 'b', 'c'];
    +
    +{
    +   let (left, right) = v.split_at(0);
    +   assert_eq!(left, []);
    +   assert_eq!(right, ['a', 'b', 'c']);
    +}
    +
    +{
    +    let (left, right) = v.split_at(2);
    +    assert_eq!(left, ['a', 'b']);
    +    assert_eq!(right, ['c']);
    +}
    +
    +{
    +    let (left, right) = v.split_at(3);
    +    assert_eq!(left, ['a', 'b', 'c']);
    +    assert_eq!(right, []);
    +}
    +
    1.0.0 · Source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T])

    Divides one mutable slice into two at an index.

    +

    The first will contain all indices from [0, mid) (excluding +the index mid itself) and the second will contain all +indices from [mid, len) (excluding the index len itself).

    +
    §Panics
    +

    Panics if mid > len. For a non-panicking alternative see split_at_mut_checked.

    §Examples
    let mut v = [1, 0, 3, 0, 5, 6];
    @@ -1652,44 +1759,44 @@ indices from [mid, len) (excluding the index len itsel
     left[1] = 2;
     right[1] = 4;
     assert_eq!(v, [1, 2, 3, 4, 5, 6]);
    -
    1.79.0 · source

    pub unsafe fn split_at_unchecked(&self, mid: usize) -> (&[T], &[T])

    Divides one slice into two at an index, without doing bounds checking.

    +
    1.79.0 · Source

    pub unsafe fn split_at_unchecked(&self, mid: usize) -> (&[T], &[T])

    Divides one slice into two at an index, without doing bounds checking.

    The first will contain all indices from [0, mid) (excluding the index mid itself) and the second will contain all indices from [mid, len) (excluding the index len itself).

    For a safe alternative see split_at.

    -
    §Safety
    +
    §Safety

    Calling this method with an out-of-bounds index is undefined behavior even if the resulting reference is not used. The caller has to ensure that 0 <= mid <= self.len().

    §Examples
    -
    let v = [1, 2, 3, 4, 5, 6];
    +
    let v = ['a', 'b', 'c'];
     
     unsafe {
        let (left, right) = v.split_at_unchecked(0);
        assert_eq!(left, []);
    -   assert_eq!(right, [1, 2, 3, 4, 5, 6]);
    +   assert_eq!(right, ['a', 'b', 'c']);
     }
     
     unsafe {
         let (left, right) = v.split_at_unchecked(2);
    -    assert_eq!(left, [1, 2]);
    -    assert_eq!(right, [3, 4, 5, 6]);
    +    assert_eq!(left, ['a', 'b']);
    +    assert_eq!(right, ['c']);
     }
     
     unsafe {
    -    let (left, right) = v.split_at_unchecked(6);
    -    assert_eq!(left, [1, 2, 3, 4, 5, 6]);
    +    let (left, right) = v.split_at_unchecked(3);
    +    assert_eq!(left, ['a', 'b', 'c']);
         assert_eq!(right, []);
     }
    -
    1.79.0 · source

    pub unsafe fn split_at_mut_unchecked( +

    1.79.0 · Source

    pub unsafe fn split_at_mut_unchecked( &mut self, - mid: usize + mid: usize, ) -> (&mut [T], &mut [T])

    Divides one mutable slice into two at an index, without doing bounds checking.

    The first will contain all indices from [0, mid) (excluding the index mid itself) and the second will contain all indices from [mid, len) (excluding the index len itself).

    For a safe alternative see split_at_mut.

    -
    §Safety
    +
    §Safety

    Calling this method with an out-of-bounds index is undefined behavior even if the resulting reference is not used. The caller has to ensure that 0 <= mid <= self.len().

    @@ -1704,7 +1811,7 @@ even if the resulting reference is not used. The caller has to ensure that right[1] = 4; } assert_eq!(v, [1, 2, 3, 4, 5, 6]);
    -
    1.80.0 · source

    pub fn split_at_checked(&self, mid: usize) -> Option<(&[T], &[T])>

    Divides one slice into two at an index, returning None if the slice is +

    1.80.0 · Source

    pub fn split_at_checked(&self, mid: usize) -> Option<(&[T], &[T])>

    Divides one slice into two at an index, returning None if the slice is too short.

    If mid ≤ len returns a pair of slices where the first will contain all indices from [0, mid) (excluding the index mid itself) and the @@ -1733,9 +1840,9 @@ second will contain all indices from [mid, len) (excluding the inde } assert_eq!(None, v.split_at_checked(7));

    -
    1.80.0 · source

    pub fn split_at_mut_checked( +

    1.80.0 · Source

    pub fn split_at_mut_checked( &mut self, - mid: usize + mid: usize, ) -> Option<(&mut [T], &mut [T])>

    Divides one mutable slice into two at an index, returning None if the slice is too short.

    If mid ≤ len returns a pair of slices where the first will contain all @@ -1755,7 +1862,7 @@ second will contain all indices from [mid, len) (excluding the inde assert_eq!(v, [1, 2, 3, 4, 5, 6]); assert_eq!(None, v.split_at_mut_checked(7));

    -
    1.0.0 · source

    pub fn split<F>(&self, pred: F) -> Split<'_, T, F>
    where +

    1.0.0 · Source

    pub fn split<F>(&self, pred: F) -> Split<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match pred. The matched element is not contained in the subslices.

    §Examples
    @@ -1786,7 +1893,7 @@ present between them:

    assert_eq!(iter.next().unwrap(), &[]); assert_eq!(iter.next().unwrap(), &[20]); assert!(iter.next().is_none());
    -
    1.0.0 · source

    pub fn split_mut<F>(&mut self, pred: F) -> SplitMut<'_, T, F>
    where +

    1.0.0 · Source

    pub fn split_mut<F>(&mut self, pred: F) -> SplitMut<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over mutable subslices separated by elements that match pred. The matched element is not contained in the subslices.

    §Examples
    @@ -1796,7 +1903,7 @@ match pred. The matched element is not contained in the subslices.< group[0] = 1; } assert_eq!(v, [1, 40, 30, 1, 60, 1]);
    -
    1.51.0 · source

    pub fn split_inclusive<F>(&self, pred: F) -> SplitInclusive<'_, T, F>
    where +

    1.51.0 · Source

    pub fn split_inclusive<F>(&self, pred: F) -> SplitInclusive<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match pred. The matched element is contained in the end of the previous subslice as a terminator.

    @@ -1817,7 +1924,7 @@ That slice will be the last item returned by the iterator.

    assert_eq!(iter.next().unwrap(), &[3]); assert_eq!(iter.next().unwrap(), &[10, 40, 33]); assert!(iter.next().is_none());
    -
    1.51.0 · source

    pub fn split_inclusive_mut<F>(&mut self, pred: F) -> SplitInclusiveMut<'_, T, F>
    where +

    1.51.0 · Source

    pub fn split_inclusive_mut<F>(&mut self, pred: F) -> SplitInclusiveMut<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over mutable subslices separated by elements that match pred. The matched element is contained in the previous subslice as a terminator.

    @@ -1829,7 +1936,7 @@ subslice as a terminator.

    group[terminator_idx] = 1; } assert_eq!(v, [10, 40, 1, 20, 1, 1]);
    -
    1.27.0 · source

    pub fn rsplit<F>(&self, pred: F) -> RSplit<'_, T, F>
    where +

    1.27.0 · Source

    pub fn rsplit<F>(&self, pred: F) -> RSplit<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match pred, starting at the end of the slice and working backwards. The matched element is not contained in the subslices.

    @@ -1850,7 +1957,7 @@ slice will be the first (or last) item returned by the iterator.

    assert_eq!(it.next().unwrap(), &[1, 1]); assert_eq!(it.next().unwrap(), &[]); assert_eq!(it.next(), None);
    -
    1.27.0 · source

    pub fn rsplit_mut<F>(&mut self, pred: F) -> RSplitMut<'_, T, F>
    where +

    1.27.0 · Source

    pub fn rsplit_mut<F>(&mut self, pred: F) -> RSplitMut<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over mutable subslices separated by elements that match pred, starting at the end of the slice and working backwards. The matched element is not contained in the subslices.

    @@ -1863,7 +1970,7 @@ backwards. The matched element is not contained in the subslices.

    group[0] = count; } assert_eq!(v, [3, 400, 300, 2, 600, 1]);
    -
    1.0.0 · source

    pub fn splitn<F>(&self, n: usize, pred: F) -> SplitN<'_, T, F>
    where +

    1.0.0 · Source

    pub fn splitn<F>(&self, n: usize, pred: F) -> SplitN<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match pred, limited to returning at most n items. The matched element is not contained in the subslices.

    @@ -1878,7 +1985,7 @@ slice.

    for group in v.splitn(2, |num| *num % 3 == 0) { println!("{group:?}"); }
    -
    1.0.0 · source

    pub fn splitn_mut<F>(&mut self, n: usize, pred: F) -> SplitNMut<'_, T, F>
    where +

    1.0.0 · Source

    pub fn splitn_mut<F>(&mut self, n: usize, pred: F) -> SplitNMut<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over mutable subslices separated by elements that match pred, limited to returning at most n items. The matched element is not contained in the subslices.

    @@ -1891,7 +1998,7 @@ slice.

    group[0] = 1; } assert_eq!(v, [1, 40, 30, 1, 60, 50]);
    -
    1.0.0 · source

    pub fn rsplitn<F>(&self, n: usize, pred: F) -> RSplitN<'_, T, F>
    where +

    1.0.0 · Source

    pub fn rsplitn<F>(&self, n: usize, pred: F) -> RSplitN<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match pred limited to returning at most n items. This starts at the end of the slice and works backwards. The matched element is not contained in @@ -1907,7 +2014,7 @@ by 3 (i.e., [50], [10, 40, 30, 20]):

    for group in v.rsplitn(2, |num| *num % 3 == 0) { println!("{group:?}"); }
    -
    1.0.0 · source

    pub fn rsplitn_mut<F>(&mut self, n: usize, pred: F) -> RSplitNMut<'_, T, F>
    where +

    1.0.0 · Source

    pub fn rsplitn_mut<F>(&mut self, n: usize, pred: F) -> RSplitNMut<'_, T, F>
    where F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match pred limited to returning at most n items. This starts at the end of the slice and works backwards. The matched element is not contained in @@ -1921,7 +2028,7 @@ slice.

    group[0] = 1; } assert_eq!(s, [1, 40, 30, 20, 60, 1]);
    -
    source

    pub fn split_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
    where +

    Source

    pub fn split_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
    where F: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (slice_split_once)

    Splits the slice on the first element that matches the specified predicate.

    If any matching elements are present in the slice, returns the prefix @@ -1935,7 +2042,7 @@ included. If no elements match, returns None.

    &[3, 2, 4][..] ))); assert_eq!(s.split_once(|&x| x == 0), None);
    -
    source

    pub fn rsplit_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
    where +

    Source

    pub fn rsplit_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
    where F: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (slice_split_once)

    Splits the slice on the last element that matches the specified predicate.

    If any matching elements are present in the slice, returns the prefix @@ -1949,7 +2056,7 @@ included. If no elements match, returns None.

    &[4][..] ))); assert_eq!(s.rsplit_once(|&x| x == 0), None);
    -
    1.0.0 · source

    pub fn contains(&self, x: &T) -> bool
    where +

    1.0.0 · Source

    pub fn contains(&self, x: &T) -> bool
    where T: PartialEq,

    Returns true if the slice contains an element with the given value.

    This operation is O(n).

    Note that if you have a sorted slice, binary_search may be faster.

    @@ -1964,7 +2071,7 @@ use iter().any:

    let v = [String::from("hello"), String::from("world")]; // slice of `String`
     assert!(v.iter().any(|e| e == "hello")); // search with `&str`
     assert!(!v.iter().any(|e| e == "hi"));
    -
    1.0.0 · source

    pub fn starts_with(&self, needle: &[T]) -> bool
    where +

    1.0.0 · Source

    pub fn starts_with(&self, needle: &[T]) -> bool
    where T: PartialEq,

    Returns true if needle is a prefix of the slice or equal to the slice.

    §Examples
    let v = [10, 40, 30];
    @@ -1979,7 +2086,7 @@ use iter().any:

    assert!(v.starts_with(&[])); let v: &[u8] = &[]; assert!(v.starts_with(&[]));
    -
    1.0.0 · source

    pub fn ends_with(&self, needle: &[T]) -> bool
    where +

    1.0.0 · Source

    pub fn ends_with(&self, needle: &[T]) -> bool
    where T: PartialEq,

    Returns true if needle is a suffix of the slice or equal to the slice.

    §Examples
    let v = [10, 40, 30];
    @@ -1994,7 +2101,7 @@ use iter().any:

    assert!(v.ends_with(&[])); let v: &[u8] = &[]; assert!(v.ends_with(&[]));
    -
    1.51.0 · source

    pub fn strip_prefix<P>(&self, prefix: &P) -> Option<&[T]>
    where +

    1.51.0 · Source

    pub fn strip_prefix<P>(&self, prefix: &P) -> Option<&[T]>
    where P: SlicePattern<Item = T> + ?Sized, T: PartialEq,

    Returns a subslice with the prefix removed.

    If the slice starts with prefix, returns the subslice after the prefix, wrapped in Some. @@ -2012,7 +2119,7 @@ original slice, returns an empty slice.

    let prefix : &str = "he"; assert_eq!(b"hello".strip_prefix(prefix.as_bytes()), Some(b"llo".as_ref()));
    -
    1.51.0 · source

    pub fn strip_suffix<P>(&self, suffix: &P) -> Option<&[T]>
    where +

    1.51.0 · Source

    pub fn strip_suffix<P>(&self, suffix: &P) -> Option<&[T]>
    where P: SlicePattern<Item = T> + ?Sized, T: PartialEq,

    Returns a subslice with the suffix removed.

    If the slice ends with suffix, returns the subslice before the suffix, wrapped in Some. @@ -2026,7 +2133,7 @@ original slice, returns an empty slice.

    assert_eq!(v.strip_suffix(&[10, 40, 30]), Some(&[][..])); assert_eq!(v.strip_suffix(&[50]), None); assert_eq!(v.strip_suffix(&[50, 30]), None);
    -

    Binary searches this slice for a given element. If the slice is not sorted, the returned result is unspecified and meaningless.

    @@ -2081,7 +2188,7 @@ sort order, consider using assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
    -
    1.0.0 · source

    pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
    where +

    1.0.0 · Source

    pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
    where F: FnMut(&'a T) -> Ordering,

    Binary searches this slice with a comparator function.

    The comparator function should return an order code that indicates whether its argument is Less, Equal or Greater the desired @@ -2113,10 +2220,10 @@ found; the fourth could match any position in [1, 4].

    let seek = 1; let r = s.binary_search_by(|probe| probe.cmp(&seek)); assert!(match r { Ok(1..=4) => true, _ => false, });
    -
    1.10.0 · source

    pub fn binary_search_by_key<'a, B, F>( +

    1.10.0 · Source

    pub fn binary_search_by_key<'a, B, F>( &'a self, b: &B, - f: F + f: F, ) -> Result<usize, usize>
    where F: FnMut(&'a T) -> B, B: Ord,

    Binary searches this slice with a key extraction function.

    @@ -2147,98 +2254,111 @@ fourth could match any position in [1, 4].

    assert_eq!(s.binary_search_by_key(&100, |&(a, b)| b), Err(13)); let r = s.binary_search_by_key(&1, |&(a, b)| b); assert!(match r { Ok(1..=4) => true, _ => false, });
    -
    1.20.0 · source

    pub fn sort_unstable(&mut self)
    where - T: Ord,

    Sorts the slice, but might not preserve the order of equal elements.

    -

    This sort is unstable (i.e., may reorder equal elements), in-place -(i.e., does not allocate), and O(n * log(n)) worst-case.

    -
    §Current implementation
    -

    The current algorithm is based on pattern-defeating quicksort by Orson Peters, -which combines the fast average case of randomized quicksort with the fast worst case of -heapsort, while achieving linear time on slices with certain patterns. It uses some -randomization to avoid degenerate cases, but with a fixed seed to always provide -deterministic behavior.

    +
    1.20.0 · Source

    pub fn sort_unstable(&mut self)
    where + T: Ord,

    Sorts the slice without preserving the initial order of equal elements.

    +

    This sort is unstable (i.e., may reorder equal elements), in-place (i.e., does not +allocate), and O(n * log(n)) worst-case.

    +

    If the implementation of Ord for T does not implement a total order the resulting +order of elements in the slice is unspecified. All original elements will remain in the +slice and any possible modifications via interior mutability are observed in the input. Same +is true if the implementation of Ord for T panics.

    +

    Sorting types that only implement PartialOrd such as f32 and f64 require +additional precautions. For example, f32::NAN != f32::NAN, which doesn’t fulfill the +reflexivity requirement of Ord. By using an alternative comparison function with +slice::sort_unstable_by such as f32::total_cmp or f64::total_cmp that defines a +total order users can sort slices containing floating-point values. Alternatively, if all +values in the slice are guaranteed to be in a subset for which PartialOrd::partial_cmp +forms a total order, it’s possible to sort the slice with sort_unstable_by(|a, b| a.partial_cmp(b).unwrap()).

    +
    §Current implementation
    +

    The current implementation is based on ipnsort by Lukas Bergdoll and Orson Peters, which +combines the fast average case of quicksort with the fast worst case of heapsort, achieving +linear time on fully sorted and reversed inputs. On inputs with k distinct elements, the +expected time to sort the data is O(n * log(k)).

    It is typically faster than stable sorting, except in a few special cases, e.g., when the -slice consists of several concatenated sorted sequences.

    +slice is partially sorted.

    +
    §Panics
    +

    May panic if the implementation of Ord for T does not implement a total order.

    §Examples
    -
    let mut v = [-5, 4, 1, -3, 2];
    +
    let mut v = [4, -5, 1, -3, 2];
     
     v.sort_unstable();
    -assert!(v == [-5, -3, 1, 2, 4]);
    -
    1.20.0 · source

    pub fn sort_unstable_by<F>(&mut self, compare: F)
    where - F: FnMut(&T, &T) -> Ordering,

    Sorts the slice with a comparator function, but might not preserve the order of equal -elements.

    -

    This sort is unstable (i.e., may reorder equal elements), in-place -(i.e., does not allocate), and O(n * log(n)) worst-case.

    -

    The comparator function must define a total ordering for the elements in the slice. If -the ordering is not total, the order of the elements is unspecified. An order is a -total order if it is (for all a, b and c):

    -
      -
    • total and antisymmetric: exactly one of a < b, a == b or a > b is true, and
    • -
    • transitive, a < b and b < c implies a < c. The same must hold for both == and >.
    • -
    -

    For example, while f64 doesn’t implement Ord because NaN != NaN, we can use -partial_cmp as our sort function when we know the slice doesn’t contain a NaN.

    - -
    let mut floats = [5f64, 4.0, 1.0, 3.0, 2.0];
    -floats.sort_unstable_by(|a, b| a.partial_cmp(b).unwrap());
    -assert_eq!(floats, [1.0, 2.0, 3.0, 4.0, 5.0]);
    -
    §Current implementation
    -

    The current algorithm is based on pattern-defeating quicksort by Orson Peters, -which combines the fast average case of randomized quicksort with the fast worst case of -heapsort, while achieving linear time on slices with certain patterns. It uses some -randomization to avoid degenerate cases, but with a fixed seed to always provide -deterministic behavior.

    +assert_eq!(v, [-5, -3, 1, 2, 4]);
    +
    1.20.0 · Source

    pub fn sort_unstable_by<F>(&mut self, compare: F)
    where + F: FnMut(&T, &T) -> Ordering,

    Sorts the slice with a comparison function, without preserving the initial order of +equal elements.

    +

    This sort is unstable (i.e., may reorder equal elements), in-place (i.e., does not +allocate), and O(n * log(n)) worst-case.

    +

    If the comparison function compare does not implement a total order the resulting order +of elements in the slice is unspecified. All original elements will remain in the slice and +any possible modifications via interior mutability are observed in the input. Same is true +if compare panics.

    +

    For example |a, b| (a - b).cmp(a) is a comparison function that is neither transitive nor +reflexive nor total, a < b < c < a with a = 1, b = 2, c = 3. For more information and +examples see the Ord documentation.

    +
    §Current implementation
    +

    The current implementation is based on ipnsort by Lukas Bergdoll and Orson Peters, which +combines the fast average case of quicksort with the fast worst case of heapsort, achieving +linear time on fully sorted and reversed inputs. On inputs with k distinct elements, the +expected time to sort the data is O(n * log(k)).

    It is typically faster than stable sorting, except in a few special cases, e.g., when the -slice consists of several concatenated sorted sequences.

    +slice is partially sorted.

    +
    §Panics
    +

    May panic if compare does not implement a total order.

    §Examples
    -
    let mut v = [5, 4, 1, 3, 2];
    +
    let mut v = [4, -5, 1, -3, 2];
     v.sort_unstable_by(|a, b| a.cmp(b));
    -assert!(v == [1, 2, 3, 4, 5]);
    +assert_eq!(v, [-5, -3, 1, 2, 4]);
     
     // reverse sorting
     v.sort_unstable_by(|a, b| b.cmp(a));
    -assert!(v == [5, 4, 3, 2, 1]);
    -
    1.20.0 · source

    pub fn sort_unstable_by_key<K, F>(&mut self, f: F)
    where +assert_eq!(v, [4, 2, 1, -3, -5]);
    +

    1.20.0 · Source

    pub fn sort_unstable_by_key<K, F>(&mut self, f: F)
    where F: FnMut(&T) -> K, - K: Ord,

    Sorts the slice with a key extraction function, but might not preserve the order of equal -elements.

    -

    This sort is unstable (i.e., may reorder equal elements), in-place -(i.e., does not allocate), and O(m * n * log(n)) worst-case, where the key function is -O(m).

    -
    §Current implementation
    -

    The current algorithm is based on pattern-defeating quicksort by Orson Peters, -which combines the fast average case of randomized quicksort with the fast worst case of -heapsort, while achieving linear time on slices with certain patterns. It uses some -randomization to avoid degenerate cases, but with a fixed seed to always provide -deterministic behavior.

    -

    Due to its key calling strategy, sort_unstable_by_key -is likely to be slower than sort_by_cached_key in -cases where the key function is expensive.

    + K: Ord,

    Sorts the slice with a key extraction function, without preserving the initial order of +equal elements.

    +

    This sort is unstable (i.e., may reorder equal elements), in-place (i.e., does not +allocate), and O(n * log(n)) worst-case.

    +

    If the implementation of Ord for K does not implement a total order the resulting +order of elements in the slice is unspecified. All original elements will remain in the +slice and any possible modifications via interior mutability are observed in the input. Same +is true if the implementation of Ord for K panics.

    +
    §Current implementation
    +

    The current implementation is based on ipnsort by Lukas Bergdoll and Orson Peters, which +combines the fast average case of quicksort with the fast worst case of heapsort, achieving +linear time on fully sorted and reversed inputs. On inputs with k distinct elements, the +expected time to sort the data is O(n * log(k)).

    +

    It is typically faster than stable sorting, except in a few special cases, e.g., when the +slice is partially sorted.

    +
    §Panics
    +

    May panic if the implementation of Ord for K does not implement a total order.

    §Examples
    -
    let mut v = [-5i32, 4, 1, -3, 2];
    +
    let mut v = [4i32, -5, 1, -3, 2];
     
     v.sort_unstable_by_key(|k| k.abs());
    -assert!(v == [1, 2, -3, 4, -5]);
    -
    1.49.0 · source

    pub fn select_nth_unstable( +assert_eq!(v, [1, 2, -3, 4, -5]); +

    1.49.0 · Source

    pub fn select_nth_unstable( &mut self, - index: usize + index: usize, ) -> (&mut [T], &mut T, &mut [T])
    where - T: Ord,

    Reorder the slice such that the element at index after the reordering is at its final sorted position.

    + T: Ord,

    Reorders the slice such that the element at index after the reordering is at its final +sorted position.

    This reordering has the additional property that any value at position i < index will be less than or equal to any value at a position j > index. Additionally, this reordering is -unstable (i.e. any number of equal elements may end up at position index), in-place -(i.e. does not allocate), and runs in O(n) time. -This function is also known as “kth element” in other libraries.

    -

    It returns a triplet of the following from the reordered slice: -the subslice prior to index, the element at index, and the subslice after index; -accordingly, the values in those two subslices will respectively all be less-than-or-equal-to -and greater-than-or-equal-to the value of the element at index.

    -
    §Current implementation
    -

    The current algorithm is an introselect implementation based on Pattern Defeating Quicksort, which is also -the basis for sort_unstable. The fallback algorithm is Median of Medians using Tukey’s Ninther for -pivot selection, which guarantees linear runtime for all inputs.

    -
    §Panics
    +unstable (i.e. any number of equal elements may end up at position index), in-place (i.e. +does not allocate), and runs in O(n) time. This function is also known as “kth element” +in other libraries.

    +

    It returns a triplet of the following from the reordered slice: the subslice prior to +index, the element at index, and the subslice after index; accordingly, the values in +those two subslices will respectively all be less-than-or-equal-to and +greater-than-or-equal-to the value of the element at index.

    +
    §Current implementation
    +

    The current algorithm is an introselect implementation based on ipnsort by Lukas Bergdoll +and Orson Peters, which is also the basis for sort_unstable. The fallback algorithm is +Median of Medians using Tukey’s Ninther for pivot selection, which guarantees linear runtime +for all inputs.

    +
    §Panics

    Panics when index >= len(), meaning it always panics on empty slices.

    +

    May panic if the implementation of Ord for T does not implement a total order.

    §Examples
    let mut v = [-5i32, 4, 2, -3, 1];
     
    @@ -2256,29 +2376,30 @@ pivot selection, which guarantees linear runtime for all inputs.

    v == [-5, -3, 1, 2, 4] || v == [-3, -5, 1, 4, 2] || v == [-5, -3, 1, 4, 2]);
    -
    1.49.0 · source

    pub fn select_nth_unstable_by<F>( +

    1.49.0 · Source

    pub fn select_nth_unstable_by<F>( &mut self, index: usize, - compare: F + compare: F, ) -> (&mut [T], &mut T, &mut [T])
    where - F: FnMut(&T, &T) -> Ordering,

    Reorder the slice with a comparator function such that the element at index after the reordering is at -its final sorted position.

    + F: FnMut(&T, &T) -> Ordering,

    Reorders the slice with a comparator function such that the element at index after the +reordering is at its final sorted position.

    This reordering has the additional property that any value at position i < index will be less than or equal to any value at a position j > index using the comparator function. Additionally, this reordering is unstable (i.e. any number of equal elements may end up at -position index), in-place (i.e. does not allocate), and runs in O(n) time. -This function is also known as “kth element” in other libraries.

    -

    It returns a triplet of the following from -the slice reordered according to the provided comparator function: the subslice prior to -index, the element at index, and the subslice after index; accordingly, the values in -those two subslices will respectively all be less-than-or-equal-to and greater-than-or-equal-to -the value of the element at index.

    -
    §Current implementation
    -

    The current algorithm is an introselect implementation based on Pattern Defeating Quicksort, which is also -the basis for sort_unstable. The fallback algorithm is Median of Medians using Tukey’s Ninther for -pivot selection, which guarantees linear runtime for all inputs.

    -
    §Panics
    +position index), in-place (i.e. does not allocate), and runs in O(n) time. This +function is also known as “kth element” in other libraries.

    +

    It returns a triplet of the following from the slice reordered according to the provided +comparator function: the subslice prior to index, the element at index, and the subslice +after index; accordingly, the values in those two subslices will respectively all be +less-than-or-equal-to and greater-than-or-equal-to the value of the element at index.

    +
    §Current implementation
    +

    The current algorithm is an introselect implementation based on ipnsort by Lukas Bergdoll +and Orson Peters, which is also the basis for sort_unstable. The fallback algorithm is +Median of Medians using Tukey’s Ninther for pivot selection, which guarantees linear runtime +for all inputs.

    +
    §Panics

    Panics when index >= len(), meaning it always panics on empty slices.

    +

    May panic if compare does not implement a total order.

    §Examples
    let mut v = [-5i32, 4, 2, -3, 1];
     
    @@ -2296,30 +2417,31 @@ pivot selection, which guarantees linear runtime for all inputs.

    v == [2, 4, 1, -3, -5] || v == [4, 2, 1, -5, -3] || v == [4, 2, 1, -3, -5]);
    -
    1.49.0 · source

    pub fn select_nth_unstable_by_key<K, F>( +

    1.49.0 · Source

    pub fn select_nth_unstable_by_key<K, F>( &mut self, index: usize, - f: F + f: F, ) -> (&mut [T], &mut T, &mut [T])
    where F: FnMut(&T) -> K, - K: Ord,

    Reorder the slice with a key extraction function such that the element at index after the reordering is -at its final sorted position.

    + K: Ord,

    Reorders the slice with a key extraction function such that the element at index after the +reordering is at its final sorted position.

    This reordering has the additional property that any value at position i < index will be less than or equal to any value at a position j > index using the key extraction function. Additionally, this reordering is unstable (i.e. any number of equal elements may end up at -position index), in-place (i.e. does not allocate), and runs in O(n) time. -This function is also known as “kth element” in other libraries.

    -

    It returns a triplet of the following from -the slice reordered according to the provided key extraction function: the subslice prior to -index, the element at index, and the subslice after index; accordingly, the values in -those two subslices will respectively all be less-than-or-equal-to and greater-than-or-equal-to -the value of the element at index.

    -
    §Current implementation
    -

    The current algorithm is an introselect implementation based on Pattern Defeating Quicksort, which is also -the basis for sort_unstable. The fallback algorithm is Median of Medians using Tukey’s Ninther for -pivot selection, which guarantees linear runtime for all inputs.

    -
    §Panics
    +position index), in-place (i.e. does not allocate), and runs in O(n) time. This +function is also known as “kth element” in other libraries.

    +

    It returns a triplet of the following from the slice reordered according to the provided key +extraction function: the subslice prior to index, the element at index, and the subslice +after index; accordingly, the values in those two subslices will respectively all be +less-than-or-equal-to and greater-than-or-equal-to the value of the element at index.

    +
    §Current implementation
    +

    The current algorithm is an introselect implementation based on ipnsort by Lukas Bergdoll +and Orson Peters, which is also the basis for sort_unstable. The fallback algorithm is +Median of Medians using Tukey’s Ninther for pivot selection, which guarantees linear runtime +for all inputs.

    +
    §Panics

    Panics when index >= len(), meaning it always panics on empty slices.

    +

    May panic if K: Ord does not implement a total order.

    §Examples
    let mut v = [-5i32, 4, 1, -3, 2];
     
    @@ -2337,7 +2459,7 @@ pivot selection, which guarantees linear runtime for all inputs.

    v == [1, 2, -3, -5, 4] || v == [2, 1, -3, 4, -5] || v == [2, 1, -3, -5, 4]);
    -
    source

    pub fn partition_dedup(&mut self) -> (&mut [T], &mut [T])
    where +

    Source

    pub fn partition_dedup(&mut self) -> (&mut [T], &mut [T])
    where T: PartialEq,

    🔬This is a nightly-only experimental API. (slice_partition_dedup)

    Moves all consecutive repeated elements to the end of the slice according to the PartialEq trait implementation.

    Returns two slices. The first contains no consecutive repeated elements. @@ -2352,7 +2474,7 @@ The second contains all the duplicates in no specified order.

    assert_eq!(dedup, [1, 2, 3, 2, 1]); assert_eq!(duplicates, [2, 3, 1]);
    -
    source

    pub fn partition_dedup_by<F>(&mut self, same_bucket: F) -> (&mut [T], &mut [T])
    where +

    Source

    pub fn partition_dedup_by<F>(&mut self, same_bucket: F) -> (&mut [T], &mut [T])
    where F: FnMut(&mut T, &mut T) -> bool,

    🔬This is a nightly-only experimental API. (slice_partition_dedup)

    Moves all but the first of consecutive elements to the end of the slice satisfying a given equality relation.

    Returns two slices. The first contains no consecutive repeated elements. @@ -2371,7 +2493,7 @@ at the end of the slice.

    assert_eq!(dedup, ["foo", "BAZ", "Bar", "baz"]); assert_eq!(duplicates, ["bar", "Foo", "BAZ"]);
    -
    source

    pub fn partition_dedup_by_key<K, F>(&mut self, key: F) -> (&mut [T], &mut [T])
    where +

    Source

    pub fn partition_dedup_by_key<K, F>(&mut self, key: F) -> (&mut [T], &mut [T])
    where F: FnMut(&mut T) -> K, K: PartialEq,

    🔬This is a nightly-only experimental API. (slice_partition_dedup)

    Moves all but the first of consecutive elements to the end of the slice that resolve to the same key.

    @@ -2387,11 +2509,12 @@ The second contains all the duplicates in no specified order.

    assert_eq!(dedup, [10, 20, 30, 20, 11]); assert_eq!(duplicates, [21, 30, 13]);
    -
    1.26.0 · source

    pub fn rotate_left(&mut self, mid: usize)

    Rotates the slice in-place such that the first mid elements of the +

    1.26.0 · Source

    pub fn rotate_left(&mut self, mid: usize)

    Rotates the slice in-place such that the first mid elements of the slice move to the end while the last self.len() - mid elements move to -the front. After calling rotate_left, the element previously at index -mid will become the first element in the slice.

    -
    §Panics
    +the front.

    +

    After calling rotate_left, the element previously at index mid will +become the first element in the slice.

    +
    §Panics

    This function will panic if mid is greater than the length of the slice. Note that mid == self.len() does not panic and is a no-op rotation.

    @@ -2406,11 +2529,12 @@ a.rotate_left(2);
    let mut a = ['a', 'b', 'c', 'd', 'e', 'f'];
     a[1..5].rotate_left(1);
     assert_eq!(a, ['a', 'c', 'd', 'e', 'b', 'f']);
    -
    1.26.0 · source

    pub fn rotate_right(&mut self, k: usize)

    Rotates the slice in-place such that the first self.len() - k +

    1.26.0 · Source

    pub fn rotate_right(&mut self, k: usize)

    Rotates the slice in-place such that the first self.len() - k elements of the slice move to the end while the last k elements move -to the front. After calling rotate_right, the element previously at -index self.len() - k will become the first element in the slice.

    -
    §Panics
    +to the front.

    +

    After calling rotate_right, the element previously at index +self.len() - k will become the first element in the slice.

    +
    §Panics

    This function will panic if k is greater than the length of the slice. Note that k == self.len() does not panic and is a no-op rotation.

    @@ -2425,13 +2549,13 @@ a.rotate_right(2);
    let mut a = ['a', 'b', 'c', 'd', 'e', 'f'];
     a[1..5].rotate_right(1);
     assert_eq!(a, ['a', 'e', 'b', 'c', 'd', 'f']);
    -
    1.50.0 · source

    pub fn fill(&mut self, value: T)
    where +

    1.50.0 · Source

    pub fn fill(&mut self, value: T)
    where T: Clone,

    Fills self with elements by cloning value.

    §Examples
    let mut buf = vec![0; 10];
     buf.fill(1);
     assert_eq!(buf, vec![1; 10]);
    -
    1.51.0 · source

    pub fn fill_with<F>(&mut self, f: F)
    where +

    1.51.0 · Source

    pub fn fill_with<F>(&mut self, f: F)
    where F: FnMut() -> T,

    Fills self with elements returned by calling a closure repeatedly.

    This method uses a closure to create new values. If you’d rather Clone a given value, use fill. If you want to use the Default @@ -2441,10 +2565,10 @@ argument.

    let mut buf = vec![1; 10];
     buf.fill_with(Default::default);
     assert_eq!(buf, vec![0; 10]);
    -
    1.7.0 · source

    pub fn clone_from_slice(&mut self, src: &[T])
    where +

    1.7.0 · Source

    pub fn clone_from_slice(&mut self, src: &[T])
    where T: Clone,

    Copies the elements from src into self.

    The length of src must be the same as self.

    -
    §Panics
    +
    §Panics

    This function will panic if the two slices have different lengths.

    §Examples

    Cloning two elements from a slice into another:

    @@ -2478,11 +2602,11 @@ sub-slices from a slice:

    } assert_eq!(slice, [4, 5, 3, 4, 5]);
    -
    1.9.0 · source

    pub fn copy_from_slice(&mut self, src: &[T])
    where +

    1.9.0 · Source

    pub fn copy_from_slice(&mut self, src: &[T])
    where T: Copy,

    Copies all elements from src into self, using a memcpy.

    The length of src must be the same as self.

    If T does not implement Copy, use clone_from_slice.

    -
    §Panics
    +
    §Panics

    This function will panic if the two slices have different lengths.

    §Examples

    Copying two elements from a slice into another:

    @@ -2516,7 +2640,7 @@ sub-slices from a slice:

    } assert_eq!(slice, [4, 5, 3, 4, 5]);
    -
    1.37.0 · source

    pub fn copy_within<R>(&mut self, src: R, dest: usize)
    where +

    1.37.0 · Source

    pub fn copy_within<R>(&mut self, src: R, dest: usize)
    where R: RangeBounds<usize>, T: Copy,

    Copies elements from one part of the slice to another part of itself, using a memmove.

    @@ -2524,7 +2648,7 @@ using a memmove.

    index of the range within self to copy to, which will have the same length as src. The two ranges may overlap. The ends of the two ranges must be less than or equal to self.len().

    -
    §Panics
    +
    §Panics

    This function will panic if either range exceeds the end of the slice, or if the end of src is before the start.

    §Examples
    @@ -2535,9 +2659,9 @@ or if the end of src is before the start.

    bytes.copy_within(1..5, 8); assert_eq!(&bytes, b"Hello, Wello!");
    -
    1.27.0 · source

    pub fn swap_with_slice(&mut self, other: &mut [T])

    Swaps all elements in self with those in other.

    +
    1.27.0 · Source

    pub fn swap_with_slice(&mut self, other: &mut [T])

    Swaps all elements in self with those in other.

    The length of other must be the same as self.

    -
    §Panics
    +
    §Panics

    This function will panic if the two slices have different lengths.

    §Example

    Swapping two elements across slices:

    @@ -2567,14 +2691,14 @@ mutable sub-slices from a slice:

    } assert_eq!(slice, [4, 5, 3, 1, 2]);
    -
    1.30.0 · source

    pub unsafe fn align_to<U>(&self) -> (&[T], &[U], &[T])

    Transmute the slice to a slice of another type, ensuring alignment of the types is +

    1.30.0 · Source

    pub unsafe fn align_to<U>(&self) -> (&[T], &[U], &[T])

    Transmutes the slice to a slice of another type, ensuring alignment of the types is maintained.

    This method splits the slice into three distinct slices: prefix, correctly aligned middle slice of a new type, and the suffix slice. The middle part will be as big as possible under the given alignment constraint and element size.

    This method has no purpose when either input element T or output element U are zero-sized and will return the original slice without splitting anything.

    -
    §Safety
    +
    §Safety

    This method is essentially a transmute with respect to the elements in the returned middle slice, so all the usual caveats pertaining to transmute::<T, U> also apply here.

    §Examples
    @@ -2587,14 +2711,14 @@ middle slice, so all the usual caveats pertaining to transmute::<T, U&g // more_efficient_algorithm_for_aligned_shorts(shorts); // less_efficient_algorithm_for_bytes(suffix); }
    -
    1.30.0 · source

    pub unsafe fn align_to_mut<U>(&mut self) -> (&mut [T], &mut [U], &mut [T])

    Transmute the mutable slice to a mutable slice of another type, ensuring alignment of the +

    1.30.0 · Source

    pub unsafe fn align_to_mut<U>(&mut self) -> (&mut [T], &mut [U], &mut [T])

    Transmutes the mutable slice to a mutable slice of another type, ensuring alignment of the types is maintained.

    This method splits the slice into three distinct slices: prefix, correctly aligned middle slice of a new type, and the suffix slice. The middle part will be as big as possible under the given alignment constraint and element size.

    This method has no purpose when either input element T or output element U are zero-sized and will return the original slice without splitting anything.

    -
    §Safety
    +
    §Safety

    This method is essentially a transmute with respect to the elements in the returned middle slice, so all the usual caveats pertaining to transmute::<T, U> also apply here.

    §Examples
    @@ -2607,22 +2731,13 @@ middle slice, so all the usual caveats pertaining to transmute::<T, U&g // more_efficient_algorithm_for_aligned_shorts(shorts); // less_efficient_algorithm_for_bytes(suffix); }
    -
    source

    pub fn as_simd<const LANES: usize>(&self) -> (&[T], &[Simd<T, LANES>], &[T])
    where +

    Source

    pub fn as_simd<const LANES: usize>(&self) -> (&[T], &[Simd<T, LANES>], &[T])
    where Simd<T, LANES>: AsRef<[T; LANES]>, T: SimdElement, - LaneCount<LANES>: SupportedLaneCount,

    🔬This is a nightly-only experimental API. (portable_simd)

    Split a slice into a prefix, a middle of aligned SIMD types, and a suffix.

    -

    This is a safe wrapper around slice::align_to, so has the same weak -postconditions as that method. You’re only assured that -self.len() == prefix.len() + middle.len() * LANES + suffix.len().

    -

    Notably, all of the following are possible:

    -
      -
    • prefix.len() >= LANES.
    • -
    • middle.is_empty() despite self.len() >= 3 * LANES.
    • -
    • suffix.len() >= LANES.
    • -
    -

    That said, this is a safe method, so if you’re only writing safe code, -then this can at most cause incorrect logic, not unsoundness.

    -
    §Panics
    + LaneCount<LANES>: SupportedLaneCount,
    🔬This is a nightly-only experimental API. (portable_simd)

    Splits a slice into a prefix, a middle of aligned SIMD types, and a suffix.

    +

    This is a safe wrapper around slice::align_to, so inherits the same +guarantees as that method.

    +
    §Panics

    This will panic if the size of the SIMD type is different from LANES times that of the scalar.

    At the time of writing, the trait restrictions on Simd<T, LANES> keeps @@ -2657,26 +2772,17 @@ method for something like LANES == 3.

    let numbers: Vec<f32> = (1..101).map(|x| x as _).collect(); assert_eq!(basic_simd_sum(&numbers[1..99]), 4949.0);
    -
    source

    pub fn as_simd_mut<const LANES: usize>( - &mut self +

    Source

    pub fn as_simd_mut<const LANES: usize>( + &mut self, ) -> (&mut [T], &mut [Simd<T, LANES>], &mut [T])
    where Simd<T, LANES>: AsMut<[T; LANES]>, T: SimdElement, - LaneCount<LANES>: SupportedLaneCount,

    🔬This is a nightly-only experimental API. (portable_simd)

    Split a mutable slice into a mutable prefix, a middle of aligned SIMD types, + LaneCount<LANES>: SupportedLaneCount,

    🔬This is a nightly-only experimental API. (portable_simd)

    Splits a mutable slice into a mutable prefix, a middle of aligned SIMD types, and a mutable suffix.

    -

    This is a safe wrapper around slice::align_to_mut, so has the same weak -postconditions as that method. You’re only assured that -self.len() == prefix.len() + middle.len() * LANES + suffix.len().

    -

    Notably, all of the following are possible:

    -
      -
    • prefix.len() >= LANES.
    • -
    • middle.is_empty() despite self.len() >= 3 * LANES.
    • -
    • suffix.len() >= LANES.
    • -
    -

    That said, this is a safe method, so if you’re only writing safe code, -then this can at most cause incorrect logic, not unsoundness.

    +

    This is a safe wrapper around slice::align_to_mut, so inherits the same +guarantees as that method.

    This is the mutable version of slice::as_simd; see that for examples.

    -
    §Panics
    +
    §Panics

    This will panic if the size of the SIMD type is different from LANES times that of the scalar.

    At the time of writing, the trait restrictions on Simd<T, LANES> keeps @@ -2684,30 +2790,27 @@ that from ever happening, as only power-of-two numbers of lanes are supported. It’s possible that, in the future, those restrictions might be lifted in a way that would make it possible to see panics from this method for something like LANES == 3.

    -
    source

    pub fn is_sorted(&self) -> bool
    where - T: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)

    Checks if the elements of this slice are sorted.

    +
    1.82.0 · Source

    pub fn is_sorted(&self) -> bool
    where + T: PartialOrd,

    Checks if the elements of this slice are sorted.

    That is, for each element a and its following element b, a <= b must hold. If the slice yields exactly zero or one element, true is returned.

    Note that if Self::Item is only PartialOrd, but not Ord, the above definition implies that this function returns false if any two consecutive items are not comparable.

    §Examples
    -
    #![feature(is_sorted)]
    -let empty: [i32; 0] = [];
    +
    let empty: [i32; 0] = [];
     
     assert!([1, 2, 2, 9].is_sorted());
     assert!(![1, 3, 2, 4].is_sorted());
     assert!([0].is_sorted());
     assert!(empty.is_sorted());
     assert!(![0.0, 1.0, f32::NAN].is_sorted());
    -
    source

    pub fn is_sorted_by<'a, F>(&'a self, compare: F) -> bool
    where - F: FnMut(&'a T, &'a T) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)

    Checks if the elements of this slice are sorted using the given comparator function.

    +
    1.82.0 · Source

    pub fn is_sorted_by<'a, F>(&'a self, compare: F) -> bool
    where + F: FnMut(&'a T, &'a T) -> bool,

    Checks if the elements of this slice are sorted using the given comparator function.

    Instead of using PartialOrd::partial_cmp, this function uses the given compare function to determine whether two elements are to be considered in sorted order.

    §Examples
    -
    #![feature(is_sorted)]
    -
    -assert!([1, 2, 2, 9].is_sorted_by(|a, b| a <= b));
    +
    assert!([1, 2, 2, 9].is_sorted_by(|a, b| a <= b));
     assert!(![1, 2, 2, 9].is_sorted_by(|a, b| a < b));
     
     assert!([0].is_sorted_by(|a, b| true));
    @@ -2716,18 +2819,16 @@ function to determine whether two elements are to be considered in sorted order.
     let empty: [i32; 0] = [];
     assert!(empty.is_sorted_by(|a, b| false));
     assert!(empty.is_sorted_by(|a, b| true));
    -
    source

    pub fn is_sorted_by_key<'a, F, K>(&'a self, f: F) -> bool
    where +

    1.82.0 · Source

    pub fn is_sorted_by_key<'a, F, K>(&'a self, f: F) -> bool
    where F: FnMut(&'a T) -> K, - K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)

    Checks if the elements of this slice are sorted using the given key extraction function.

    + K: PartialOrd,

    Checks if the elements of this slice are sorted using the given key extraction function.

    Instead of comparing the slice’s elements directly, this function compares the keys of the elements, as determined by f. Apart from that, it’s equivalent to is_sorted; see its documentation for more information.

    §Examples
    -
    #![feature(is_sorted)]
    -
    -assert!(["c", "bb", "aaa"].is_sorted_by_key(|s| s.len()));
    +
    assert!(["c", "bb", "aaa"].is_sorted_by_key(|s| s.len()));
     assert!(![-2i32, -1, 0, 3].is_sorted_by_key(|n| n.abs()));
    -
    1.52.0 · source

    pub fn partition_point<P>(&self, pred: P) -> usize
    where +

    1.52.0 · Source

    pub fn partition_point<P>(&self, pred: P) -> usize
    where P: FnMut(&T) -> bool,

    Returns the index of the partition point according to the given predicate (the index of the first element of the second partition).

    The slice is assumed to be partitioned according to the given predicate. @@ -2760,7 +2861,7 @@ sort order:

    let idx = s.partition_point(|&x| x <= num); s.insert(idx, num); assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
    -
    source

    pub fn take<'a, R>(self: &mut &'a [T], range: R) -> Option<&'a [T]>
    where +

    Source

    pub fn take<'a, R>(self: &mut &'a [T], range: R) -> Option<&'a [T]>
    where R: OneSidedRange<usize>,

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the subslice corresponding to the given range and returns a reference to it.

    Returns None and does not modify the slice if the given @@ -2797,7 +2898,7 @@ range is out of bounds.

    assert_eq!(None, slice.take(..=4)); let expected: &[char] = &['a', 'b', 'c', 'd']; assert_eq!(Some(expected), slice.take(..4));
    -
    source

    pub fn take_mut<'a, R>(self: &mut &'a mut [T], range: R) -> Option<&'a mut [T]>
    where +

    Source

    pub fn take_mut<'a, R>(self: &mut &'a mut [T], range: R) -> Option<&'a mut [T]>
    where R: OneSidedRange<usize>,

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the subslice corresponding to the given range and returns a mutable reference to it.

    Returns None and does not modify the slice if the given @@ -2834,7 +2935,7 @@ range is out of bounds.

    assert_eq!(None, slice.take_mut(..=4)); let expected: &mut [_] = &mut ['a', 'b', 'c', 'd']; assert_eq!(Some(expected), slice.take_mut(..4));
    -
    source

    pub fn take_first<'a>(self: &mut &'a [T]) -> Option<&'a T>

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the first element of the slice and returns a reference +

    Source

    pub fn take_first<'a>(self: &mut &'a [T]) -> Option<&'a T>

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the first element of the slice and returns a reference to it.

    Returns None if the slice is empty.

    §Examples
    @@ -2845,7 +2946,7 @@ to it.

    assert_eq!(slice, &['b', 'c']); assert_eq!(first, &'a');
    -
    source

    pub fn take_first_mut<'a>(self: &mut &'a mut [T]) -> Option<&'a mut T>

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the first element of the slice and returns a mutable +

    Source

    pub fn take_first_mut<'a>(self: &mut &'a mut [T]) -> Option<&'a mut T>

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the first element of the slice and returns a mutable reference to it.

    Returns None if the slice is empty.

    §Examples
    @@ -2857,7 +2958,7 @@ reference to it.

    assert_eq!(slice, &['b', 'c']); assert_eq!(first, &'d');
    -
    source

    pub fn take_last<'a>(self: &mut &'a [T]) -> Option<&'a T>

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the last element of the slice and returns a reference +

    Source

    pub fn take_last<'a>(self: &mut &'a [T]) -> Option<&'a T>

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the last element of the slice and returns a reference to it.

    Returns None if the slice is empty.

    §Examples
    @@ -2868,7 +2969,7 @@ to it.

    assert_eq!(slice, &['a', 'b']); assert_eq!(last, &'c');
    -
    source

    pub fn take_last_mut<'a>(self: &mut &'a mut [T]) -> Option<&'a mut T>

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the last element of the slice and returns a mutable +

    Source

    pub fn take_last_mut<'a>(self: &mut &'a mut [T]) -> Option<&'a mut T>

    🔬This is a nightly-only experimental API. (slice_take)

    Removes the last element of the slice and returns a mutable reference to it.

    Returns None if the slice is empty.

    §Examples
    @@ -2880,12 +2981,18 @@ reference to it.

    assert_eq!(slice, &['a', 'b']); assert_eq!(last, &'d');
    -
    source

    pub unsafe fn get_many_unchecked_mut<const N: usize>( +

    Source

    pub unsafe fn get_many_unchecked_mut<I, const N: usize>( &mut self, - indices: [usize; N] -) -> [&mut T; N]

    🔬This is a nightly-only experimental API. (get_many_mut)

    Returns mutable references to many indices at once, without doing any checks.

    + indices: [I; N], +) -> [&mut <I as SliceIndex<[T]>>::Output; N]
    🔬This is a nightly-only experimental API. (get_many_mut)

    Returns mutable references to many indices at once, without doing any checks.

    +

    An index can be either a usize, a Range or a RangeInclusive. Note +that this method takes an array, so all indices must be of the same type. +If passed an array of usizes this method gives back an array of mutable references +to single elements, while if passed an array of ranges it gives back an array of +mutable references to slices.

    For a safe alternative see get_many_mut.

    -
    §Safety
    +
    §Safety

    Calling this method with overlapping or out-of-bounds indices is undefined behavior even if the resulting references are not used.

    §Examples
    @@ -2898,13 +3005,38 @@ even if the resulting references are not used.

    *a *= 10; *b *= 100; } -assert_eq!(x, &[10, 2, 400]);
    -
    source

    pub fn get_many_mut<const N: usize>( +assert_eq!(x, &[10, 2, 400]); + +unsafe { + let [a, b] = x.get_many_unchecked_mut([0..1, 1..3]); + a[0] = 8; + b[0] = 88; + b[1] = 888; +} +assert_eq!(x, &[8, 88, 888]); + +unsafe { + let [a, b] = x.get_many_unchecked_mut([1..=2, 0..=0]); + a[0] = 11; + a[1] = 111; + b[0] = 1; +} +assert_eq!(x, &[1, 11, 111]); +

    Source

    pub fn get_many_mut<I, const N: usize>( &mut self, - indices: [usize; N] -) -> Result<[&mut T; N], GetManyMutError<N>>

    🔬This is a nightly-only experimental API. (get_many_mut)

    Returns mutable references to many indices at once.

    -

    Returns an error if any index is out-of-bounds, or if the same index was -passed more than once.

    + indices: [I; N], +) -> Result<[&mut <I as SliceIndex<[T]>>::Output; N], GetManyMutError>
    🔬This is a nightly-only experimental API. (get_many_mut)

    Returns mutable references to many indices at once.

    +

    An index can be either a usize, a Range or a RangeInclusive. Note +that this method takes an array, so all indices must be of the same type. +If passed an array of usizes this method gives back an array of mutable references +to single elements, while if passed an array of ranges it gives back an array of +mutable references to slices.

    +

    Returns an error if any index is out-of-bounds, or if there are overlapping indices. +An empty range is not considered to overlap if it is located at the beginning or at +the end of another range, but is considered to overlap if it is located in the middle.

    +

    This method does a O(n^2) check to check that there are no overlapping indices, so be careful +when passing many indices.

    §Examples
    #![feature(get_many_mut)]
     
    @@ -2913,127 +3045,322 @@ passed more than once.

    *a = 413; *b = 612; } -assert_eq!(v, &[413, 2, 612]);
    -
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> Vec<u8>

    Returns a vector containing a copy of this slice where each byte -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.

    -
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> Vec<u8>

    Returns a vector containing a copy of this slice where each byte -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.

    -
    1.0.0 · source

    pub fn sort(&mut self)
    where - T: Ord,

    Sorts the slice.

    -

    This sort is stable (i.e., does not reorder equal elements) and O(n * log(n)) worst-case.

    -

    When applicable, unstable sorting is preferred because it is generally faster than stable -sorting and it doesn’t allocate auxiliary memory. -See sort_unstable.

    -
    §Current implementation
    -

    The current algorithm is an adaptive, iterative merge sort inspired by -timsort. -It is designed to be very fast in cases where the slice is nearly sorted, or consists of -two or more sorted sequences concatenated one after another.

    -

    Also, it allocates temporary storage half the size of self, but for short slices a -non-allocating insertion sort is used instead.

    +assert_eq!(v, &[413, 2, 612]); + +if let Ok([a, b]) = v.get_many_mut([0..1, 1..3]) { + a[0] = 8; + b[0] = 88; + b[1] = 888; +} +assert_eq!(v, &[8, 88, 888]); + +if let Ok([a, b]) = v.get_many_mut([1..=2, 0..=0]) { + a[0] = 11; + a[1] = 111; + b[0] = 1; +} +assert_eq!(v, &[1, 11, 111]);
    +
    Source

    pub fn element_offset(&self, element: &T) -> Option<usize>

    🔬This is a nightly-only experimental API. (substr_range)

    Returns the index that an element reference points to.

    +

    Returns None if element does not point to the start of an element within the slice.

    +

    This method is useful for extending slice iterators like slice::split.

    +

    Note that this uses pointer arithmetic and does not compare elements. +To find the index of an element via comparison, use +.iter().position() instead.

    +
    §Panics
    +

    Panics if T is zero-sized.

    §Examples
    -
    let mut v = [-5, 4, 1, -3, 2];
    +

    Basic usage:

    + +
    #![feature(substr_range)]
    +
    +let nums: &[u32] = &[1, 7, 1, 1];
    +let num = &nums[2];
    +
    +assert_eq!(num, &1);
    +assert_eq!(nums.element_offset(num), Some(2));
    +

    Returning None with an unaligned element:

    + +
    #![feature(substr_range)]
    +
    +let arr: &[[u32; 2]] = &[[0, 1], [2, 3]];
    +let flat_arr: &[u32] = arr.as_flattened();
    +
    +let ok_elm: &[u32; 2] = flat_arr[0..2].try_into().unwrap();
    +let weird_elm: &[u32; 2] = flat_arr[1..3].try_into().unwrap();
    +
    +assert_eq!(ok_elm, &[0, 1]);
    +assert_eq!(weird_elm, &[1, 2]);
    +
    +assert_eq!(arr.element_offset(ok_elm), Some(0)); // Points to element 0
    +assert_eq!(arr.element_offset(weird_elm), None); // Points between element 0 and 1
    +
    Source

    pub fn subslice_range(&self, subslice: &[T]) -> Option<Range<usize>>

    🔬This is a nightly-only experimental API. (substr_range)

    Returns the range of indices that a subslice points to.

    +

    Returns None if subslice does not point within the slice or if it is not aligned with the +elements in the slice.

    +

    This method does not compare elements. Instead, this method finds the location in the slice that +subslice was obtained from. To find the index of a subslice via comparison, instead use +.windows().position().

    +

    This method is useful for extending slice iterators like slice::split.

    +

    Note that this may return a false positive (either Some(0..0) or Some(self.len()..self.len())) +if subslice has a length of zero and points to the beginning or end of another, separate, slice.

    +
    §Panics
    +

    Panics if T is zero-sized.

    +
    §Examples
    +

    Basic usage:

    + +
    #![feature(substr_range)]
    +
    +let nums = &[0, 5, 10, 0, 0, 5];
    +
    +let mut iter = nums
    +    .split(|t| *t == 0)
    +    .map(|n| nums.subslice_range(n).unwrap());
    +
    +assert_eq!(iter.next(), Some(0..0));
    +assert_eq!(iter.next(), Some(1..3));
    +assert_eq!(iter.next(), Some(4..4));
    +assert_eq!(iter.next(), Some(5..6));
    +
    1.80.0 · Source

    pub fn as_flattened(&self) -> &[T]

    Takes a &[[T; N]], and flattens it to a &[T].

    +
    §Panics
    +

    This panics if the length of the resulting slice would overflow a usize.

    +

    This is only possible when flattening a slice of arrays of zero-sized +types, and thus tends to be irrelevant in practice. If +size_of::<T>() > 0, this will never panic.

    +
    §Examples
    +
    assert_eq!([[1, 2, 3], [4, 5, 6]].as_flattened(), &[1, 2, 3, 4, 5, 6]);
    +
    +assert_eq!(
    +    [[1, 2, 3], [4, 5, 6]].as_flattened(),
    +    [[1, 2], [3, 4], [5, 6]].as_flattened(),
    +);
    +
    +let slice_of_empty_arrays: &[[i32; 0]] = &[[], [], [], [], []];
    +assert!(slice_of_empty_arrays.as_flattened().is_empty());
    +
    +let empty_slice_of_arrays: &[[u32; 10]] = &[];
    +assert!(empty_slice_of_arrays.as_flattened().is_empty());
    +
    1.80.0 · Source

    pub fn as_flattened_mut(&mut self) -> &mut [T]

    Takes a &mut [[T; N]], and flattens it to a &mut [T].

    +
    §Panics
    +

    This panics if the length of the resulting slice would overflow a usize.

    +

    This is only possible when flattening a slice of arrays of zero-sized +types, and thus tends to be irrelevant in practice. If +size_of::<T>() > 0, this will never panic.

    +
    §Examples
    +
    fn add_5_to_all(slice: &mut [i32]) {
    +    for i in slice {
    +        *i += 5;
    +    }
    +}
    +
    +let mut array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
    +add_5_to_all(array.as_flattened_mut());
    +assert_eq!(array, [[6, 7, 8], [9, 10, 11], [12, 13, 14]]);
    +
    Source

    pub fn sort_floats(&mut self)

    🔬This is a nightly-only experimental API. (sort_floats)

    Sorts the slice of floats.

    +

    This sort is in-place (i.e. does not allocate), O(n * log(n)) worst-case, and uses +the ordering defined by f32::total_cmp.

    +
    §Current implementation
    +

    This uses the same sorting algorithm as sort_unstable_by.

    +
    §Examples
    +
    #![feature(sort_floats)]
    +let mut v = [2.6, -5e-8, f32::NAN, 8.29, f32::INFINITY, -1.0, 0.0, -f32::INFINITY, -0.0];
    +
    +v.sort_floats();
    +let sorted = [-f32::INFINITY, -1.0, -5e-8, -0.0, 0.0, 2.6, 8.29, f32::INFINITY, f32::NAN];
    +assert_eq!(&v[..8], &sorted[..8]);
    +assert!(v[8].is_nan());
    +
    Source

    pub fn sort_floats(&mut self)

    🔬This is a nightly-only experimental API. (sort_floats)

    Sorts the slice of floats.

    +

    This sort is in-place (i.e. does not allocate), O(n * log(n)) worst-case, and uses +the ordering defined by f64::total_cmp.

    +
    §Current implementation
    +

    This uses the same sorting algorithm as sort_unstable_by.

    +
    §Examples
    +
    #![feature(sort_floats)]
    +let mut v = [2.6, -5e-8, f64::NAN, 8.29, f64::INFINITY, -1.0, 0.0, -f64::INFINITY, -0.0];
    +
    +v.sort_floats();
    +let sorted = [-f64::INFINITY, -1.0, -5e-8, -0.0, 0.0, 2.6, 8.29, f64::INFINITY, f64::NAN];
    +assert_eq!(&v[..8], &sorted[..8]);
    +assert!(v[8].is_nan());
    +
    1.79.0 · Source

    pub fn utf8_chunks(&self) -> Utf8Chunks<'_>

    Creates an iterator over the contiguous valid UTF-8 ranges of this +slice, and the non-UTF-8 fragments in between.

    +

    See the Utf8Chunk type for documentation of the items yielded by this iterator.

    +
    §Examples
    +

    This function formats arbitrary but mostly-UTF-8 bytes into Rust source +code in the form of a C-string literal (c"...").

    + +
    use std::fmt::Write as _;
    +
    +pub fn cstr_literal(bytes: &[u8]) -> String {
    +    let mut repr = String::new();
    +    repr.push_str("c\"");
    +    for chunk in bytes.utf8_chunks() {
    +        for ch in chunk.valid().chars() {
    +            // Escapes \0, \t, \r, \n, \\, \', \", and uses \u{...} for non-printable characters.
    +            write!(repr, "{}", ch.escape_debug()).unwrap();
    +        }
    +        for byte in chunk.invalid() {
    +            write!(repr, "\\x{:02X}", byte).unwrap();
    +        }
    +    }
    +    repr.push('"');
    +    repr
    +}
    +
    +fn main() {
    +    let lit = cstr_literal(b"\xferris the \xf0\x9f\xa6\x80\x07");
    +    let expected = stringify!(c"\xFErris the 🦀\u{7}");
    +    assert_eq!(lit, expected);
    +}
    +
    1.0.0 · Source

    pub fn sort(&mut self)
    where + T: Ord,

    Sorts the slice, preserving initial order of equal elements.

    +

    This sort is stable (i.e., does not reorder equal elements) and O(n * log(n)) +worst-case.

    +

    If the implementation of Ord for T does not implement a total order, the function +may panic; even if the function exits normally, the resulting order of elements in the slice +is unspecified. See also the note on panicking below.

    +

    When applicable, unstable sorting is preferred because it is generally faster than stable +sorting and it doesn’t allocate auxiliary memory. See +sort_unstable. The exception are partially sorted slices, which +may be better served with slice::sort.

    +

    Sorting types that only implement PartialOrd such as f32 and f64 require +additional precautions. For example, f32::NAN != f32::NAN, which doesn’t fulfill the +reflexivity requirement of Ord. By using an alternative comparison function with +slice::sort_by such as f32::total_cmp or f64::total_cmp that defines a total +order users can sort slices containing floating-point values. Alternatively, if all values +in the slice are guaranteed to be in a subset for which PartialOrd::partial_cmp forms a +total order, it’s possible to sort the slice with sort_by(|a, b| a.partial_cmp(b).unwrap()).

    +
    §Current implementation
    +

    The current implementation is based on driftsort by Orson Peters and Lukas Bergdoll, which +combines the fast average case of quicksort with the fast worst case and partial run +detection of mergesort, achieving linear time on fully sorted and reversed inputs. On inputs +with k distinct elements, the expected time to sort the data is O(n * log(k)).

    +

    The auxiliary memory allocation behavior depends on the input length. Short slices are +handled without allocation, medium sized slices allocate self.len() and beyond that it +clamps at self.len() / 2.

    +
    §Panics
    +

    May panic if the implementation of Ord for T does not implement a total order, or if +the Ord implementation itself panics.

    +

    All safe functions on slices preserve the invariant that even if the function panics, all +original elements will remain in the slice and any possible modifications via interior +mutability are observed in the input. This ensures that recovery code (for instance inside +of a Drop or following a catch_unwind) will still have access to all the original +elements. For instance, if the slice belongs to a Vec, the Vec::drop method will be able +to dispose of all contained elements.

    +
    §Examples
    +
    let mut v = [4, -5, 1, -3, 2];
     
     v.sort();
    -assert!(v == [-5, -3, 1, 2, 4]);
    -
    1.0.0 · source

    pub fn sort_by<F>(&mut self, compare: F)
    where - F: FnMut(&T, &T) -> Ordering,

    Sorts the slice with a comparator function.

    -

    This sort is stable (i.e., does not reorder equal elements) and O(n * log(n)) worst-case.

    -

    The comparator function must define a total ordering for the elements in the slice. If -the ordering is not total, the order of the elements is unspecified. An order is a -total order if it is (for all a, b and c):

    -
      -
    • total and antisymmetric: exactly one of a < b, a == b or a > b is true, and
    • -
    • transitive, a < b and b < c implies a < c. The same must hold for both == and >.
    • -
    -

    For example, while f64 doesn’t implement Ord because NaN != NaN, we can use -partial_cmp as our sort function when we know the slice doesn’t contain a NaN.

    - -
    let mut floats = [5f64, 4.0, 1.0, 3.0, 2.0];
    -floats.sort_by(|a, b| a.partial_cmp(b).unwrap());
    -assert_eq!(floats, [1.0, 2.0, 3.0, 4.0, 5.0]);
    -

    When applicable, unstable sorting is preferred because it is generally faster than stable -sorting and it doesn’t allocate auxiliary memory. -See sort_unstable_by.

    +assert_eq!(v, [-5, -3, 1, 2, 4]);
    +
    1.0.0 · Source

    pub fn sort_by<F>(&mut self, compare: F)
    where + F: FnMut(&T, &T) -> Ordering,

    Sorts the slice with a comparison function, preserving initial order of equal elements.

    +

    This sort is stable (i.e., does not reorder equal elements) and O(n * log(n)) +worst-case.

    +

    If the comparison function compare does not implement a total order, the function may +panic; even if the function exits normally, the resulting order of elements in the slice is +unspecified. See also the note on panicking below.

    +

    For example |a, b| (a - b).cmp(a) is a comparison function that is neither transitive nor +reflexive nor total, a < b < c < a with a = 1, b = 2, c = 3. For more information and +examples see the Ord documentation.

    §Current implementation
    -

    The current algorithm is an adaptive, iterative merge sort inspired by -timsort. -It is designed to be very fast in cases where the slice is nearly sorted, or consists of -two or more sorted sequences concatenated one after another.

    -

    Also, it allocates temporary storage half the size of self, but for short slices a -non-allocating insertion sort is used instead.

    -
    §Examples
    -
    let mut v = [5, 4, 1, 3, 2];
    +

    The current implementation is based on driftsort by Orson Peters and Lukas Bergdoll, which +combines the fast average case of quicksort with the fast worst case and partial run +detection of mergesort, achieving linear time on fully sorted and reversed inputs. On inputs +with k distinct elements, the expected time to sort the data is O(n * log(k)).

    +

    The auxiliary memory allocation behavior depends on the input length. Short slices are +handled without allocation, medium sized slices allocate self.len() and beyond that it +clamps at self.len() / 2.

    +
    §Panics
    +

    May panic if compare does not implement a total order, or if compare itself panics.

    +

    All safe functions on slices preserve the invariant that even if the function panics, all +original elements will remain in the slice and any possible modifications via interior +mutability are observed in the input. This ensures that recovery code (for instance inside +of a Drop or following a catch_unwind) will still have access to all the original +elements. For instance, if the slice belongs to a Vec, the Vec::drop method will be able +to dispose of all contained elements.

    +
    §Examples
    +
    let mut v = [4, -5, 1, -3, 2];
     v.sort_by(|a, b| a.cmp(b));
    -assert!(v == [1, 2, 3, 4, 5]);
    +assert_eq!(v, [-5, -3, 1, 2, 4]);
     
     // reverse sorting
     v.sort_by(|a, b| b.cmp(a));
    -assert!(v == [5, 4, 3, 2, 1]);
    -
    1.7.0 · source

    pub fn sort_by_key<K, F>(&mut self, f: F)
    where +assert_eq!(v, [4, 2, 1, -3, -5]);
    +

    1.7.0 · Source

    pub fn sort_by_key<K, F>(&mut self, f: F)
    where F: FnMut(&T) -> K, - K: Ord,

    Sorts the slice with a key extraction function.

    + K: Ord,

    Sorts the slice with a key extraction function, preserving initial order of equal elements.

    This sort is stable (i.e., does not reorder equal elements) and O(m * n * log(n)) worst-case, where the key function is O(m).

    -

    For expensive key functions (e.g. functions that are not simple property accesses or -basic operations), sort_by_cached_key is likely to be -significantly faster, as it does not recompute element keys.

    -

    When applicable, unstable sorting is preferred because it is generally faster than stable -sorting and it doesn’t allocate auxiliary memory. -See sort_unstable_by_key.

    +

    If the implementation of Ord for K does not implement a total order, the function +may panic; even if the function exits normally, the resulting order of elements in the slice +is unspecified. See also the note on panicking below.

    §Current implementation
    -

    The current algorithm is an adaptive, iterative merge sort inspired by -timsort. -It is designed to be very fast in cases where the slice is nearly sorted, or consists of -two or more sorted sequences concatenated one after another.

    -

    Also, it allocates temporary storage half the size of self, but for short slices a -non-allocating insertion sort is used instead.

    -
    §Examples
    -
    let mut v = [-5i32, 4, 1, -3, 2];
    +

    The current implementation is based on driftsort by Orson Peters and Lukas Bergdoll, which +combines the fast average case of quicksort with the fast worst case and partial run +detection of mergesort, achieving linear time on fully sorted and reversed inputs. On inputs +with k distinct elements, the expected time to sort the data is O(n * log(k)).

    +

    The auxiliary memory allocation behavior depends on the input length. Short slices are +handled without allocation, medium sized slices allocate self.len() and beyond that it +clamps at self.len() / 2.

    +
    §Panics
    +

    May panic if the implementation of Ord for K does not implement a total order, or if +the Ord implementation or the key-function f panics.

    +

    All safe functions on slices preserve the invariant that even if the function panics, all +original elements will remain in the slice and any possible modifications via interior +mutability are observed in the input. This ensures that recovery code (for instance inside +of a Drop or following a catch_unwind) will still have access to all the original +elements. For instance, if the slice belongs to a Vec, the Vec::drop method will be able +to dispose of all contained elements.

    +
    §Examples
    +
    let mut v = [4i32, -5, 1, -3, 2];
     
     v.sort_by_key(|k| k.abs());
    -assert!(v == [1, 2, -3, 4, -5]);
    -
    1.34.0 · source

    pub fn sort_by_cached_key<K, F>(&mut self, f: F)
    where +assert_eq!(v, [1, 2, -3, 4, -5]);
    +

    1.34.0 · Source

    pub fn sort_by_cached_key<K, F>(&mut self, f: F)
    where F: FnMut(&T) -> K, - K: Ord,

    Sorts the slice with a key extraction function.

    -

    During sorting, the key function is called at most once per element, by using -temporary storage to remember the results of key evaluation. -The order of calls to the key function is unspecified and may change in future versions -of the standard library.

    -

    This sort is stable (i.e., does not reorder equal elements) and O(m * n + n * log(n)) -worst-case, where the key function is O(m).

    -

    For simple key functions (e.g., functions that are property accesses or -basic operations), sort_by_key is likely to be -faster.

    + K: Ord,

    Sorts the slice with a key extraction function, preserving initial order of equal elements.

    +

    This sort is stable (i.e., does not reorder equal elements) and O(m * n + n * +log(n)) worst-case, where the key function is O(m).

    +

    During sorting, the key function is called at most once per element, by using temporary +storage to remember the results of key evaluation. The order of calls to the key function is +unspecified and may change in future versions of the standard library.

    +

    If the implementation of Ord for K does not implement a total order, the function +may panic; even if the function exits normally, the resulting order of elements in the slice +is unspecified. See also the note on panicking below.

    +

    For simple key functions (e.g., functions that are property accesses or basic operations), +sort_by_key is likely to be faster.

    §Current implementation
    -

    The current algorithm is based on pattern-defeating quicksort by Orson Peters, -which combines the fast average case of randomized quicksort with the fast worst case of -heapsort, while achieving linear time on slices with certain patterns. It uses some -randomization to avoid degenerate cases, but with a fixed seed to always provide -deterministic behavior.

    +

    The current implementation is based on instruction-parallel-network sort by Lukas +Bergdoll, which combines the fast average case of randomized quicksort with the fast worst +case of heapsort, while achieving linear time on fully sorted and reversed inputs. And +O(k * log(n)) where k is the number of distinct elements in the input. It leverages +superscalar out-of-order execution capabilities commonly found in CPUs, to efficiently +perform the operation.

    In the worst case, the algorithm allocates temporary storage in a Vec<(K, usize)> the length of the slice.

    -
    §Examples
    -
    let mut v = [-5i32, 4, 32, -3, 2];
    +
    §Panics
    +

    May panic if the implementation of Ord for K does not implement a total order, or if +the Ord implementation panics.

    +

    All safe functions on slices preserve the invariant that even if the function panics, all +original elements will remain in the slice and any possible modifications via interior +mutability are observed in the input. This ensures that recovery code (for instance inside +of a Drop or following a catch_unwind) will still have access to all the original +elements. For instance, if the slice belongs to a Vec, the Vec::drop method will be able +to dispose of all contained elements.

    +
    §Examples
    +
    let mut v = [4i32, -5, 1, -3, 2, 10];
     
    -v.sort_by_cached_key(|k| k.to_string());
    -assert!(v == [-3, -5, 2, 32, 4]);
    -
    1.0.0 · source

    pub fn to_vec(&self) -> Vec<T>
    where +// Strings are sorted by lexicographical order. +v.sort_by_cached_key(|k| k.to_string()); +assert_eq!(v, [-3, -5, 1, 10, 2, 4]);
    +

    1.0.0 · Source

    pub fn to_vec(&self) -> Vec<T>
    where T: Clone,

    Copies self into a new Vec.

    -
    §Examples
    +
    §Examples
    let s = [10, 40, 30];
     let x = s.to_vec();
     // Here, `s` and `x` can be modified independently.
    -
    source

    pub fn to_vec_in<A>(&self, alloc: A) -> Vec<T, A>
    where +

    Source

    pub fn to_vec_in<A>(&self, alloc: A) -> Vec<T, A>
    where A: Allocator, T: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Copies self into a new Vec with an allocator.

    -
    §Examples
    +
    §Examples
    #![feature(allocator_api)]
     
     use std::alloc::System;
    @@ -3041,11 +3368,11 @@ v.sort_by_cached_key(|k| k.to_string());
     let s = [10, 40, 30];
     let x = s.to_vec_in(System);
     // Here, `s` and `x` can be modified independently.
    -
    1.40.0 · source

    pub fn repeat(&self, n: usize) -> Vec<T>
    where +

    1.40.0 · Source

    pub fn repeat(&self, n: usize) -> Vec<T>
    where T: Copy,

    Creates a vector by copying a slice n times.

    -
    §Panics
    +
    §Panics

    This function will panic if the capacity would overflow.

    -
    §Examples
    +
    §Examples

    Basic usage:

    assert_eq!([1, 2].repeat(3), vec![1, 2, 1, 2, 1, 2]);
    @@ -3053,59 +3380,72 @@ v.sort_by_cached_key(|k| k.to_string());
    // this will panic at runtime
     b"0123456789abcdef".repeat(usize::MAX);
    -
    1.0.0 · source

    pub fn concat<Item>(&self) -> <[T] as Concat<Item>>::Output
    where +

    1.0.0 · Source

    pub fn concat<Item>(&self) -> <[T] as Concat<Item>>::Output
    where [T]: Concat<Item>, Item: ?Sized,

    Flattens a slice of T into a single value Self::Output.

    -
    §Examples
    +
    §Examples
    assert_eq!(["hello", "world"].concat(), "helloworld");
     assert_eq!([[1, 2], [3, 4]].concat(), [1, 2, 3, 4]);
    -
    1.3.0 · source

    pub fn join<Separator>( +

    1.3.0 · Source

    pub fn join<Separator>( &self, - sep: Separator + sep: Separator, ) -> <[T] as Join<Separator>>::Output
    where [T]: Join<Separator>,

    Flattens a slice of T into a single value Self::Output, placing a given separator between each.

    -
    §Examples
    +
    §Examples
    assert_eq!(["hello", "world"].join(" "), "hello world");
     assert_eq!([[1, 2], [3, 4]].join(&0), [1, 2, 0, 3, 4]);
     assert_eq!([[1, 2], [3, 4]].join(&[0, 0][..]), [1, 2, 0, 0, 3, 4]);
    -
    1.0.0 · source

    pub fn connect<Separator>( +

    1.0.0 · Source

    pub fn connect<Separator>( &self, - sep: Separator + sep: Separator, ) -> <[T] as Join<Separator>>::Output
    where [T]: Join<Separator>,

    👎Deprecated since 1.3.0: renamed to join

    Flattens a slice of T into a single value Self::Output, placing a given separator between each.

    -
    §Examples
    +
    §Examples
    assert_eq!(["hello", "world"].connect(" "), "hello world");
     assert_eq!([[1, 2], [3, 4]].connect(&0), [1, 2, 0, 3, 4]);
    -

    Trait Implementations§

    source§

    impl Clone for TestArg

    source§

    fn clone(&self) -> TestArg

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TestArg

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deref for TestArg

    §

    type Target = Vec<String>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for TestArg

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl<'de> Deserialize<'de> for TestArg

    source§

    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where - D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TestArg

    source§

    fn eq(&self, other: &TestArg) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TestArg

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for TestArg

    source§

    impl StructuralPartialEq for TestArg

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where +

    1.23.0 · Source

    pub fn to_ascii_uppercase(&self) -> Vec<u8>

    Returns a vector containing a copy of this slice where each byte +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.

    +
    1.23.0 · Source

    pub fn to_ascii_lowercase(&self) -> Vec<u8>

    Returns a vector containing a copy of this slice where each byte +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.

    +

    Trait Implementations§

    Source§

    impl Clone for TestArg

    Source§

    fn clone(&self) -> TestArg

    Returns a copy of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for TestArg

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl Deref for TestArg

    Source§

    type Target = Vec<String>

    The resulting type after dereferencing.
    Source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    Source§

    impl DerefMut for TestArg

    Source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    Source§

    impl<'de> Deserialize<'de> for TestArg

    Source§

    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where + D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    Source§

    impl PartialEq for TestArg

    Source§

    fn eq(&self, other: &TestArg) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    Source§

    impl Serialize for TestArg

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    Source§

    impl Eq for TestArg

    Source§

    impl StructuralPartialEq for TestArg

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where + T: Clone,

    Source§

    unsafe fn clone_to_uninit(&self, dst: *mut u8)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    Source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + K: Borrow<Q> + ?Sized,

    Source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    + K: Borrow<Q> + ?Sized,
    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +
    Source§

    impl<T> IntoEither for T

    Source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where - F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
    Source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +otherwise. Read more
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    Source§

    impl<P, T> Receiver for P
    where + P: Deref<Target = T> + ?Sized, + T: ?Sized,

    Source§

    type Target = T

    🔬This is a nightly-only experimental API. (arbitrary_self_types)
    The target type on which the method may be called.
    Source§

    impl<T> Same for T

    Source§

    type Output = T

    Should always be Self
    Source§

    impl<T> ToOwned for T
    where + T: Clone,

    Source§

    type Owned = T

    The resulting type after obtaining ownership.
    Source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    Source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    Source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where + T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/docs/api/cli/types/struct.ToolchainBoundedSpecifier.html b/docs/api/cli/types/struct.ToolchainBoundedSpecifier.html index c6a11698..5c09a1f2 100644 --- a/docs/api/cli/types/struct.ToolchainBoundedSpecifier.html +++ b/docs/api/cli/types/struct.ToolchainBoundedSpecifier.html @@ -1,38 +1,39 @@ -ToolchainBoundedSpecifier in cli::types - Rust

    Struct cli::types::ToolchainBoundedSpecifier

    source ·
    pub struct ToolchainBoundedSpecifier {
    +ToolchainBoundedSpecifier in cli::types - Rust
    cli::types

    Struct ToolchainBoundedSpecifier

    Source
    pub struct ToolchainBoundedSpecifier {
         pub channel: String,
         pub min_version: String,
     }
    Expand description

    A toolchain with a minimum version bound

    Fields§

    §channel: String

    The channel of the toolchain to use

    §min_version: String

    The minimum version to match

    -

    Trait Implementations§

    source§

    impl Clone for ToolchainBoundedSpecifier

    source§

    fn clone(&self) -> ToolchainBoundedSpecifier

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ToolchainBoundedSpecifier

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ToolchainBoundedSpecifier

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for ToolchainBoundedSpecifier

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for ToolchainBoundedSpecifier

    source§

    fn eq(&self, other: &ToolchainBoundedSpecifier) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for ToolchainBoundedSpecifier

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for ToolchainBoundedSpecifier

    source§

    impl StructuralPartialEq for ToolchainBoundedSpecifier

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where +

    Trait Implementations§

    Source§

    impl Clone for ToolchainBoundedSpecifier

    Source§

    fn clone(&self) -> ToolchainBoundedSpecifier

    Returns a copy of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ToolchainBoundedSpecifier

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl<'de> Deserialize<'de> for ToolchainBoundedSpecifier

    Source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    Source§

    impl Display for ToolchainBoundedSpecifier

    Source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl PartialEq for ToolchainBoundedSpecifier

    Source§

    fn eq(&self, other: &ToolchainBoundedSpecifier) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    Source§

    impl Serialize for ToolchainBoundedSpecifier

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    Source§

    impl Eq for ToolchainBoundedSpecifier

    Source§

    impl StructuralPartialEq for ToolchainBoundedSpecifier

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where + T: Clone,

    Source§

    unsafe fn clone_to_uninit(&self, dst: *mut u8)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    Source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + K: Borrow<Q> + ?Sized,

    Source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    + K: Borrow<Q> + ?Sized,
    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +
    Source§

    impl<T> IntoEither for T

    Source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where - F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
    Source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +otherwise. Read more
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    Source§

    impl<T> Same for T

    Source§

    type Output = T

    Should always be Self
    Source§

    impl<T> ToOwned for T
    where + T: Clone,

    Source§

    type Owned = T

    The resulting type after obtaining ownership.
    Source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    Source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    Source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    Source§

    fn to_string(&self) -> String

    Converts the given value to a String. Read more
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    Source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where + T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/docs/api/cli/types/struct.WatchOptions.html b/docs/api/cli/types/struct.WatchOptions.html index 5c9396d0..1eb41352 100644 --- a/docs/api/cli/types/struct.WatchOptions.html +++ b/docs/api/cli/types/struct.WatchOptions.html @@ -1,4 +1,4 @@ -WatchOptions in cli::types - Rust

    Struct cli::types::WatchOptions

    source ·
    pub struct WatchOptions {
    +WatchOptions in cli::types - Rust
    cli::types

    Struct WatchOptions

    Source
    pub struct WatchOptions {
         pub version: Option<String>,
         pub postpone: Option<bool>,
         pub ignore_pattern: Option<MaybeArray<String>>,
    @@ -12,28 +12,29 @@
     
    §no_git_ignore: Option<bool>

    Do not use .gitignore files

    §why: Option<bool>

    Show paths that changed

    §watch: Option<Vec<String>>

    Select which files/folders to watch

    -

    Trait Implementations§

    source§

    impl Clone for WatchOptions

    source§

    fn clone(&self) -> WatchOptions

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for WatchOptions

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for WatchOptions

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for WatchOptions

    source§

    fn eq(&self, other: &WatchOptions) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for WatchOptions

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    Trait Implementations§

    Source§

    impl Clone for WatchOptions

    Source§

    fn clone(&self) -> WatchOptions

    Returns a copy of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for WatchOptions

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl<'de> Deserialize<'de> for WatchOptions

    Source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    Source§

    impl PartialEq for WatchOptions

    Source§

    fn eq(&self, other: &WatchOptions) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    Source§

    impl Serialize for WatchOptions

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where + T: Clone,

    Source§

    unsafe fn clone_to_uninit(&self, dst: *mut u8)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +
    Source§

    impl<T> IntoEither for T

    Source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where - F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
    Source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +otherwise. Read more
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    Source§

    impl<T> Same for T

    Source§

    type Output = T

    Should always be Self
    Source§

    impl<T> ToOwned for T
    where + T: Clone,

    Source§

    type Owned = T

    The resulting type after obtaining ownership.
    Source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    Source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    Source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where + T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/docs/api/cli/types/struct.Workspace.html b/docs/api/cli/types/struct.Workspace.html index 6fc56c35..2ee59efa 100644 --- a/docs/api/cli/types/struct.Workspace.html +++ b/docs/api/cli/types/struct.Workspace.html @@ -1,4 +1,4 @@ -Workspace in cli::types - Rust

    Struct cli::types::Workspace

    source ·
    pub struct Workspace {
    +Workspace in cli::types - Rust
    cli::types

    Struct Workspace

    Source
    pub struct Workspace {
         pub members: Option<Vec<String>>,
         pub exclude: Option<Vec<String>>,
         pub dependencies: Option<IndexMap<String, CrateDependency>>,
    @@ -8,27 +8,29 @@
     
    §exclude: Option<Vec<String>>

    exclude paths

    §dependencies: Option<IndexMap<String, CrateDependency>>

    workspace level dependencies

    §package: Option<PackageInfo>

    root package

    -

    Implementations§

    source§

    impl Workspace

    source

    pub fn new() -> Workspace

    Creates and returns a new instance.

    -

    Trait Implementations§

    source§

    impl Clone for Workspace

    source§

    fn clone(&self) -> Workspace

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Workspace

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Workspace

    source§

    fn default() -> Workspace

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Workspace

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Workspace

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    Implementations§

    Source§

    impl Workspace

    Source

    pub fn new() -> Workspace

    Creates and returns a new instance.

    +

    Trait Implementations§

    Source§

    impl Clone for Workspace

    Source§

    fn clone(&self) -> Workspace

    Returns a copy of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for Workspace

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl Default for Workspace

    Source§

    fn default() -> Workspace

    Returns the “default value” for a type. Read more
    Source§

    impl<'de> Deserialize<'de> for Workspace

    Source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    Source§

    impl Serialize for Workspace

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where + T: Clone,

    Source§

    unsafe fn clone_to_uninit(&self, dst: *mut u8)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    Source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    Source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +
    Source§

    impl<T> IntoEither for T

    Source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where - F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +otherwise. Read more
    Source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for T
    where - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +otherwise. Read more
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    Source§

    impl<T> Same for T

    Source§

    type Output = T

    Should always be Self
    Source§

    impl<T> ToOwned for T
    where + T: Clone,

    Source§

    type Owned = T

    The resulting type after obtaining ownership.
    Source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    Source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    Source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    Source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    Source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    Source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where + T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/docs/api/crates.js b/docs/api/crates.js index 236526dd..fbb766e8 100644 --- a/docs/api/crates.js +++ b/docs/api/crates.js @@ -1 +1,2 @@ -window.ALL_CRATES = ["cargo_make","cli","makers"]; \ No newline at end of file +window.ALL_CRATES = ["cargo_make","cli","makers"]; +//{"start":21,"fragment_lengths":[12,6,9]} \ No newline at end of file diff --git a/docs/api/help.html b/docs/api/help.html index b3791e67..bca3701b 100644 --- a/docs/api/help.html +++ b/docs/api/help.html @@ -1 +1 @@ -Help

    Rustdoc help

    Back
    \ No newline at end of file +Help

    Rustdoc help

    Back
    \ No newline at end of file diff --git a/docs/api/makers/all.html b/docs/api/makers/all.html index 1953df1d..fe3e7a11 100644 --- a/docs/api/makers/all.html +++ b/docs/api/makers/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Functions

    \ No newline at end of file +List of all items in this crate

    List of all items

    Functions

    \ No newline at end of file diff --git a/docs/api/makers/fn.get_name.html b/docs/api/makers/fn.get_name.html index 12b16cc8..26e73f77 100644 --- a/docs/api/makers/fn.get_name.html +++ b/docs/api/makers/fn.get_name.html @@ -1 +1 @@ -get_name in makers - Rust

    Function makers::get_name

    source ·
    pub(crate) fn get_name() -> String
    \ No newline at end of file +get_name in makers - Rust
    makers

    Function get_name

    Source
    pub(crate) fn get_name() -> String
    \ No newline at end of file diff --git a/docs/api/makers/fn.main.html b/docs/api/makers/fn.main.html index e0d0c11e..4b3cc345 100644 --- a/docs/api/makers/fn.main.html +++ b/docs/api/makers/fn.main.html @@ -1 +1 @@ -main in makers - Rust

    Function makers::main

    source ·
    pub(crate) fn main() -> SuccessOrCargoMakeError<ExitCode>
    \ No newline at end of file +main in makers - Rust
    makers

    Function main

    Source
    pub(crate) fn main() -> SuccessOrCargoMakeError<ExitCode>
    \ No newline at end of file diff --git a/docs/api/makers/index.html b/docs/api/makers/index.html index dd217681..9cbd3494 100644 --- a/docs/api/makers/index.html +++ b/docs/api/makers/index.html @@ -1,4 +1,4 @@ -makers - Rust

    Crate makers

    source ·
    Expand description

    §makers

    +makers - Rust

    Crate makers

    Source
    Expand description

    §makers

    Rust task runner and build tool.
    The makers executable works the same as cargo-make except that it is not invoked as a cargo sub command.

    @@ -7,4 +7,4 @@ as a cargo sub command.

    §License

    Developed by Sagie Gur-Ari and licensed under the Apache 2 open source license.

    -

    Functions§

    \ No newline at end of file +

    Functions§

    \ No newline at end of file diff --git a/docs/api/search-index.js b/docs/api/search-index.js index eadd500b..8e401270 100644 --- a/docs/api/search-index.js +++ b/docs/api/search-index.js @@ -1,7 +1,4 @@ -var searchIndex = new Map(JSON.parse('[\ -["cargo_make",{"t":"HH","n":["get_name","main"],"q":[[0,"cargo_make"],[2,"alloc::string"],[3,"std::process"],[4,"cli::error"]],"i":[0,0],"f":"{{}b}{{}{{f{d}}}}","D":"b","p":[[5,"String",2],[5,"ExitCode",3],[6,"SuccessOrCargoMakeError",4]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAEAAgA="}],\ -["cli",{"t":"CCCCCCHCCHHCCHHHHHJHHHPPPPGGPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOFNNONNNNNNOONNNNHPPPPPFPFFGGPFFGFFPPPPGGPPGFFGFFFFFFGFFPFFFFFPPPFGFFPPGPFPPPPPPPPFPPPFPPFGGFFPPFGPPPPPPFFFFGFPPFGPGPPPFFOOOOONNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOONOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOONOOOOOONOOOOOONNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONOO","n":["cli","cli_commands","cli_parser","config","error","logger","run_cli","runner","types","run","run_cli","list_steps","print_steps","run","print","create_cli","parse","parse_args","CONFIG_FILE","get_config_directory","load","load_from_path","AliasCycle","AliasCycle","Arity","Arity","CargoMakeError","CargoMakeErrorDiscriminants","CircularReference","CircularReference","DescriptorParseFailed","DescriptorParseFailed","EnvVarCycle","EnvVarCycle","Err","ExitCode","ExitCode","ExitCodeError","ExitCodeError","ExitCodeValidation","ExitCodeValidation","FsIOError","FsIOError","MethodCallRestriction","MethodCallRestriction","NotFound","NotFound","Ok","ParseFileFailed","ParseFileFailed","ParserError","ParserError","StdFmtError","StdFmtError","StdIoError","StdIoError","SuccessOrCargoMakeError","TaskIs","TaskIs","TomlDeError","TomlDeError","VersionTooOld","VersionTooOld","as_ref","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","init","init","init","into","into","into","report","report","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","error","error","error","error","error","LoggerOptions","borrow","borrow_mut","color","deref","deref_mut","drop","from","init","into","level","name","try_from","try_into","type_id","vzip","run","And","Boolean","Boolean","Boolean","Bounded","Cache","CargoPluginInfo","CliArgs","CommandSpec","ConditionScriptValue","ConditionType","Conditional","Config","ConfigSection","CrateDependency","CrateDependencyInfo","CrateInfo","CrateInfo","CtrlCHandling","Decode","Definition","DependencyIdentifier","DeprecationInfo","Details","Enabled","EnvFile","EnvFileInfo","EnvInfo","EnvValue","EnvValueConditioned","EnvValueDecode","EnvValuePathGlob","EnvValueScript","EnvValueUnset","ExecutionPlan","Extend","ExtendOptions","ExternalConfig","File","FileScriptValue","FilesFilesModifiedCondition","FlowInfo","FlowState","GlobalConfig","GroupOr","Info","Info","InstallCargoPluginInfo","InstallCrate","InstallCrateInfo","InstallRustupComponentInfo","List","List","MaybeArray","Message","ModifyConfig","Multiple","Multiple","Name","Name","Number","Options","Options","Or","PackageInfo","Path","Path","PathGlob","PlatformOverrideTask","Profile","Routing","RunTaskDetails","RunTaskInfo","RunTaskName","RunTaskRoutingInfo","RustVersionCondition","RustupComponentInfo","Script","ScriptSections","ScriptValue","Sections","Simple","Single","Single","SingleLine","SingleLine","Step","Task","TaskCondition","TaskIdentifier","TaskWatchOptions","TestArg","Text","Text","ToolchainBoundedSpecifier","ToolchainSpecifier","Unset","UnstableFeature","Value","Value","Version","WatchOptions","Workspace","absolute_path","additional_profiles","alias","allow_private","allow_private","apply","apply","apply","args","args","args","arguments","base_path","binary","binary","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_file","category","channel","channel","channels","ci_info","cleanup_task","cleanup_task","clear","clear","cli_arguments","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","command","command","command","command","condition","condition","condition","condition","condition","condition","condition_script","condition_script","condition_script","condition_script_runner_args","condition_script_runner_args","condition_script_runner_args","condition_type","config","config","config","config","crate_info","crate_name","crate_name","cwd","cwd","cwd","default","default","default","default","default","default","default","default","default","default","default","default_task_name","default_to_workspace","default_value","defaults_only","dependencies","dependencies","dependencies","dependencies","depends_on","deprecated","deprecated","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","diff_execution_plan","disable_check_for_updates","disable_color","disable_color","disable_install","disable_on_error","disable_on_error","disable_workspace","disable_workspace","disabled","disabled","documentation","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","end_task","env","env","env","env","env","env","env_contains","env_false","env_file","env_files","env_files","env_files","env_files","env_info","env_not_set","env_scripts","env_scripts","env_set","env_true","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equal","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","exclude","experimental","extend","extend","extend","extend","extend","extend","fail_message","file","file_name","file_name","files_exist","files_modified","files_not_exist","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","force","force","force","force","forced_plugin","fork","fork","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_name","get_actions_count","get_alias","get_condition_type","get_load_script","get_namespace_prefix","get_normalized_task","get_platform_name","git_info","glob","hash","hide_uninteresting","homepage","ignore_errors","ignore_errors","ignore_pattern","ignore_type","include_dirs","include_files","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_task","inner","input","install_command","install_command","install_crate","install_crate","install_crate_args","install_crate_args","install_script","install_script","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_actionable","is_env_set","is_modifications_defined","is_valid","last_update_check","legacy_migration_task","license","linux","linux_alias","linux_load_script","list_all_steps","list_category_steps","load_cargo_aliases","load_script","log_level","log_level","mac","mac_alias","mac_load_script","main","main_project_member","mapping","max","members","min","min_version","min_version","min_version","min_version","min_version","modify_core_tasks","multi_line","name","name","name","name","name","name","namespace","new","new","new","new","new","new","new","new","new","new","new","no_git_ignore","on_error_task","optional","os","output","output_file","output_format","package","package","parallel","parallel","path","path","path","path","platforms","plugin","plugin","plugins","plugins","post","postpone","pre","print_only","print_time_summary","private","private","private","profile","profile","profiles","reduce_output","relative","repository","run_task","run_task","rust_info","rust_version","rustup_component_name","rustup_component_name","script","script","script","script_extension","script_extension","script_runner","script_runner","script_runner_args","script_runner_args","search_project_root","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","should_ignore_errors","skip_core_tasks","skip_crate_env_info","skip_git_env_info","skip_init_end_tasks","skip_init_end_tasks","skip_rust_env_info","skip_tasks_pattern","skip_tasks_pattern","source","steps","task","task","tasks","tasks","test_arg","test_arg","time_summary","time_summary","to_env_name","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","toolchain","toolchain","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unset","unstable_features","update_check_minimum_interval","value","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","watch","watch","watch","why","windows","windows_alias","windows_load_script","with_namespace","workspace","workspace"],"q":[[0,"cli"],[9,"cli::cli"],[11,"cli::cli_commands"],[13,"cli::cli_commands::list_steps"],[14,"cli::cli_commands::print_steps"],[15,"cli::cli_parser"],[18,"cli::config"],[22,"cli::error"],[123,"cli::error::CargoMakeError"],[128,"cli::logger"],[144,"cli::runner"],[145,"cli::types"],[1593,"alloc::string"],[1594,"core::result"],[1595,"core::option"],[1596,"std::io"],[1597,"cliparser::types"],[1598,"alloc::vec"],[1599,"std::path"],[1600,"core::fmt"],[1601,"std::process"],[1602,"toml::de"],[1603,"std::io::error"],[1604,"fsio::error"],[1605,"core::any"],[1606,"std::time"],[1607,"core::clone"],[1608,"serde::de"],[1609,"core::cmp"],[1610,"core::hash"],[1611,"serde::ser"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,19,4,19,0,0,4,19,4,19,4,19,24,4,19,4,19,4,19,4,19,4,19,4,19,24,4,19,4,19,4,19,4,19,0,4,19,4,19,4,19,4,24,4,19,24,4,19,19,19,24,4,19,24,4,19,24,4,19,19,19,19,19,19,4,4,19,24,24,4,4,4,4,4,4,4,19,19,19,24,4,19,24,4,19,24,4,19,4,24,4,19,24,4,19,24,4,19,24,4,19,96,97,98,99,100,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,49,58,71,72,39,0,63,0,0,0,0,58,0,0,0,0,0,63,83,58,78,0,0,67,63,0,0,0,0,0,0,0,0,0,0,0,0,0,75,0,0,0,0,0,49,44,52,0,0,0,0,58,82,0,72,0,64,69,67,78,58,71,82,49,0,52,82,58,0,58,67,0,0,0,0,0,63,58,0,0,75,39,64,69,75,76,0,0,0,0,0,0,75,76,0,0,58,0,58,63,44,0,0,73,38,36,3,45,36,38,11,36,80,91,3,51,61,62,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,3,36,39,77,50,32,65,66,36,80,45,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,3,36,80,91,53,54,56,66,36,80,66,36,80,66,36,80,50,45,11,84,85,32,60,61,3,36,80,40,7,41,42,14,46,50,36,38,11,84,7,38,54,51,41,14,36,80,53,36,80,3,40,7,41,42,43,44,14,32,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,59,60,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,3,40,7,41,42,43,44,14,32,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,59,60,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,42,36,40,7,41,42,43,44,14,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,3,3,3,7,38,3,45,3,45,36,80,42,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,38,3,50,36,80,11,84,50,50,3,36,80,11,84,45,50,11,84,50,50,49,59,60,61,62,63,64,68,69,71,72,39,77,78,79,83,47,59,59,59,59,69,69,69,69,39,39,39,39,77,77,77,77,78,78,78,78,79,79,79,79,83,83,83,83,41,3,36,80,38,36,80,84,50,73,40,7,50,50,50,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,39,77,77,78,79,79,80,81,82,37,83,38,11,84,85,90,91,60,61,36,80,46,65,66,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,39,39,77,78,78,79,80,81,82,37,83,38,11,84,85,90,91,79,36,36,50,38,37,36,0,32,57,83,3,42,36,80,68,57,57,57,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,38,59,48,60,61,36,80,36,80,36,80,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,78,79,80,81,82,37,83,38,11,84,85,90,91,36,83,37,36,40,38,42,36,36,38,3,3,38,38,3,7,36,36,38,74,38,54,47,41,47,39,60,61,77,38,38,53,78,42,65,66,79,85,37,3,40,7,41,42,14,46,51,36,38,84,68,38,81,50,48,3,3,41,14,65,66,43,51,79,81,50,36,80,11,84,74,68,74,3,3,36,80,37,3,51,50,38,81,42,36,80,32,50,61,62,53,36,80,36,80,36,80,36,80,7,40,7,41,42,43,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,36,38,38,38,3,45,38,3,45,54,90,3,45,11,84,61,62,46,38,83,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,39,77,79,36,80,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,55,38,7,56,42,61,68,3,40,7,41,42,43,44,14,32,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,71,72,73,74,75,76,36,39,77,78,79,80,81,82,37,83,38,11,84,85,90,91,68,36,80,68,36,36,38,78,14,36],"f":"``````{{bd}{{j{fh}}}}``{{{l{f}}{l{n}}{Ab{A`}}}{{j{Adh}}}}1``{{{l{Af}}{l{Ah}}{l{{Ab{b}}}}{l{{Ab{b}}}}d}{{j{Adh}}}}{{{l{Ajc}}{l{Af}}{l{Ah}}{l{Ah}}d{l{{Ab{b}}}}{l{Al}}d}{{j{Adh}}}An}{{{l{n}}B`d}B`}{{{l{n}}{l{Ah}}d}{{j{fh}}}}{{{l{n}}{l{Ah}}d{Ab{{Bb{{l{Ah}}}}}}B`}{{j{fh}}}}`{{}{{Ab{Bd}}}}{{}{{j{nh}}}}{Bd{{j{nh}}}}`````````````````````````````````````````{{{l{h}}}{{l{Ah}}}}{{{l{c}}}{{l{e}}}{}{}}00{{{l{Ajc}}}{{l{Aje}}}{}{}}00{{{l{Bf}}}Bf}{{{l{c}}{l{Aje}}}Ad{}{}}{Bh{{l{c}}}{}}00{Bh{{l{Ajc}}}{}}00{BhAd}00{{{l{Bf}}{l{Bf}}}d}{{{l{c}}{l{e}}}d{}{}}000{{{l{h}}{l{AjBj}}}Bl}{{{l{h}}{l{AjBj}}}{{j{AdBn}}}}{{{l{Bf}}{l{AjBj}}}Bl}{{{j{ch}}}{{C`{c}}}{}}{cc{}}{Cbh}{Cdh}{Cfh}3{Chh}{Cjh}{Bnh}{hBf}{{{l{h}}}Bf}8{{}Bh}00{ce{}{}}00{{{C`{c}}}CbCl}{hCb}{{{l{c}}}e{}{}}{{{l{c}}}b{}}{c{{j{e}}}{}{}}00000{{{l{c}}}Cn{}}00666``````{{{l{c}}}{{l{e}}}{}{}}{{{l{Ajc}}}{{l{Aje}}}{}{}}`{Bh{{l{c}}}{}}{Bh{{l{Ajc}}}{}}{BhAd}{cc{}}=<``776<{{Af{l{Ah}}D`{l{f}}Db{Bb{{Df{bDd}}}}}{{j{Adh}}}}````````````````````````````````````````````````````````````````````````````````````````````````````````````{{{l{AjDh}}{l{Dj}}}Ad}{{{l{AjDl}}{l{Dj}}}Ad}{{{l{AjAf}}{l{Dj}}}Ad}```````9999999999999999999999999999999999999999999999999999999988888888888888888888888888888888888888888888888888888888``{{{l{Dn}}}{{l{Ah}}}}````````{{{l{f}}}f}{{{l{E`}}}E`}{{{l{n}}}n}{{{l{Eb}}}Eb}{{{l{Ed}}}Ed}{{{l{Ef}}}Ef}{{{l{Eh}}}Eh}{{{l{Al}}}Al}{{{l{D`}}}D`}{{{l{Ej}}}Ej}{{{l{El}}}El}{{{l{En}}}En}{{{l{F`}}}F`}{{{l{Fb}}}Fb}{{{l{Fd}}}Fd}{{{l{Ff}}}Ff}{{{l{Fh}}}Fh}{{{l{Fj}}}Fj}{{{l{Fl}}}Fl}{{{l{Fn}}}Fn}{{{l{G`}}}G`}{{{l{Gb}}}Gb}{{{l{Gd}}}Gd}{{{l{Gf}}}Gf}{{{l{Gh}}}Gh}{{{l{Gj}}}Gj}{{{l{Gl}}}Gl}{{{l{Gn}}}Gn}{{{l{H`}}}H`}{{{l{Hb}}}Hb}{{{l{Hd}}}Hd}{{{l{Hf}}}Hf}{{{l{Hh}}}Hh}{{{l{{Hj{c}}}}}{{Hj{c}}}Hl}{{{l{Hn}}}Hn}{{{l{I`}}}I`}{{{l{Ib}}}Ib}{{{l{Id}}}Id}{{{l{If}}}If}{{{l{Ih}}}Ih}{{{l{Dh}}}Dh}{{{l{Dn}}}Dn}{{{l{Ij}}}Ij}{{{l{Il}}}Il}{{{l{In}}}In}{{{l{J`}}}J`}{{{l{Jb}}}Jb}{{{l{Jd}}}Jd}{{{l{Dj}}}Dj}{{{l{Jf}}}Jf}{{{l{Dl}}}Dl}{{{l{Af}}}Af}{{{l{Jh}}}Jh}{{{l{Jj}}}Jj}{{{l{c}}{l{Aje}}}Ad{}{}}00000000000000000000000000000000000000000000000000000```````````````````````````{{}E`}{{}n}{{}Eb}{{}Ed}{{}Al}{{}El}{{}Fd}{{}Dh}{{}Dl}{{}Af}{{}Jh}```````````{Bh{{l{c}}}{}}0000000000000000000000{{{l{Gf}}}{{l{c}}}{}}111111111111111111111111111111111{Bh{{l{Ajc}}}{}}00000000000000000000000{{{l{AjGf}}}{{l{Ajc}}}{}}11111111111111111111111111111111``{c{{j{E`}}}Jl}{c{{j{n}}}Jl}{c{{j{Eb}}}Jl}{c{{j{Ed}}}Jl}{c{{j{Ef}}}Jl}{c{{j{Eh}}}Jl}{c{{j{Al}}}Jl}{c{{j{En}}}Jl}{c{{j{F`}}}Jl}{c{{j{Fb}}}Jl}{c{{j{Fd}}}Jl}{c{{j{Ff}}}Jl}{c{{j{Fh}}}Jl}{c{{j{Fj}}}Jl}{c{{j{Fl}}}Jl}{c{{j{Fn}}}Jl}{c{{j{G`}}}Jl}{c{{j{Gb}}}Jl}{c{{j{Gd}}}Jl}{c{{j{Gf}}}Jl}{c{{j{Gh}}}Jl}{c{{j{Gj}}}Jl}{c{{j{Gl}}}Jl}{c{{j{Gn}}}Jl}{c{{j{H`}}}Jl}{c{{j{Hb}}}Jl}{c{{j{Hd}}}Jl}{c{{j{Hf}}}Jl}{c{{j{Hh}}}Jl}{c{{j{{Hj{e}}}}}JlJn}{c{{j{Hn}}}Jl}{c{{j{I`}}}Jl}{c{{j{Ib}}}Jl}{c{{j{Id}}}Jl}{c{{j{If}}}Jl}{c{{j{Ih}}}Jl}{c{{j{Dh}}}Jl}{c{{j{Dn}}}Jl}{c{{j{Ij}}}Jl}{c{{j{Il}}}Jl}{c{{j{In}}}Jl}{c{{j{J`}}}Jl}{c{{j{Jb}}}Jl}{c{{j{Jd}}}Jl}{c{{j{Dj}}}Jl}{c{{j{Jf}}}Jl}{c{{j{Dl}}}Jl}{c{{j{Af}}}Jl}{c{{j{Jh}}}Jl}````````````{BhAd}0000000000000000000000000000000000000000000000000000000````````````````````{{{l{Fb}}{l{Fb}}}d}{{{l{Gf}}{l{Gf}}}d}{{{l{Gh}}{l{Gh}}}d}{{{l{Gj}}{l{Gj}}}d}{{{l{Gl}}{l{Gl}}}d}{{{l{Gn}}{l{Gn}}}d}{{{l{H`}}{l{H`}}}d}{{{l{Hh}}{l{Hh}}}d}{{{l{{Hj{c}}}}{l{{Hj{c}}}}}dK`}{{{l{Hn}}{l{Hn}}}d}{{{l{I`}}{l{I`}}}d}{{{l{Dn}}{l{Dn}}}d}{{{l{Ij}}{l{Ij}}}d}{{{l{Il}}{l{Il}}}d}{{{l{In}}{l{In}}}d}{{{l{Jf}}{l{Jf}}}d}`{{{l{c}}{l{e}}}d{}{}}000000000000000000000000000``{{{l{AjDh}}{l{Dh}}}Ad}{{{l{AjJ`}}{l{AjDh}}}Ad}{{{l{AjDl}}{l{AjDl}}}Ad}``````````{{{l{f}}{l{AjBj}}}Bl}{{{l{E`}}{l{AjBj}}}Bl}{{{l{n}}{l{AjBj}}}Bl}{{{l{Eb}}{l{AjBj}}}Bl}{{{l{Ed}}{l{AjBj}}}Bl}{{{l{Ef}}{l{AjBj}}}Bl}{{{l{Eh}}{l{AjBj}}}Bl}{{{l{Al}}{l{AjBj}}}Bl}{{{l{D`}}{l{AjBj}}}Bl}{{{l{Ej}}{l{AjBj}}}Bl}{{{l{El}}{l{AjBj}}}Bl}{{{l{En}}{l{AjBj}}}Bl}{{{l{F`}}{l{AjBj}}}Bl}{{{l{Fb}}{l{AjBj}}}Bl}{{{l{Fd}}{l{AjBj}}}Bl}{{{l{Ff}}{l{AjBj}}}Bl}{{{l{Fh}}{l{AjBj}}}Bl}{{{l{Fj}}{l{AjBj}}}Bl}{{{l{Fl}}{l{AjBj}}}Bl}{{{l{Fn}}{l{AjBj}}}Bl}{{{l{G`}}{l{AjBj}}}Bl}{{{l{Gb}}{l{AjBj}}}Bl}{{{l{Gd}}{l{AjBj}}}Bl}{{{l{Gf}}{l{AjBj}}}Bl}{{{l{Gh}}{l{AjBj}}}Bl}{{{l{Gj}}{l{AjBj}}}Bl}{{{l{Gl}}{l{AjBj}}}Bl}{{{l{Gn}}{l{AjBj}}}Bl}{{{l{H`}}{l{AjBj}}}Bl}{{{l{Hb}}{l{AjBj}}}Bl}{{{l{Hd}}{l{AjBj}}}Bl}{{{l{Hf}}{l{AjBj}}}Bl}{{{l{Hh}}{l{AjBj}}}Bl}{{{l{{Hj{c}}}}{l{AjBj}}}BlKb}{{{l{Hn}}{l{AjBj}}}Bl}{{{l{I`}}{l{AjBj}}}Bl}{{{l{Ib}}{l{AjBj}}}Bl}{{{l{Id}}{l{AjBj}}}Bl}{{{l{If}}{l{AjBj}}}Bl}{{{l{Ih}}{l{AjBj}}}Bl}{{{l{Dh}}{l{AjBj}}}Bl}{{{l{Dn}}{l{AjBj}}}Bl}0{{{l{Ij}}{l{AjBj}}}Bl}0{{{l{Il}}{l{AjBj}}}Bl}{{{l{In}}{l{AjBj}}}Bl}0{{{l{J`}}{l{AjBj}}}Bl}{{{l{Jb}}{l{AjBj}}}Bl}{{{l{Jd}}{l{AjBj}}}Bl}{{{l{Dj}}{l{AjBj}}}Bl}{{{l{Jf}}{l{AjBj}}}Bl}{{{l{Dl}}{l{AjBj}}}Bl}{{{l{Af}}{l{AjBj}}}Bl}{{{l{Jh}}{l{AjBj}}}Bl}{{{l{Jj}}{l{AjBj}}}Bl}{{{l{Kd}}{l{AjBj}}}Bl}{{{l{Kf}}{l{AjBj}}}Bl}```````{cc{}}0000000000000000000000000000000000000000{{{l{Ah}}}Dn}1{bDn}22{{{l{Ah}}}Il}333333333333{{{l{Ah}}}In}{{{l{Dh}}}Kh}{{{l{Dh}}}{{Ab{b}}}}{{{l{Fd}}}Fb}{{{l{Dl}}}{{Ab{If}}}}{{{l{Dj}}}b}{{{l{AjDh}}}Dh}{{}b}``{{{l{Jf}}{l{Ajc}}}AdKj}````````{{}Bh}0000000000000000000000000000000000000000000000000000000```````````{ce{}{}}0000000000000000000000000000000000000000000{IlIn}111111111111{{{l{Dh}}}d}{{{l{Jf}}}d}{{{l{Dj}}}d}2`````````````````````{{{l{Dn}}}{{Ab{{l{Ah}}}}}}``````{{{l{Il}}}{{l{Ah}}}}``````{{}f}{{}E`}{{}n}{{}Eb}{{}Ed}{{}Al}{{}El}{bFf}{{}Dh}{{}Dl}{{}Jh}``````````````````````````````````````````````````{{{l{E`}}c}jKl}{{{l{n}}c}jKl}{{{l{Eb}}c}jKl}{{{l{Ed}}c}jKl}{{{l{Ef}}c}jKl}{{{l{Eh}}c}jKl}{{{l{En}}c}jKl}{{{l{F`}}c}jKl}{{{l{Fb}}c}jKl}{{{l{Fd}}c}jKl}{{{l{Ff}}c}jKl}{{{l{Fh}}c}jKl}{{{l{Fj}}c}jKl}{{{l{Fl}}c}jKl}{{{l{Fn}}c}jKl}{{{l{G`}}c}jKl}{{{l{Gb}}c}jKl}{{{l{Gd}}c}jKl}{{{l{Gf}}c}jKl}{{{l{Gh}}c}jKl}{{{l{Gj}}c}jKl}{{{l{Gl}}c}jKl}{{{l{Gn}}c}jKl}{{{l{H`}}c}jKl}{{{l{Hb}}c}jKl}{{{l{Hd}}c}jKl}{{{l{Hf}}c}jKl}{{{l{Hh}}c}jKl}{{{l{{Hj{c}}}}e}jKnKl}{{{l{Hn}}c}jKl}{{{l{I`}}c}jKl}{{{l{Ib}}c}jKl}{{{l{Id}}c}jKl}{{{l{If}}c}jKl}{{{l{Ih}}c}jKl}{{{l{Dh}}c}jKl}{{{l{Dn}}c}jKl}{{{l{Ij}}c}jKl}{{{l{Il}}c}jKl}{{{l{In}}c}jKl}{{{l{J`}}c}jKl}{{{l{Jb}}c}jKl}{{{l{Jd}}c}jKl}{{{l{Dj}}c}jKl}{{{l{Jf}}c}jKl}{{{l{Dl}}c}jKl}{{{l{Af}}c}jKl}{{{l{Jh}}c}jKl}{{{l{Jj}}c}jKl}{{{l{Dh}}}d}``````````````````{{{l{Jf}}}b}{{{l{c}}}e{}{}}00000000000000000000000000000000000000000000000000000{{{l{c}}}b{}}00``{c{{j{e}}}{}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{l{c}}}Cn{}}0000000000000000000000000000000000000000000000000000000```````{ce{}{}}0000000000000000000000000000000000000000000000000000000```````{{Il{l{Ah}}}Il}``","D":"DBf","p":[[5,"String",1593],[1,"bool"],[5,"CliArgs",145],[6,"CargoMakeError",22],[6,"Result",1594],[1,"reference"],[5,"GlobalConfig",145],[5,"LoggerOptions",128],[6,"Option",1595],[1,"unit"],[5,"Config",145],[1,"str"],[0,"mut"],[5,"CrateInfo",145],[10,"Write",1596],[5,"CliSpec",1597],[5,"Vec",1598],[5,"PathBuf",1599],[6,"CargoMakeErrorDiscriminants",22],[1,"usize"],[5,"Formatter",1600],[8,"Result",1600],[5,"Error",1600],[6,"SuccessOrCargoMakeError",22],[5,"ExitCode",1601],[5,"Error",1602],[6,"ParserError",1597],[5,"Error",1603],[6,"FsIOError",1604],[10,"Any",1605],[5,"TypeId",1605],[5,"EnvInfo",145],[5,"SystemTime",1606],[1,"u128"],[1,"tuple"],[5,"Task",145],[5,"ModifyConfig",145],[5,"ConfigSection",145],[6,"ToolchainSpecifier",145],[5,"Cache",145],[5,"Workspace",145],[5,"PackageInfo",145],[5,"CrateDependencyInfo",145],[6,"CrateDependency",145],[5,"FlowInfo",145],[5,"FlowState",145],[5,"RustVersionCondition",145],[5,"FilesFilesModifiedCondition",145],[6,"ConditionType",145],[5,"TaskCondition",145],[5,"EnvFileInfo",145],[6,"EnvFile",145],[5,"EnvValueScript",145],[5,"EnvValueDecode",145],[5,"EnvValueUnset",145],[5,"EnvValueConditioned",145],[5,"EnvValuePathGlob",145],[6,"EnvValue",145],[5,"TestArg",145],[5,"InstallCargoPluginInfo",145],[5,"InstallCrateInfo",145],[5,"InstallRustupComponentInfo",145],[6,"InstallCrate",145],[6,"RunTaskName",145],[5,"RunTaskDetails",145],[5,"RunTaskRoutingInfo",145],[6,"RunTaskInfo",145],[5,"WatchOptions",145],[6,"MaybeArray",145],[10,"Clone",1607],[6,"TaskWatchOptions",145],[6,"DeprecationInfo",145],[5,"FileScriptValue",145],[5,"ScriptSections",145],[6,"ScriptValue",145],[6,"ConditionScriptValue",145],[5,"ToolchainBoundedSpecifier",145],[6,"DependencyIdentifier",145],[5,"TaskIdentifier",145],[5,"PlatformOverrideTask",145],[5,"ExtendOptions",145],[6,"Extend",145],[6,"UnstableFeature",145],[5,"ExternalConfig",145],[5,"Step",145],[10,"Deserializer",1608],[10,"Deserialize",1608],[10,"PartialEq",1609],[10,"Debug",1600],[5,"ExecutionPlan",145],[5,"CommandSpec",145],[1,"u8"],[10,"Hasher",1610],[10,"Serializer",1611],[10,"Serialize",1611],[15,"StdIoError",123],[15,"StdFmtError",123],[15,"TomlDeError",123],[15,"FsIOError",123],[15,"ParserError",123]],"r":[],"b":[[86,"impl-Debug-for-CargoMakeError"],[87,"impl-Display-for-CargoMakeError"],[91,"impl-From%3CExitCode%3E-for-CargoMakeError"],[92,"impl-From%3CError%3E-for-CargoMakeError"],[93,"impl-From%3CParserError%3E-for-CargoMakeError"],[95,"impl-From%3CError%3E-for-CargoMakeError"],[96,"impl-From%3CFsIOError%3E-for-CargoMakeError"],[97,"impl-From%3CError%3E-for-CargoMakeError"],[98,"impl-From%3CCargoMakeError%3E-for-CargoMakeErrorDiscriminants"],[99,"impl-From%3C%26CargoMakeError%3E-for-CargoMakeErrorDiscriminants"],[897,"impl-Display-for-ToolchainSpecifier"],[898,"impl-Debug-for-ToolchainSpecifier"],[899,"impl-Debug-for-ToolchainBoundedSpecifier"],[900,"impl-Display-for-ToolchainBoundedSpecifier"],[902,"impl-Debug-for-TaskIdentifier"],[903,"impl-Display-for-TaskIdentifier"],[963,"impl-From%3C%26str%3E-for-ToolchainSpecifier"],[965,"impl-From%3CString%3E-for-ToolchainSpecifier"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACYEIgAFAAAACgAAAA4AAAAQAAQAFgAFAB0APQBcAAIAYAAEAGYAAgBsABQAggABAIUAAgCJAAAAjQADAAgBbwCDAWsACgIKACACcQCUAjAA0QI3AB0DDwAuAxsAWQM6AMQDAADGAwAAyQMAANkDAADgAwAA6QM3AFgEAADJBDAADgU4AEkFpwD4BTcA"}],\ -["makers",{"t":"HH","n":["get_name","main"],"q":[[0,"makers"],[2,"alloc::string"],[3,"std::process"],[4,"cli::error"]],"i":[0,0],"f":"{{}b}{{}{{f{d}}}}","D":"b","p":[[5,"String",2],[5,"ExitCode",3],[6,"SuccessOrCargoMakeError",4]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAEAAgA="}]\ -]')); +var searchIndex = new Map(JSON.parse('[["cargo_make",{"t":"HH","n":["get_name","main"],"q":[[0,"cargo_make"],[2,"alloc::string"],[3,"std::process"],[4,"cli::error"]],"i":"``","f":"{{}b}{{}{{f{d}}}}","D":"b","p":[[5,"String",2],[5,"ExitCode",3],[6,"SuccessOrCargoMakeError",4]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAEAAgA=","P":[]}],["cli",{"t":"CCCCCCCHCCHHCCHHHHHHJHHHPPPPGGPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOFNNONNNNNNOONNNNHPPPPPFPFFGGPFFGFFPPPPGGPPGFFGFFFFFFGFFPFFFFFPPPFGFFPPGPFPPPPPPPPFPPPFPPFGGFFPPFGPPPPPPFFFFGFPPFGPGPPPFFOOOOONNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOONOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOONOOOOOONOOOOOONNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONOO","n":["cli","cli_commands","cli_parser","completion","config","error","logger","run_cli","runner","types","run","run_cli","list_steps","print_steps","run","print","create_cli","parse","parse_args","generate_completions","CONFIG_FILE","get_config_directory","load","load_from_path","AliasCycle","","Arity","","CargoMakeError","CargoMakeErrorDiscriminants","CircularReference","","DescriptorParseFailed","","EnvVarCycle","","Err","ExitCode","","ExitCodeError","","ExitCodeValidation","","FsIOError","","MethodCallRestriction","","NotFound","","Ok","ParseFileFailed","","ParserError","","StdFmtError","","StdIoError","","SuccessOrCargoMakeError","TaskIs","","TomlDeError","","VersionTooOld","","as_ref","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","deref","","","deref_mut","","","drop","","","eq","equivalent","","","","fmt","","","from","","","","","","","","","","","","init","","","into","","","report","","to_owned","to_string","try_from","","","try_into","","","type_id","","","vzip","","","error","","","","","LoggerOptions","borrow","borrow_mut","color","deref","deref_mut","drop","from","init","into","level","name","try_from","try_into","type_id","vzip","run","And","Boolean","","","Bounded","Cache","CargoPluginInfo","CliArgs","CommandSpec","ConditionScriptValue","ConditionType","Conditional","Config","ConfigSection","CrateDependency","CrateDependencyInfo","CrateInfo","","CtrlCHandling","Decode","Definition","DependencyIdentifier","DeprecationInfo","Details","Enabled","EnvFile","EnvFileInfo","EnvInfo","EnvValue","EnvValueConditioned","EnvValueDecode","EnvValuePathGlob","EnvValueScript","EnvValueUnset","ExecutionPlan","Extend","ExtendOptions","ExternalConfig","File","FileScriptValue","FilesFilesModifiedCondition","FlowInfo","FlowState","GlobalConfig","GroupOr","Info","","InstallCargoPluginInfo","InstallCrate","InstallCrateInfo","InstallRustupComponentInfo","List","","MaybeArray","Message","ModifyConfig","Multiple","","Name","","Number","Options","","Or","PackageInfo","Path","","PathGlob","PlatformOverrideTask","Profile","Routing","RunTaskDetails","RunTaskInfo","RunTaskName","RunTaskRoutingInfo","RustVersionCondition","RustupComponentInfo","Script","ScriptSections","ScriptValue","Sections","Simple","Single","","SingleLine","","Step","Task","TaskCondition","TaskIdentifier","TaskWatchOptions","TestArg","Text","","ToolchainBoundedSpecifier","ToolchainSpecifier","Unset","UnstableFeature","Value","","Version","WatchOptions","Workspace","absolute_path","additional_profiles","alias","allow_private","","apply","","","args","","","arguments","base_path","binary","","borrow","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","build_file","category","channel","","channels","ci_info","cleanup_task","","clear","","cli_arguments","clone","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","command","","","","completion","condition","","","","","","condition_script","","","condition_script_runner_args","","","condition_type","config","","","","crate_info","crate_name","","cwd","","","default","","","","","","","","","","","default_task_name","default_to_workspace","default_value","defaults_only","dependencies","","","","depends_on","deprecated","","deref","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","description","","deserialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","diff_execution_plan","disable_check_for_updates","disable_color","","disable_install","disable_on_error","","disable_workspace","","disabled","","documentation","drop","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","end_task","env","","","","","","env_contains","env_false","env_file","env_files","","","","env_info","env_not","env_not_set","env_scripts","","env_set","env_true","eq","","","","","","","","","","","","","","","","equal","equivalent","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclude","experimental","extend","","","","","","fail_message","file","file_name","","files_exist","files_modified","files_not_exist","fmt","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","force","","","","forced_plugin","fork","","from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from_name","get_actions_count","get_alias","get_condition_type","get_load_script","get_namespace_prefix","get_normalized_task","get_platform_name","git_info","glob","hash","hide_uninteresting","homepage","ignore_errors","","ignore_pattern","ignore_type","include_dirs","include_files","init","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","init_task","inner","input","install_command","","install_crate","","install_crate_args","","install_script","","into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","is_actionable","is_env_set","is_modifications_defined","is_valid","last_update_check","legacy_migration_task","license","linux","linux_alias","linux_load_script","list_all_steps","list_category_steps","load_cargo_aliases","load_script","log_level","","mac","mac_alias","mac_load_script","main","main_project_member","mapping","max","members","min","min_version","","","","","modify_core_tasks","multi_line","name","","","","","","namespace","new","","","","","","","","","","","no_git_ignore","on_error_task","optional","os","output","output_file","output_format","package","","parallel","","path","","","","platforms","plugin","","plugins","","post","postpone","pre","print_only","print_time_summary","private","","","profile","","profiles","reduce_output","relative","repository","run_task","","rust_info","rust_version","rustup_component_name","","script","","","script_extension","","script_runner","","script_runner_args","","search_project_root","serialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","should_ignore_errors","skip_core_tasks","skip_crate_env_info","skip_git_env_info","skip_init_end_tasks","","skip_rust_env_info","skip_tasks_pattern","","source","steps","task","","tasks","","test_arg","","time_summary","","to_env_name","to_owned","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","to_string","","","toolchain","","try_from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","type_id","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","unset","unstable_features","update_check_minimum_interval","value","version","","","vzip","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","watch","","","why","windows","windows_alias","windows_load_script","with_namespace","workspace",""],"q":[[0,"cli"],[10,"cli::cli"],[12,"cli::cli_commands"],[14,"cli::cli_commands::list_steps"],[15,"cli::cli_commands::print_steps"],[16,"cli::cli_parser"],[19,"cli::completion"],[20,"cli::config"],[24,"cli::error"],[126,"cli::error::CargoMakeError"],[131,"cli::logger"],[147,"cli::runner"],[148,"cli::types"],[1652,"alloc::string"],[1653,"core::result"],[1654,"core::option"],[1655,"std::io"],[1656,"cliparser::types"],[1657,"alloc::vec"],[1658,"core::error"],[1659,"alloc::boxed"],[1660,"std::path"],[1661,"core::fmt"],[1662,"toml::de"],[1663,"std::io::error"],[1664,"fsio::error"],[1665,"std::process"],[1666,"core::any"],[1667,"std::time"],[1668,"ci_info::types"],[1669,"core::clone"],[1670,"serde::de"],[1671,"indexmap::map"],[1672,"core::cmp"],[1673,"git_info::types"],[1674,"core::hash"],[1675,"std::collections::hash::map"],[1676,"rust_info::types"],[1677,"serde::ser"]],"i":"````````````````````````hBj10``101010Cf212121212121021212121`2121212021021111021021021111112210022222221110210210212021021021021DfDhDjDlDn`A`00000000000000`HhIfJhJjFl`Il````4`````0Kj5Kb``J`3`````````````Jn`````9H`Hj````:Kh`9`InJd67=<2>`32=`=6`````9=``5:105K```````60``>`>:5``EhEjElfEn23Af3FbFd4FfFhFj7GhnGjGlGnH`AlE`>HbHdHfHhG`?HjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKnLjFdfGhnGjGlGnH`AlE`EnHbHdHfHhG`FfHjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKnLjFdfElFlFnG`E`GdGf6FbEn9GhnGjGlGnH`Al;7HbHdHfHhG`FfHjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKnfGhnGjGlGnH`AlE`EnHbHdHfHhG`FfHjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKnfGhnGjGlGnH`AlE`EnHbHdHfHhG`FfHjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKnf>9Fd1HlHnIbGfEl?10?10?G`En;:9E`IjFh;5FbGhnGjGlAlHb;GdGfKdKnF`fGhn?GlAlHbFfEl?KlJbEjKfG`Hf==Gj:GdGfGn;Kd76;FbAf=GlEl7E`?FhFjHl4;4;4;4;nGh1Gj8GnH`HdHfHhG`?Hj:HnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKn=333fEn510HnLj3265FhFjHb:;6GhnGjGlGnH`AlE`=8HdHfHhG`FfHjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKn<;9=8fGhnGjGlGnH`AlE`EnHbHdHfHhG`FfHjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKnLjFdfGhnGjGlGnH`AlE`EnHbHdHfHhG`FfHjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKnLjFdfGhnGjGlGnH`AlE`EnHbHdHfHhG`FfHjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKnLjFdI`6nIbGlFhJbfGh6Gj5GnH`AlE`EnHbHdHfHhG`FfHjHlHnI`IbIdIfIhIjFhFjIlInGdGfJ`JbJdJhJjEhJlJnK`ElFlFnKbKdFbKfKhF`KjEjAfKlKnLjFdJbEl<1007>Al1","f":"```````{{bd}{{j{fh}}}}``{{{l{f}}{l{n}}{Ab{A`}}}{{j{Adh}}}}1``{{{l{Af}}{l{Ah}}{l{{Ab{b}}}}{l{{Ab{b}}}}d}{{j{Adh}}}}{{{l{Ajc}}{l{Af}}{l{Ah}}{l{Ah}}d{l{{Ab{b}}}}{l{Al}}d}{{j{Adh}}}An}{{{l{n}}B`d}B`}{{{l{n}}{l{Ah}}d}{{j{fh}}}}{{{l{n}}{l{Ah}}d{Ab{{Bb{{l{Ah}}}}}}B`}{{j{fh}}}}{{{l{Ah}}}{{j{Ad{Bf{Bd}}}}}}{{}l}{{}{{Ab{Bh}}}}{{}{{j{nh}}}}{Bh{{j{nh}}}}`````````````````````````````````````````{{{l{h}}}{{l{Ah}}}}{l{{l{c}}}{}}00{{{l{Aj}}}{{l{Ajc}}}{}}00{{{l{Bj}}}Bj}{{l{l{Ajc}}}Ad{}}{{lBl}Ad}{Bn{{l{c}}}{}}00{Bn{{l{Ajc}}}{}}00{BnAd}00{{{l{Bj}}{l{Bj}}}d}{{l{l{c}}}d{}}000{{{l{h}}{l{AjC`}}}Cb}{{{l{h}}{l{AjC`}}}{{j{AdCd}}}}{{{l{Bj}}{l{AjC`}}}Cb}{cc{}}{{{j{ch}}}{{Cf{c}}}{}}{Chh}2{Cjh}{Clh}{Cnh}{Cdh}{D`h}{{{l{h}}}Bj}{hBj}9{{}Bn}00{{}c{}}00{{{Cf{c}}}D`Db}{hD`}{lc{}}{lb}{c{{j{e}}}{}{}}00{{}{{j{c}}}{}}00{lDd}00{{}c{}}00{DfCl}{DhCd}{DjCj}{DlCn}{DnCh}`{l{{l{c}}}{}}{{{l{Aj}}}{{l{Ajc}}}{}}{A`d}{Bn{{l{c}}}{}}{Bn{{l{Ajc}}}{}}{BnAd}{cc{}}{{}Bn}{{}c{}}{A`b}0{c{{j{e}}}{}{}}{{}{{j{c}}}{}}{lDd}{{}c{}}{{Af{l{Ah}}E`{l{f}}Eb{Bb{{Ef{bEd}}}}}{{j{Adh}}}}```````````````````````````````````````````````````````````````````````````````````````````````````````{EhAb}{EjAb}{ElAb}{fd}{End}{{{l{AjEl}}{l{F`}}}Ad}{{{l{AjEj}}{l{F`}}}Ad}{{{l{AjAf}}{l{F`}}}Ad}5{FbAb}{FdAb}{fAb}{FfAb}{Fhb}{FjAb}{l{{l{c}}}{}}0000000000000000000000000000000000000000000000000000000{{{l{Aj}}}{{l{Ajc}}}{}}00000000000000000000000000000000000000000000000000000005={{{l{Fl}}}{{l{Ah}}}}{Fnb}{G`Ab}{E`Gb}{GdAb}{GfAb}{ElAb}>{EnAb}{{{l{f}}}f}{{{l{Gh}}}Gh}{{{l{n}}}n}{{{l{Gj}}}Gj}{{{l{Gl}}}Gl}{{{l{Gn}}}Gn}{{{l{H`}}}H`}{{{l{Al}}}Al}{{{l{E`}}}E`}{{{l{En}}}En}{{{l{Hb}}}Hb}{{{l{Hd}}}Hd}{{{l{Hf}}}Hf}{{{l{Hh}}}Hh}{{{l{G`}}}G`}{{{l{Ff}}}Ff}{{{l{Hj}}}Hj}{{{l{Hl}}}Hl}{{{l{Hn}}}Hn}{{{l{I`}}}I`}{{{l{Ib}}}Ib}{{{l{Id}}}Id}{{{l{If}}}If}{{{l{Ih}}}Ih}{{{l{Ij}}}Ij}{{{l{Fh}}}Fh}{{{l{Fj}}}Fj}{{{l{Il}}}Il}{{{l{In}}}In}{{{l{Gd}}}Gd}{{{l{Gf}}}Gf}{{{l{J`}}}J`}{{{l{Jb}}}Jb}{{{l{{Jd{c}}}}}{{Jd{c}}}Jf}{{{l{Jh}}}Jh}{{{l{Jj}}}Jj}{{{l{Eh}}}Eh}{{{l{Jl}}}Jl}{{{l{Jn}}}Jn}{{{l{K`}}}K`}{{{l{El}}}El}{{{l{Fl}}}Fl}{{{l{Fn}}}Fn}{{{l{Kb}}}Kb}{{{l{Kd}}}Kd}{{{l{Fb}}}Fb}{{{l{Kf}}}Kf}{{{l{Kh}}}Kh}{{{l{F`}}}F`}{{{l{Kj}}}Kj}{{{l{Ej}}}Ej}{{{l{Af}}}Af}{{{l{Kl}}}Kl}{{{l{Kn}}}Kn}{{l{l{Ajc}}}Ad{}}00000000000000000000000000000000000000000000000000000{{lBl}Ad}00000000000000000000000000000000000000000000000000000{fb}{ElAb}{FbAb}{Fdb}{fAb}{HlAb}{HnAb}{IbAb}{GfAb}76076076{G`Ab}{EnAf}{AfEj}{KlAb}{KnEl}{E`Al}{IjAb}{Fhb}{{}Gh}{{}n}{{}Gj}{{}Gl}{{}Al}{{}Hb}{{}G`}{{}El}{{}Ej}{{}Af}{{}Kl}{nAb}{EjAb}{HnAb}{FfAb}{GjAb}{AlAb}{ElAb}{FbAb}{HlAb}21{Bn{{l{c}}}{}}00000000000000000000000{{{l{Ih}}}{{l{c}}}{}}11111111111111111111111111111111{Bn{{l{Ajc}}}{}}00000000000000000000000{{{l{AjIh}}}{{l{Ajc}}}{}}11111111111111111111111111111111{GlAb}7{c{{j{Gh}}}L`}{c{{j{n}}}L`}{c{{j{Gj}}}L`}{c{{j{Gl}}}L`}{c{{j{Gn}}}L`}{c{{j{H`}}}L`}{c{{j{Al}}}L`}{c{{j{Hd}}}L`}{c{{j{Hf}}}L`}{c{{j{Hh}}}L`}{c{{j{G`}}}L`}{c{{j{Ff}}}L`}{c{{j{Hj}}}L`}{c{{j{Hl}}}L`}{c{{j{Hn}}}L`}{c{{j{I`}}}L`}{c{{j{Ib}}}L`}{c{{j{Id}}}L`}{c{{j{If}}}L`}{c{{j{Ih}}}L`}{c{{j{Ij}}}L`}{c{{j{Fh}}}L`}{c{{j{Fj}}}L`}{c{{j{Il}}}L`}{c{{j{In}}}L`}{c{{j{Gd}}}L`}{c{{j{Gf}}}L`}{c{{j{J`}}}L`}{c{{j{Jb}}}L`}{c{{j{{Jd{e}}}}}L`Lb}{c{{j{Jh}}}L`}{c{{j{Jj}}}L`}{c{{j{Eh}}}L`}{c{{j{Jl}}}L`}{c{{j{Jn}}}L`}{c{{j{K`}}}L`}{c{{j{El}}}L`}{c{{j{Fl}}}L`}{c{{j{Fn}}}L`}{c{{j{Kb}}}L`}{c{{j{Kd}}}L`}{c{{j{Fb}}}L`}{c{{j{Kf}}}L`}{c{{j{Kh}}}L`}{c{{j{F`}}}L`}{c{{j{Kj}}}L`}{c{{j{Ej}}}L`}{c{{j{Af}}}L`}{c{{j{Kl}}}L`}{fd}00{nAb}{EjAb}2{End}30{ElAb}{FbAb}{GlAb}{BnAd}00000000000000000000000000000000000000000000000000000005{fAb}{G`Ab}54{AfLd}{KlAb}22376{AfBb}1{EnE`}441244{{{l{Hh}}{l{Hh}}}d}{{{l{Ih}}{l{Ih}}}d}{{{l{Ij}}{l{Ij}}}d}{{{l{Fh}}{l{Fh}}}d}{{{l{Fj}}{l{Fj}}}d}{{{l{Il}}{l{Il}}}d}{{{l{In}}{l{In}}}d}{{{l{Jb}}{l{Jb}}}d}{{{l{{Jd{c}}}}{l{{Jd{c}}}}}dLf}{{{l{Jh}}{l{Jh}}}d}{{{l{Jj}}{l{Jj}}}d}{{{l{Fl}}{l{Fl}}}d}{{{l{Fn}}{l{Fn}}}d}{{{l{Kb}}{l{Kb}}}d}{{{l{Kd}}{l{Kd}}}d}{{{l{Kj}}{l{Kj}}}d}{HdAb}{{l{l{c}}}d{}}000000000000000000000000000{GjAb}{fd}{{{l{AjEl}}{l{El}}}Ad}{{{l{AjFb}}{l{AjEl}}}Ad}{{{l{AjEj}}{l{AjEj}}}Ad}{ElAb}{FbAb}{KlAb}{G`Ab}{Ehb}{GhAb}{nAb}333{{{l{f}}{l{AjC`}}}Cb}{{{l{Gh}}{l{AjC`}}}Cb}{{{l{n}}{l{AjC`}}}Cb}{{{l{Gj}}{l{AjC`}}}Cb}{{{l{Gl}}{l{AjC`}}}Cb}{{{l{Gn}}{l{AjC`}}}Cb}{{{l{H`}}{l{AjC`}}}Cb}{{{l{Al}}{l{AjC`}}}Cb}{{{l{E`}}{l{AjC`}}}Cb}{{{l{En}}{l{AjC`}}}Cb}{{{l{Hb}}{l{AjC`}}}Cb}{{{l{Hd}}{l{AjC`}}}Cb}{{{l{Hf}}{l{AjC`}}}Cb}{{{l{Hh}}{l{AjC`}}}Cb}{{{l{G`}}{l{AjC`}}}Cb}{{{l{Ff}}{l{AjC`}}}Cb}{{{l{Hj}}{l{AjC`}}}Cb}{{{l{Hl}}{l{AjC`}}}Cb}{{{l{Hn}}{l{AjC`}}}Cb}{{{l{I`}}{l{AjC`}}}Cb}{{{l{Ib}}{l{AjC`}}}Cb}{{{l{Id}}{l{AjC`}}}Cb}{{{l{If}}{l{AjC`}}}Cb}{{{l{Ih}}{l{AjC`}}}Cb}{{{l{Ij}}{l{AjC`}}}Cb}{{{l{Fh}}{l{AjC`}}}Cb}{{{l{Fj}}{l{AjC`}}}Cb}{{{l{Il}}{l{AjC`}}}Cb}{{{l{In}}{l{AjC`}}}Cb}{{{l{Gd}}{l{AjC`}}}Cb}{{{l{Gf}}{l{AjC`}}}Cb}{{{l{J`}}{l{AjC`}}}Cb}{{{l{Jb}}{l{AjC`}}}Cb}{{{l{{Jd{c}}}}{l{AjC`}}}CbLh}{{{l{Jh}}{l{AjC`}}}Cb}{{{l{Jj}}{l{AjC`}}}Cb}{{{l{Eh}}{l{AjC`}}}Cb}{{{l{Jl}}{l{AjC`}}}Cb}{{{l{Jn}}{l{AjC`}}}Cb}{{{l{K`}}{l{AjC`}}}Cb}{{{l{El}}{l{AjC`}}}Cb}{{{l{Fl}}{l{AjC`}}}Cb}0{{{l{Fn}}{l{AjC`}}}Cb}0{{{l{Kb}}{l{AjC`}}}Cb}{{{l{Kd}}{l{AjC`}}}Cb}0{{{l{Fb}}{l{AjC`}}}Cb}{{{l{Kf}}{l{AjC`}}}Cb}{{{l{Kh}}{l{AjC`}}}Cb}{{{l{F`}}{l{AjC`}}}Cb}{{{l{Kj}}{l{AjC`}}}Cb}{{{l{Ej}}{l{AjC`}}}Cb}{{{l{Af}}{l{AjC`}}}Cb}{{{l{Kl}}{l{AjC`}}}Cb}{{{l{Kn}}{l{AjC`}}}Cb}{{{l{Lj}}{l{AjC`}}}Cb}{{{l{Fd}}{l{AjC`}}}Cb}{IjAb}{FhAb}{ElAb}{FbAb}{HbAb}{GdAb}{GfAb}{cc{}}00000000000000000000000000000000000000000{{{l{Ah}}}Fl}{bFl}22{{{l{Ah}}}Kb}333333333333{{{l{Ah}}}Kd}{{{l{El}}}Bl}{{{l{El}}}{{Ab{b}}}}{{{l{G`}}}Hh}{{{l{Ej}}}{{Ab{Jn}}}}{{{l{F`}}}b}{{{l{AjEl}}}El}{{}b}{E`Ll}{Idb}{{{l{Kj}}{l{Ajc}}}AdLn}{fd}{GlAb}{ElAb}{FbAb}{JbAb}{IdAb}00{{}Bn}0000000000000000000000000000000000000000000000000000000{EjAb}{IhBb}{HfBb}{IjAb}{FhAb}989898{{}c{}}0000000000000000000000000000000000000000000{KbKd}111111111111{{{l{El}}}d}{{{l{Kj}}}d}{{{l{F`}}}d}2{GhAb}:{GlAb}{ElAb}0<{fd}{fAb}>>{fb}{nAb}44{EjAb}{JlAb}1{HnM`}{HdAb}{GjAb}1{{{l{Fl}}}{{Ab{{l{Ah}}}}}}{IjAb}{FhAb}{Fnb}88{HlAb}{{{l{Kb}}}{{l{Ah}}}}{GlAb}{GdIn}{GfIn}{Kdb}{Knb}{F`Ab}{{}f}{{}Gh}{{}n}{{}Gj}{{}Gl}{{}Al}{{}Hb}{bFf}{{}El}{{}Ej}{{}Kl}{JbAb}{EjAb}{KfAb}{G`Ab}{HfBb}{fAb}{fb}{GjAb}{AlAb}{GdAb}{GfAb}{GnAb}{Ffb}{KdAb}{Kfb};{ElAb}{FbAb}{AfAb}{KlAb}{JlAb}{JbAb}1{fd}065{F`Ab}{fAb}{FfAb}{G`Ab}{EjAb}{KfAb}{GlAb}=<{E`Mb}4{FhAb}{Fjb}{HlBb}{ElAb}{FbAb}101010{nAb}{{{l{Gh}}c}jMd}{{{l{n}}c}jMd}{{{l{Gj}}c}jMd}{{{l{Gl}}c}jMd}{{{l{Gn}}c}jMd}{{{l{H`}}c}jMd}{{{l{Hd}}c}jMd}{{{l{Hf}}c}jMd}{{{l{Hh}}c}jMd}{{{l{G`}}c}jMd}{{{l{Ff}}c}jMd}{{{l{Hj}}c}jMd}{{{l{Hl}}c}jMd}{{{l{Hn}}c}jMd}{{{l{I`}}c}jMd}{{{l{Ib}}c}jMd}{{{l{Id}}c}jMd}{{{l{If}}c}jMd}{{{l{Ih}}c}jMd}{{{l{Ij}}c}jMd}{{{l{Fh}}c}jMd}{{{l{Fj}}c}jMd}{{{l{Il}}c}jMd}{{{l{In}}c}jMd}{{{l{Gd}}c}jMd}{{{l{Gf}}c}jMd}{{{l{J`}}c}jMd}{{{l{Jb}}c}jMd}{{{l{{Jd{c}}}}e}jMfMd}{{{l{Jh}}c}jMd}{{{l{Jj}}c}jMd}{{{l{Eh}}c}jMd}{{{l{Jl}}c}jMd}{{{l{Jn}}c}jMd}{{{l{K`}}c}jMd}{{{l{El}}c}jMd}{{{l{Fl}}c}jMd}{{{l{Fn}}c}jMd}{{{l{Kb}}c}jMd}{{{l{Kd}}c}jMd}{{{l{Fb}}c}jMd}{{{l{Kf}}c}jMd}{{{l{Kh}}c}jMd}{{{l{F`}}c}jMd}{{{l{Kj}}c}jMd}{{{l{Ej}}c}jMd}{{{l{Af}}c}jMd}{{{l{Kl}}c}jMd}{{{l{Kn}}c}jMd}{{{l{El}}}d}{EjAb}00{fd}{End}2{fAb}{EnAb}{Hnb}{LjBb}{fb}{Enb}{AfLd}{KlAb}{FhIh}{FjAb}{HbBb}={{{l{Kj}}}b}{lc{}}00000000000000000000000000000000000000000000000000000{lb}00{ElAb}{FbAb}{c{{j{e}}}{}{}}0000000000000000000000000000000000000000000000000000000{{}{{j{c}}}{}}0000000000000000000000000000000000000000000000000000000{lDd}0000000000000000000000000000000000000000000000000000000{I`d}{EjAb}{nAb}{Ibb}{GlAb}{FhAb}{JbAb}{{}c{}}00000000000000000000000000000000000000000000000000000001<;1<<6{{Kb{l{Ah}}}Kb}{AlAb}>","D":"DBj","p":[[5,"String",1652],[1,"bool"],[5,"CliArgs",148],[6,"CargoMakeError",24],[6,"Result",1653,null,1],[1,"reference",null,null,1],[5,"GlobalConfig",148],[5,"LoggerOptions",131],[6,"Option",1654,null,1],[1,"unit"],[5,"Config",148],[1,"str"],[0,"mut"],[5,"CrateInfo",148],[10,"Write",1655],[5,"CliSpec",1656],[5,"Vec",1657],[10,"Error",1658],[5,"Box",1659,null,1],[5,"PathBuf",1660],[6,"CargoMakeErrorDiscriminants",24],[1,"u8"],[1,"usize"],[5,"Formatter",1661],[8,"Result",1661],[5,"Error",1661],[6,"SuccessOrCargoMakeError",24],[6,"ParserError",1656],[5,"Error",1662],[5,"Error",1663],[6,"FsIOError",1664],[5,"ExitCode",1665],[10,"Any",1666],[5,"TypeId",1666],[15,"StdIoError",126],[15,"StdFmtError",126],[15,"TomlDeError",126],[15,"FsIOError",126],[15,"ParserError",126],[5,"EnvInfo",148],[5,"SystemTime",1667],[1,"u128"],[1,"tuple",null,null,1],[5,"FileScriptValue",148],[5,"ConfigSection",148],[5,"Task",148],[5,"FlowInfo",148],[5,"ModifyConfig",148],[5,"PlatformOverrideTask",148],[5,"CommandSpec",148],[5,"EnvFileInfo",148],[5,"InstallCrateInfo",148],[5,"InstallRustupComponentInfo",148],[6,"ToolchainSpecifier",148],[5,"ToolchainBoundedSpecifier",148],[5,"TaskCondition",148],[5,"CiInfo",1668],[5,"RunTaskDetails",148],[5,"RunTaskRoutingInfo",148],[5,"Cache",148],[5,"Workspace",148],[5,"PackageInfo",148],[5,"CrateDependencyInfo",148],[6,"CrateDependency",148],[5,"FlowState",148],[5,"RustVersionCondition",148],[5,"FilesFilesModifiedCondition",148],[6,"ConditionType",148],[6,"EnvFile",148],[5,"EnvValueScript",148],[5,"EnvValueDecode",148],[5,"EnvValueUnset",148],[5,"EnvValueConditioned",148],[5,"EnvValuePathGlob",148],[6,"EnvValue",148],[5,"TestArg",148],[5,"InstallCargoPluginInfo",148],[6,"InstallCrate",148],[6,"RunTaskName",148],[6,"RunTaskInfo",148],[5,"WatchOptions",148],[6,"MaybeArray",148],[10,"Clone",1669],[6,"TaskWatchOptions",148],[6,"DeprecationInfo",148],[5,"ScriptSections",148],[6,"ScriptValue",148],[6,"ConditionScriptValue",148],[6,"DependencyIdentifier",148],[5,"TaskIdentifier",148],[5,"ExtendOptions",148],[6,"Extend",148],[6,"UnstableFeature",148],[5,"ExternalConfig",148],[5,"Step",148],[10,"Deserializer",1670],[10,"Deserialize",1670],[5,"IndexMap",1671],[10,"PartialEq",1672],[10,"Debug",1661],[5,"ExecutionPlan",148],[5,"GitInfo",1673],[10,"Hasher",1674],[5,"HashMap",1675],[5,"RustInfo",1676],[10,"Serializer",1677],[10,"Serialize",1677]],"r":[],"b":[[89,"impl-Debug-for-CargoMakeError"],[90,"impl-Display-for-CargoMakeError"],[94,"impl-From%3CParserError%3E-for-CargoMakeError"],[96,"impl-From%3CError%3E-for-CargoMakeError"],[97,"impl-From%3CError%3E-for-CargoMakeError"],[98,"impl-From%3CFsIOError%3E-for-CargoMakeError"],[99,"impl-From%3CError%3E-for-CargoMakeError"],[100,"impl-From%3CExitCode%3E-for-CargoMakeError"],[101,"impl-From%3C%26CargoMakeError%3E-for-CargoMakeErrorDiscriminants"],[102,"impl-From%3CCargoMakeError%3E-for-CargoMakeErrorDiscriminants"],[956,"impl-Debug-for-ToolchainSpecifier"],[957,"impl-Display-for-ToolchainSpecifier"],[958,"impl-Debug-for-ToolchainBoundedSpecifier"],[959,"impl-Display-for-ToolchainBoundedSpecifier"],[961,"impl-Display-for-TaskIdentifier"],[962,"impl-Debug-for-TaskIdentifier"],[1023,"impl-From%3C%26str%3E-for-ToolchainSpecifier"],[1024,"impl-From%3CString%3E-for-ToolchainSpecifier"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAF8EIgAEAAAABgAAAAsAAAAPAAAAEQAFABgABQAfAD0AXgABAGEABgBpAAIAbwAUAIUAAQCIAAIAjAAAAJAAAwALAW8AhgGhAEQCCgBaAnEAzgIwAAsDNwBYAw8AaQMbAJQDOgAABAEABAQAABQEAAAbBAAAJAQ3AJMEAAAEBTAASQU4AIQFpwAzBjcA","P":[[15,""],[16,""],[66,"T"],[72,""],[73,"T"],[74,""],[75,"T"],[81,""],[85,"K"],[89,""],[92,"T"],[94,""],[95,"T"],[96,""],[103,"T"],[104,""],[107,"U"],[110,"T"],[111,""],[112,"T"],[113,""],[114,"U,T"],[117,"U"],[120,""],[123,"V"],[126,""],[132,"T"],[134,""],[135,"T"],[137,""],[138,"T"],[139,""],[140,"U"],[141,""],[143,"U,T"],[144,"U"],[145,""],[146,"V"],[147,""],[266,"T"],[378,""],[422,"T"],[423,""],[443,"T"],[497,""],[601,"T"],[625,"Deref::Target"],[626,"T"],[682,"Deref::Target"],[683,"T"],[715,""],[717,"__D"],[736,"D"],[737,"__D"],[746,"__D,T"],[747,"__D"],[766,""],[863,"T"],[864,""],[872,"K"],[900,""],[948,"T"],[949,""],[981,"T"],[1023,""],[1025,"T"],[1027,""],[1028,"T"],[1040,""],[1050,"__H"],[1051,""],[1126,"U"],[1170,""],[1171,"U"],[1183,""],[1283,"__S"],[1311,"T,__S"],[1312,"__S"],[1332,""],[1352,"T"],[1406,""],[1411,"U,T"],[1467,"U"],[1523,""],[1586,"V"],[1642,""]]}],["makers",{"t":"HH","n":["get_name","main"],"q":[[0,"makers"],[2,"alloc::string"],[3,"std::process"],[4,"cli::error"]],"i":"``","f":"{{}b}{{}{{f{d}}}}","D":"b","p":[[5,"String",2],[5,"ExitCode",3],[6,"SuccessOrCargoMakeError",4]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAEAAgA=","P":[]}]]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); +//{"start":39,"fragment_lengths":[314,26153,307]} \ No newline at end of file diff --git a/docs/api/search.desc/cli/cli-desc-0-.js b/docs/api/search.desc/cli/cli-desc-0-.js index 7dcf3b68..5b65b6c3 100644 --- a/docs/api/search.desc/cli/cli-desc-0-.js +++ b/docs/api/search.desc/cli/cli-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("cli", 0, "cargo-make\ncli\ncli_commands\ncli_parser\nconfig\nlog\nHandles the command line arguments and executes the runner.\nrunner\ntypes\nHandles the command line arguments and executes the runner.\nlist_steps\nprint_steps\nOnly prints the execution plan\nReturns the configuration\nAuto-generated discriminant enum variants\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe logger options used to initialize the logger\nTrue to printout colorful output\nReturns the argument unchanged.\nCalls U::from(self).\nThe logger level name (verbose, info, error, off)\nName to prefix each log message\nRuns the requested tasks. The flow is as follows:\nAll conditions must pass\nThe value as boolean\nTrue/False to enable/disable watch\nTrue/False flag (true is deprecated)\nA toolchain with a minimum version bound\nHolds persisted data used by cargo-make\nInstall cargo plugin info\nHolds CLI args\nCommand info\nCondition script value (not as advanced as normal script …\nControl how condition checks are evaluated\nConditional env value\nHolds the entire configuration such as task definitions …\nHolds the configuration found in the makefile toml config …\nHolds crate dependency info.\nHolds crate dependency info.\nHolds crate information loaded from the Cargo.toml file.\nInstall crate params\nGracefully shutdown and then kill the running command on …\nEnv decoding info\nA full dependency definition (potentially in a different …\nA dependency, defined either as a string or as a …\nHolds deprecation info such as true/false/message\nRun Task Info\nEnables to prevent installation flow\nHolds the env file path and attributes\nEnv file path and attributes\nHolds env information\nHolds the env value or script\nEnv value set if condition is met\nEnv value provided by decoding other values\nEnv value holding a list of paths based on given glob …\nEnv value provided by a script\nEnables to unset env variables\nExecution plan which defines all steps to run and the …\nHolds makefile extend value\nExtend with more fine tuning options\nHolds the entire externally read configuration such as …\nScript file name\nScript file name\nFiles modified (input/output) condition structure\nHolds flow information\nHolds mutable flow state\nHolds configuration info for cargo-make\nAny condition group must pass, but each group will be …\nHold dependency info\nExtended info object for env file\nHolds instructions how to install the cargo plugin\nInstall crate name or params\nHolds instructions how to install the crate\nHolds instructions how to install a rustup component\nThe value as a list of strings\nMultiple extends list\nCould be an array or single value\nDeprecation message\nHolds properties to modify the core tasks\nMultiple task names\nMultiple values\nTask name\nA string dependency definition (its name in the current …\nThe value as number\nExtended configuration for watch\nExtend options for more fine tune control\nAny condition must pass\nHolds crate package information loaded from the Cargo.toml …\nThe file path as string\nPath to another makefile\nPath glob\nHolds a single task configuration for a specific platform …\nProfile env\nTask conditional selector\nHolds the run task information\nRun task info\nHolds the run task name/s\nHolds the run task routing information\nRust version condition structure\nInstall rustup component params\nScript which will return the value\nScript content split to parts to enable a more fine tuned …\nScript value (text, file name, …)\nScript content split to multiple parts to enable fine …\nA string specifying the channel name of the toolchain\nSingle task name\nSingle value\nThe script text as single line\nThe script text as single line\nExecution plan step to execute\nHolds a single task configuration such as command and …\nHolds condition attributes\nAn identifier for a task\nHolds watch options or simple true/false value\nArguments used to check whether a crate or rustup …\nThe script text lines\nThe script text lines\nA toolchain with a minimum version bound\nA toolchain, defined either as a string (following the …\nUnset env\nUnstable cargo-make feature\nThe value as string\nThe value as string\nHolds the dependency version\nHolds watch options\nHolds crate workspace info, see …\nTrue for absolute path (default false)\nAdditional profile names to load\nif defined, task points to another task and all other …\nAllow invocation of private tasks\nAllow invocation of private tasks\nApply modifications\nApply modifications\nApply modifications\nThe command args\nThe command args\nThe command args\nadditional command line arguments\nThe path base directory (relative paths are from this base …\nThe binary file name to be used to test if the crate is …\nThe binary file name to be used to test if the crate is …\nThe external Makefile.toml path\nCategory name used to document the task\nReturn the channel of the toolchain to look for\nThe channel of the toolchain to use\nChannel names (stable, beta, nightly)\nCI info\nCleanup task name\nCleanup task name\nif true, it should ignore all data in base task\nif true, it should ignore all data in base task\nadditional command line arguments\nThe command name\nThe command to execute\nThe command to execute\nThe command to execute\nThe condition to validate\nThe condition to validate\nThe condition to validate\nif provided all condition values must be met in order for …\nif provided all condition values must be met in order for …\nif provided all condition values must be met in order for …\nif script exit code is not 0, the task will not be invoked\nif script exit code is not 0, the command/script of this …\nif script exit code is not 0, the command/script of this …\nThe script runner arguments before the script file path\nThe script runner arguments before the script file path\nThe script runner arguments before the script file path\ncondition type (AND/OR) by default AND\nThe flow config object\nRuntime config\nRuntime config\nThe task config\nCrate info\nThe provided crate to install\nThe provided crate to install\nCurrent working directory\nThe working directory for the task to execute its …\nThe working directory for the task to execute its …\nDefault task name\nThe task.workspace default value\nThe default value in case no decode mapping was found, if …\nIf true, only set the env vars if not already defined\nworkspace level dependencies\ncrate dependencies\nA list of tasks to execute before this task\nA list of tasks to execute before this task\nThe explicit environment variables this script depends on\nif not false, this task is defined as deprecated\nif not false, this task is defined as deprecated\ndescription\nTask description\nDiff flows\nDisables the update check during startup\nDisables colorful output\nDefault output coloring\nIf true (default false) disable all automatic/defined …\nPrevent on error flow even if defined in config section\nPrevent on error flow even if defined in config section\nPrevent workspace support\nPrevent workspace support\nif true, the command/script of this task will not be …\nif true, the command/script of this task will not be …\ndocumentation link\nEnd task name which will be invoked at the end of every run\nEnvironment variables\nEnvironment variables and their values\nThe env vars to setup before running the task commands\nThe env vars to setup before running the task commands\nThe env vars to setup before running the flow\nThe env vars to setup before running the flow\nEnvironment variables and the values which they are …\nEnvironment variables which are defined as false\nEnvironment variables file\nThe env files to setup before running the task commands\nThe env files to setup before running the task commands\nThe env files to setup before running the flow\nThe env files to setup before running the flow\nThe env info\nEnvironment variables which must not be defined\nThe env scripts to execute before running the flow\nThe env scripts to execute before running the flow\nEnvironment variables which must be defined\nEnvironment variables which are defined as true\nspecific version number\nexclude paths\nAllows access unsupported experimental predefined tasks\nCopies values from the task into self.\nCopies values from the task into self.\nCopies values from the config section into self.\nExtend any task based on the defined name\nExtend any task based on the defined name\nPath to another toml file to extend\nFailure message\nScript file name\nFile from which the cache file was loaded from\nFile from which the global config was loaded from\nFiles exist\nFiles modified since last execution\nFiles which do not exist\nOptional add force flag (if needed), default is true\nOptional add force flag (if needed), default is true\nDEPRECATED, replaced with ignore_errors\nDEPRECATED, replaced with ignore_errors\nforced plugin name\nTrue to fork the task to a new sub process\nTrue to fork the task to a new sub process\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate a new TaskIdentifier referencing a task in the …\nReturns the amount of actions defined on the task\nReturns the alias value based on the current platform and …\nReturns the load script based on the current platform\nReturns the namespace prefix for task names\nReturns a new task based on the override information and …\nReturns the platform name\nGit info\nThe glob used to fetch all paths\nHide any minor tasks such as pre/post hooks\nhomepage link\nif true, any error while executing the task will be …\nif true, any error while executing the task will be …\nIgnore a glob/gitignore-style pattern\nEnables to respect ignore files\nTrue to include directories (default is true if undefined)\nTrue to include files (default is true if undefined)\nInit task name which will be invoked at the start of every …\nContent of the arguments\ninput files\nOptional alternate ‘install’ command\nOptional alternate ‘install’ command\nif defined, the provided crate will be installed (if …\nif defined, the provided crate will be installed (if …\nadditional cargo install arguments\nadditional cargo install arguments\nif defined, the provided script will be executed before …\nif defined, the provided script will be executed before …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the task has any actions on its own or if …\nIs the corresponding env. variable set?\nReturns true if config modifications is needed based on …\nReturns true if the task is valid\nHolds last update check with returned no updates result\nThe name of the task which runs legacy migration flows\nlicense\noverride task if runtime OS is Linux (takes precedence …\nacts like alias if runtime OS is Linux (takes precedence …\nacts like load_script if runtime OS is Linux (takes …\nList all known steps\nList steps for a given category\nAutomatically load cargo aliases as cargo-make tasks\nInvoked while loading the descriptor file but before …\nLog level name\nDefault log level\noverride task if runtime OS is Mac (takes precedence over …\nacts like alias if runtime OS is Mac (takes precedence …\nacts like load_script if runtime OS is Mac (takes …\nScript section\nThe project information member (used by workspaces)\nThe decoding mapping\nmax version number\nmembers paths\nmin version number\nReturn the minimal version, if any, to look for\nMinimal version\nMinimal version\nThe minimum version to match\nMinimum cargo-make/makers version\nModify core tasks config\nTrue/False to enable multi line env values\nGet the name of a dependency\nname\nThe task name\nThe task name\nThe task name to execute\nThe task name\nIf set to some value, all core tasks are modified to: …\nCreates and returns a new instance.\nReturns new instance\nReturns new instance\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nDo not use .gitignore files\nThe name of the task to run in case of any error during …\nEnable optional extend (default to false)\nAs defined in the cfg target_os\noutput files\nOutput file name\nOutput format\nroot package\npackage info\nTrue to run all tasks in parallel (default false)\nTrue to run all tasks in parallel (default false)\nHolds the dependency path\nThe file path as string\nThe path to the makefile the task resides in\nPath to another makefile\nPlatform names (linux, windows, mac)\nOptional plugin used to execute the task\nOptional plugin used to execute the task\nAll plugin definitions\nAll plugin definitions\nScript section\nPostpone first run until a file changes\nScript section\nOnly print the execution plan\nPrint time summary at end of the flow\nif true, the task is hidden from the list of available …\nif true, the task is hidden from the list of available …\nIf true, all core tasks will be set to private (default …\nThe profile name\nThe profile name this file is relevant to\nProfile names (development, …)\nTrue to reduce console output for non CI execution\nRelative to option, sub as current makefile, git root, …\nrepository link\nThe task name to execute\nThe task name to execute\nRust info\nRust version condition\nIf defined, the component to install via rustup\nThe component to install via rustup\nThe script to execute to get the env value\nIf command is not defined, and script is defined, the …\nIf command is not defined, and script is defined, the …\nThe script file extension\nThe script file extension\nThe script runner (defaults to cmd in windows and sh for …\nThe script runner (defaults to cmd in windows and sh for …\nThe script runner arguments before the script file path\nThe script runner arguments before the script file path\nTrue to search for project root in parent directories if …\nReturns true if the task ignore_errors attribute is …\nIf true, the default core tasks will not be loaded\ndo not load current crate env info (save on perf)\ndo not load git env info (save on perf)\nIf true, the init and end tasks are skipped\nIf true, the init and end tasks are skipped\ndo not load rust env info (save on perf)\nSkip tasks that match the provided pattern\nSkip tasks that match the provided pattern\nThe source value (can be an env expression)\nA list of steps to execute\nThe task to invoke\nThe main task of the flow\nAll task definitions\nAll task definitions\nTest arguments that will be used to check that the crate …\nTest argument that will be used to check that the crate is …\ntiming info for summary\nTrue to print time summary at the end of the flow\nCreates the env. variable name associated to the feature\nThe rust toolchain used to invoke the command or install …\nThe rust toolchain used to invoke the command or install …\nIf true, the env variable will be unset, else ignored\nEnables unstable cargo-make features\nUpdate check minimum time from the previous check (always, …\nThe value to set (can be an env expression)\nversion\nExact version\nWatch version to install if not already installed\nSelect which files/folders to watch\nset to true to watch for file changes and invoke the task …\nset to true to watch for file changes and invoke the task …\nShow paths that changed\noverride task if runtime OS is Windows (takes precedence …\nacts like alias if runtime OS is Windows (takes precedence …\nacts like load_script if runtime OS is Windows (takes …\nAdorn the TaskIdentifier with a namespace\nworkspace info\nset to false to notify cargo-make that this is not a …") \ No newline at end of file +searchState.loadedDescShard("cli", 0, "cargo-make\ncli\ncli_commands\ncli_parser\nconfig\nlog\nHandles the command line arguments and executes the runner.\nrunner\ntypes\nHandles the command line arguments and executes the runner.\nlist_steps\nprint_steps\nOnly prints the execution plan\nReturns the configuration\nAuto-generated discriminant enum variants\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe logger options used to initialize the logger\nTrue to printout colorful output\nReturns the argument unchanged.\nCalls U::from(self).\nThe logger level name (verbose, info, error, off)\nName to prefix each log message\nRuns the requested tasks. The flow is as follows:\nAll conditions must pass\nThe value as boolean\nTrue/False to enable/disable watch\nTrue/False flag (true is deprecated)\nA toolchain with a minimum version bound\nHolds persisted data used by cargo-make\nInstall cargo plugin info\nHolds CLI args\nCommand info\nCondition script value (not as advanced as normal script …\nControl how condition checks are evaluated\nConditional env value\nHolds the entire configuration such as task definitions …\nHolds the configuration found in the makefile toml config …\nHolds crate dependency info.\nHolds crate dependency info.\nHolds crate information loaded from the Cargo.toml file.\nInstall crate params\nGracefully shutdown and then kill the running command on …\nEnv decoding info\nA full dependency definition (potentially in a different …\nA dependency, defined either as a string or as a …\nHolds deprecation info such as true/false/message\nRun Task Info\nEnables to prevent installation flow\nHolds the env file path and attributes\nEnv file path and attributes\nHolds env information\nHolds the env value or script\nEnv value set if condition is met\nEnv value provided by decoding other values\nEnv value holding a list of paths based on given glob …\nEnv value provided by a script\nEnables to unset env variables\nExecution plan which defines all steps to run and the …\nHolds makefile extend value\nExtend with more fine tuning options\nHolds the entire externally read configuration such as …\nScript file name\nScript file name\nFiles modified (input/output) condition structure\nHolds flow information\nHolds mutable flow state\nHolds configuration info for cargo-make\nAny condition group must pass, but each group will be …\nHold dependency info\nExtended info object for env file\nHolds instructions how to install the cargo plugin\nInstall crate name or params\nHolds instructions how to install the crate\nHolds instructions how to install a rustup component\nThe value as a list of strings\nMultiple extends list\nCould be an array or single value\nDeprecation message\nHolds properties to modify the core tasks\nMultiple task names\nMultiple values\nTask name\nA string dependency definition (its name in the current …\nThe value as number\nExtended configuration for watch\nExtend options for more fine tune control\nAny condition must pass\nHolds crate package information loaded from the Cargo.toml …\nThe file path as string\nPath to another makefile\nPath glob\nHolds a single task configuration for a specific platform …\nProfile env\nTask conditional selector\nHolds the run task information\nRun task info\nHolds the run task name/s\nHolds the run task routing information\nRust version condition structure\nInstall rustup component params\nScript which will return the value\nScript content split to parts to enable a more fine tuned …\nScript value (text, file name, …)\nScript content split to multiple parts to enable fine …\nA string specifying the channel name of the toolchain\nSingle task name\nSingle value\nThe script text as single line\nThe script text as single line\nExecution plan step to execute\nHolds a single task configuration such as command and …\nHolds condition attributes\nAn identifier for a task\nHolds watch options or simple true/false value\nArguments used to check whether a crate or rustup …\nThe script text lines\nThe script text lines\nA toolchain with a minimum version bound\nA toolchain, defined either as a string (following the …\nUnset env\nUnstable cargo-make feature\nThe value as string\nThe value as string\nHolds the dependency version\nHolds watch options\nHolds crate workspace info, see …\nTrue for absolute path (default false)\nAdditional profile names to load\nif defined, task points to another task and all other …\nAllow invocation of private tasks\nAllow invocation of private tasks\nApply modifications\nApply modifications\nApply modifications\nThe command args\nThe command args\nThe command args\nadditional command line arguments\nThe path base directory (relative paths are from this base …\nThe binary file name to be used to test if the crate is …\nThe binary file name to be used to test if the crate is …\nThe external Makefile.toml path\nCategory name used to document the task\nReturn the channel of the toolchain to look for\nThe channel of the toolchain to use\nChannel names (stable, beta, nightly)\nCI info\nCleanup task name\nCleanup task name\nif true, it should ignore all data in base task\nif true, it should ignore all data in base task\nadditional command line arguments\nThe command name\nThe command to execute\nThe command to execute\nThe command to execute\nTask completion for given shell\nThe condition to validate\nThe condition to validate\nThe condition to validate\nif provided all condition values must be met in order for …\nif provided all condition values must be met in order for …\nif provided all condition values must be met in order for …\nif script exit code is not 0, the task will not be invoked\nif script exit code is not 0, the command/script of this …\nif script exit code is not 0, the command/script of this …\nThe script runner arguments before the script file path\nThe script runner arguments before the script file path\nThe script runner arguments before the script file path\ncondition type (AND/OR) by default AND\nThe flow config object\nRuntime config\nRuntime config\nThe task config\nCrate info\nThe provided crate to install\nThe provided crate to install\nCurrent working directory\nThe working directory for the task to execute its …\nThe working directory for the task to execute its …\nDefault task name\nThe task.workspace default value\nThe default value in case no decode mapping was found, if …\nIf true, only set the env vars if not already defined\nworkspace level dependencies\ncrate dependencies\nA list of tasks to execute before this task\nA list of tasks to execute before this task\nThe explicit environment variables this script depends on\nif not false, this task is defined as deprecated\nif not false, this task is defined as deprecated\ndescription\nTask description\nDiff flows\nDisables the update check during startup\nDisables colorful output\nDefault output coloring\nIf true (default false) disable all automatic/defined …\nPrevent on error flow even if defined in config section\nPrevent on error flow even if defined in config section\nPrevent workspace support\nPrevent workspace support\nif true, the command/script of this task will not be …\nif true, the command/script of this task will not be …\ndocumentation link\nEnd task name which will be invoked at the end of every run\nEnvironment variables\nEnvironment variables and their values\nThe env vars to setup before running the task commands\nThe env vars to setup before running the task commands\nThe env vars to setup before running the flow\nThe env vars to setup before running the flow\nEnvironment variables and the values which they are …\nEnvironment variables which are defined as false\nEnvironment variables file\nThe env files to setup before running the task commands\nThe env files to setup before running the task commands\nThe env files to setup before running the flow\nThe env files to setup before running the flow\nThe env info\nEnvironment variables and the values which they must not …\nEnvironment variables which must not be defined\nThe env scripts to execute before running the flow\nThe env scripts to execute before running the flow\nEnvironment variables which must be defined\nEnvironment variables which are defined as true\nspecific version number\nexclude paths\nAllows access unsupported experimental predefined tasks\nCopies values from the task into self.\nCopies values from the task into self.\nCopies values from the config section into self.\nExtend any task based on the defined name\nExtend any task based on the defined name\nPath to another toml file to extend\nFailure message\nScript file name\nFile from which the cache file was loaded from\nFile from which the global config was loaded from\nFiles exist\nFiles modified since last execution\nFiles which do not exist\nOptional add force flag (if needed), default is true\nOptional add force flag (if needed), default is true\nDEPRECATED, replaced with ignore_errors\nDEPRECATED, replaced with ignore_errors\nforced plugin name\nTrue to fork the task to a new sub process\nTrue to fork the task to a new sub process\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate a new TaskIdentifier referencing a task in the …\nReturns the amount of actions defined on the task\nReturns the alias value based on the current platform and …\nReturns the load script based on the current platform\nReturns the namespace prefix for task names\nReturns a new task based on the override information and …\nReturns the platform name\nGit info\nThe glob used to fetch all paths\nHide any minor tasks such as pre/post hooks\nhomepage link\nif true, any error while executing the task will be …\nif true, any error while executing the task will be …\nIgnore a glob/gitignore-style pattern\nEnables to respect ignore files\nTrue to include directories (default is true if undefined)\nTrue to include files (default is true if undefined)\nInit task name which will be invoked at the start of every …\nContent of the arguments\ninput files\nOptional alternate ‘install’ command\nOptional alternate ‘install’ command\nif defined, the provided crate will be installed (if …\nif defined, the provided crate will be installed (if …\nadditional cargo install arguments\nadditional cargo install arguments\nif defined, the provided script will be executed before …\nif defined, the provided script will be executed before …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the task has any actions on its own or if …\nIs the corresponding env. variable set?\nReturns true if config modifications is needed based on …\nReturns true if the task is valid\nHolds last update check with returned no updates result\nThe name of the task which runs legacy migration flows\nlicense\noverride task if runtime OS is Linux (takes precedence …\nacts like alias if runtime OS is Linux (takes precedence …\nacts like load_script if runtime OS is Linux (takes …\nList all known steps\nList steps for a given category\nAutomatically load cargo aliases as cargo-make tasks\nInvoked while loading the descriptor file but before …\nLog level name\nDefault log level\noverride task if runtime OS is Mac (takes precedence over …\nacts like alias if runtime OS is Mac (takes precedence …\nacts like load_script if runtime OS is Mac (takes …\nScript section\nThe project information member (used by workspaces)\nThe decoding mapping\nmax version number\nmembers paths\nmin version number\nReturn the minimal version, if any, to look for\nMinimal version\nMinimal version\nThe minimum version to match\nMinimum cargo-make/makers version\nModify core tasks config\nTrue/False to enable multi line env values\nGet the name of a dependency\nname\nThe task name\nThe task name\nThe task name to execute\nThe task name\nIf set to some value, all core tasks are modified to: …\nCreates and returns a new instance.\nReturns new instance\nReturns new instance\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nCreates and returns a new instance.\nDo not use .gitignore files\nThe name of the task to run in case of any error during …\nEnable optional extend (default to false)\nAs defined in the cfg target_os\noutput files\nOutput file name\nOutput format\nroot package\npackage info\nTrue to run all tasks in parallel (default false)\nTrue to run all tasks in parallel (default false)\nHolds the dependency path\nThe file path as string\nThe path to the makefile the task resides in\nPath to another makefile\nPlatform names (linux, windows, mac)\nOptional plugin used to execute the task\nOptional plugin used to execute the task\nAll plugin definitions\nAll plugin definitions\nScript section\nPostpone first run until a file changes\nScript section\nOnly print the execution plan\nPrint time summary at end of the flow\nif true, the task is hidden from the list of available …\nif true, the task is hidden from the list of available …\nIf true, all core tasks will be set to private (default …\nThe profile name\nThe profile name this file is relevant to\nProfile names (development, …)\nTrue to reduce console output for non CI execution\nRelative to option, sub as current makefile, git root, …\nrepository link\nThe task name to execute\nThe task name to execute\nRust info\nRust version condition\nIf defined, the component to install via rustup\nThe component to install via rustup\nThe script to execute to get the env value\nIf command is not defined, and script is defined, the …\nIf command is not defined, and script is defined, the …\nThe script file extension\nThe script file extension\nThe script runner (defaults to cmd in windows and sh for …\nThe script runner (defaults to cmd in windows and sh for …\nThe script runner arguments before the script file path\nThe script runner arguments before the script file path\nTrue to search for project root in parent directories if …\nReturns true if the task ignore_errors attribute is …\nIf true, the default core tasks will not be loaded\ndo not load current crate env info (save on perf)\ndo not load git env info (save on perf)\nIf true, the init and end tasks are skipped\nIf true, the init and end tasks are skipped\ndo not load rust env info (save on perf)\nSkip tasks that match the provided pattern\nSkip tasks that match the provided pattern\nThe source value (can be an env expression)\nA list of steps to execute\nThe task to invoke\nThe main task of the flow\nAll task definitions\nAll task definitions\nTest arguments that will be used to check that the crate …\nTest argument that will be used to check that the crate is …\ntiming info for summary\nTrue to print time summary at the end of the flow\nCreates the env. variable name associated to the feature\nThe rust toolchain used to invoke the command or install …\nThe rust toolchain used to invoke the command or install …\nIf true, the env variable will be unset, else ignored\nEnables unstable cargo-make features\nUpdate check minimum time from the previous check (always, …\nThe value to set (can be an env expression)\nversion\nExact version\nWatch version to install if not already installed\nSelect which files/folders to watch\nset to true to watch for file changes and invoke the task …\nset to true to watch for file changes and invoke the task …\nShow paths that changed\noverride task if runtime OS is Windows (takes precedence …\nacts like alias if runtime OS is Windows (takes precedence …\nacts like load_script if runtime OS is Windows (takes …\nAdorn the TaskIdentifier with a namespace\nworkspace info\nset to false to notify cargo-make that this is not a …") \ No newline at end of file diff --git a/docs/api/settings.html b/docs/api/settings.html index 7e09e63b..674841ba 100644 --- a/docs/api/settings.html +++ b/docs/api/settings.html @@ -1 +1 @@ -Settings

    Rustdoc settings

    Back
    \ No newline at end of file +Settings

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/docs/api/src-files.js b/docs/api/src-files.js index 29a493a1..37eb5a80 100644 --- a/docs/api/src-files.js +++ b/docs/api/src-files.js @@ -1,6 +1,3 @@ -var srcIndex = new Map(JSON.parse('[\ -["cargo_make",["",[],["main.rs"]]],\ -["cli",["",[["cli_commands",[],["diff_steps.rs","list_steps.rs","mod.rs","print_steps.rs"]],["descriptor",[["makefiles",[],["mod.rs"]]],["cargo_alias.rs","descriptor_deserializer.rs","env.rs","mod.rs"]],["environment",[],["crateinfo.rs","mod.rs"]],["functions",[],["decode_func.rs","getat_func.rs","mod.rs","remove_empty_func.rs","split_func.rs","trim_func.rs"]],["installer",[],["cargo_plugin_installer.rs","crate_installer.rs","crate_version_check.rs","mod.rs","rustup_component_installer.rs"]],["plugin",[["sdk",[],["cm_plugin_check_task_condition.rs","cm_plugin_force_plugin_clear.rs","cm_plugin_force_plugin_set.rs","cm_plugin_run_custom_task.rs","cm_plugin_run_task.rs","mod.rs"]]],["descriptor.rs","mod.rs","runner.rs","types.rs"]],["scriptengine",[["duck_script",[["sdk",[],["cm_run_task.rs","mod.rs"]]],["mod.rs"]]],["generic_script.rs","mod.rs","os_script.rs","rsscript.rs","script_utils.rs","shebang_script.rs","shell_to_batch.rs"]]],["cache.rs","cli.rs","cli_parser.rs","command.rs","condition.rs","config.rs","error.rs","execution_plan.rs","io.rs","legacy.rs","logger.rs","mod.rs","profile.rs","proxy_task.rs","recursion_level.rs","runner.rs","storage.rs","time_summary.rs","toolchain.rs","types.rs","version.rs"]]],\ -["makers",["",[],["makers.rs"]]]\ -]')); +var srcIndex = new Map(JSON.parse('[["cargo_make",["",[],["main.rs"]]],["cli",["",[["cli_commands",[],["diff_steps.rs","list_steps.rs","mod.rs","print_steps.rs"]],["descriptor",[["makefiles",[],["mod.rs"]]],["cargo_alias.rs","descriptor_deserializer.rs","env.rs","mod.rs"]],["environment",[],["crateinfo.rs","mod.rs"]],["functions",[],["decode_func.rs","getat_func.rs","mod.rs","remove_empty_func.rs","split_func.rs","trim_func.rs"]],["installer",[],["cargo_plugin_installer.rs","crate_installer.rs","crate_version_check.rs","mod.rs","rustup_component_installer.rs"]],["plugin",[["sdk",[],["cm_plugin_check_task_condition.rs","cm_plugin_force_plugin_clear.rs","cm_plugin_force_plugin_set.rs","cm_plugin_run_custom_task.rs","cm_plugin_run_task.rs","mod.rs"]]],["descriptor.rs","mod.rs","runner.rs","types.rs"]],["scriptengine",[["duck_script",[["sdk",[],["cm_run_task.rs","mod.rs"]]],["mod.rs"]]],["generic_script.rs","mod.rs","os_script.rs","rsscript.rs","script_utils.rs","shebang_script.rs","shell_to_batch.rs"]]],["cache.rs","cli.rs","cli_parser.rs","command.rs","completion.rs","condition.rs","config.rs","error.rs","execution_plan.rs","io.rs","legacy.rs","logger.rs","mod.rs","profile.rs","proxy_task.rs","recursion_level.rs","runner.rs","storage.rs","time_summary.rs","toolchain.rs","types.rs","version.rs"]]],["makers",["",[],["makers.rs"]]]]')); createSrcSidebar(); +//{"start":36,"fragment_lengths":[34,1245,33]} \ No newline at end of file diff --git a/docs/api/src/cargo_make/main.rs.html b/docs/api/src/cargo_make/main.rs.html index cf06011e..64a10ec7 100644 --- a/docs/api/src/cargo_make/main.rs.html +++ b/docs/api/src/cargo_make/main.rs.html @@ -1,4 +1,5 @@ -main.rs - source
    1
    +main.rs - source

    cargo_make/
    main.rs

    +1
     2
     3
     4
    @@ -41,8 +42,7 @@
     41
     42
     43
    -44
    -
    //! # cargo-make
    +44
    //! # cargo-make
     //!
     //! Rust task runner and build tool.<br>
     //! The cargo-make task runner enables to define and configure sets of tasks and run them as a flow.<br>
    diff --git a/docs/api/src/cli/cache.rs.html b/docs/api/src/cli/cache.rs.html
    index 283c9d3f..0688dd56 100644
    --- a/docs/api/src/cli/cache.rs.html
    +++ b/docs/api/src/cli/cache.rs.html
    @@ -1,4 +1,5 @@
    -cache.rs - source
    1
    +cache.rs - source

    cli/
    cache.rs

    +1
     2
     3
     4
    @@ -97,8 +98,7 @@
     97
     98
     99
    -100
    -
    //! # cache
    +100
    //! # cache
     //!
     //! Manages internal cargo-make persistent cache.
     //!
    diff --git a/docs/api/src/cli/cli.rs.html b/docs/api/src/cli/cli.rs.html
    index 7b72733e..eea28154 100644
    --- a/docs/api/src/cli/cli.rs.html
    +++ b/docs/api/src/cli/cli.rs.html
    @@ -1,4 +1,5 @@
    -cli.rs - source
    1
    +cli.rs - source

    cli/
    cli.rs

    +1
     2
     3
     4
    @@ -181,8 +182,7 @@
     181
     182
     183
    -184
    -
    //! # cli
    +184
    //! # cli
     //!
     //! The cargo-make cli
     //!
    diff --git a/docs/api/src/cli/cli_commands/diff_steps.rs.html b/docs/api/src/cli/cli_commands/diff_steps.rs.html
    index dbac7156..bfadd813 100644
    --- a/docs/api/src/cli/cli_commands/diff_steps.rs.html
    +++ b/docs/api/src/cli/cli_commands/diff_steps.rs.html
    @@ -1,4 +1,5 @@
    -diff_steps.rs - source
    1
    +diff_steps.rs - source

    cli/cli_commands/
    diff_steps.rs

    +1
     2
     3
     4
    @@ -87,8 +88,7 @@
     87
     88
     89
    -90
    -
    //! # diff_steps
    +90
    //! # diff_steps
     //!
     //! Prints a diff of execution plans.
     //!
    diff --git a/docs/api/src/cli/cli_commands/list_steps.rs.html b/docs/api/src/cli/cli_commands/list_steps.rs.html
    index 72a3bb10..3a9df4d0 100644
    --- a/docs/api/src/cli/cli_commands/list_steps.rs.html
    +++ b/docs/api/src/cli/cli_commands/list_steps.rs.html
    @@ -1,4 +1,5 @@
    -list_steps.rs - source
    1
    +list_steps.rs - source

    cli/cli_commands/
    list_steps.rs

    +1
     2
     3
     4
    @@ -188,8 +189,7 @@
     188
     189
     190
    -191
    -
    //! # list_steps
    +191
    //! # list_steps
     //!
     //! Lists all known tasks in multiple formats.
     //! Or can list tasks based on a category
    diff --git a/docs/api/src/cli/cli_commands/mod.rs.html b/docs/api/src/cli/cli_commands/mod.rs.html
    index a338133e..2525caea 100644
    --- a/docs/api/src/cli/cli_commands/mod.rs.html
    +++ b/docs/api/src/cli/cli_commands/mod.rs.html
    @@ -1,12 +1,12 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/cli_commands/
    mod.rs

    +1
     2
     3
     4
     5
     6
     7
    -8
    -
    //! # cli_commands
    +8
    //! # cli_commands
     //!
     //! Wrappers for each CLI sub command.
     //!
    diff --git a/docs/api/src/cli/cli_commands/print_steps.rs.html b/docs/api/src/cli/cli_commands/print_steps.rs.html
    index 2c3db275..7b8e11b5 100644
    --- a/docs/api/src/cli/cli_commands/print_steps.rs.html
    +++ b/docs/api/src/cli/cli_commands/print_steps.rs.html
    @@ -1,4 +1,5 @@
    -print_steps.rs - source
    1
    +print_steps.rs - source

    cli/cli_commands/
    print_steps.rs

    +1
     2
     3
     4
    @@ -113,8 +114,7 @@
     113
     114
     115
    -116
    -
    //! # print_steps
    +116
    //! # print_steps
     //!
     //! Prints the execution plan in multiple formats.
     //!
    diff --git a/docs/api/src/cli/cli_parser.rs.html b/docs/api/src/cli/cli_parser.rs.html
    index 1b09c766..f4717e0d 100644
    --- a/docs/api/src/cli/cli_parser.rs.html
    +++ b/docs/api/src/cli/cli_parser.rs.html
    @@ -1,4 +1,5 @@
    -cli_parser.rs - source
    1
    +cli_parser.rs - source

    cli/
    cli_parser.rs

    +1
     2
     3
     4
    @@ -512,7 +513,33 @@
     512
     513
     514
    -
    //! # cli_parser
    +515
    +516
    +517
    +518
    +519
    +520
    +521
    +522
    +523
    +524
    +525
    +526
    +527
    +528
    +529
    +530
    +531
    +532
    +533
    +534
    +535
    +536
    +537
    +538
    +539
    +540
    +541
    //! # cli_parser
     //!
     //! Defines the cli args and parsers them.
     //!
    @@ -521,6 +548,8 @@
     #[path = "cli_parser_test.rs"]
     mod cli_parser_test;
     
    +use crate::completion::generate_completions;
    +
     use crate::cli::{
         AUTHOR, DEFAULT_LOG_LEVEL, DEFAULT_OUTPUT_FORMAT, DEFAULT_TASK_NAME, DESCRIPTION, VERSION,
     };
    @@ -556,6 +585,11 @@
             None => None,
         };
     
    +    cli_args.completion = match cli_parsed.get_first_value("completion") {
    +        Some(value) => Some(value.to_string()),
    +        None => None,
    +    };
    +
         cli_args.cwd = cli_parsed.get_first_value("cwd");
     
         let default_log_level = match global_config.log_level {
    @@ -728,6 +762,17 @@
                     "PROFILE".to_string(),
                 )),
             })
    +        .add_argument(Argument {
    +            name: "completion".to_string(),
    +            key: vec!["--completion".to_string()],
    +            argument_occurrence: ArgumentOccurrence::Single,
    +            value_type: ArgumentValueType::Single,
    +            default_value: None,
    +            help: Some(ArgumentHelp::TextAndParam(
    +                "Will enable completion for the defined tasks for a given shell".to_string(),
    +                "COMPLETION".to_string(),
    +            )),
    +        })
             .add_argument(Argument {
                 name: "cwd".to_string(),
                 key: vec!["--cwd".to_string()],
    @@ -996,6 +1041,15 @@
             let version_text = cliparser::version(&spec);
             println!("{}", version_text);
             Err(CargoMakeError::ExitCode(std::process::ExitCode::SUCCESS))
    +    } else if let Some(shell) = cli_parsed.get_first_value("completion") {
    +        // Call the function to generate completions
    +        if let Err(e) = generate_completions(&shell) {
    +            error!("Error generating completions: {}", e);
    +            return Err(CargoMakeError::ExitCode(std::process::ExitCode::FAILURE));
    +        }
    +        Err(crate::error::CargoMakeError::ExitCode(
    +            std::process::ExitCode::SUCCESS,
    +        ))
         } else {
             Ok(get_args(
                 &cli_parsed,
    diff --git a/docs/api/src/cli/command.rs.html b/docs/api/src/cli/command.rs.html
    index 6244a73d..a0dcf3c6 100644
    --- a/docs/api/src/cli/command.rs.html
    +++ b/docs/api/src/cli/command.rs.html
    @@ -1,4 +1,5 @@
    -command.rs - source
    1
    +command.rs - source

    cli/
    command.rs

    +1
     2
     3
     4
    @@ -321,8 +322,7 @@
     321
     322
     323
    -324
    -
    //! # command
    +324
    //! # command
     //!
     //! Runs task commands/scripts.
     //!
    diff --git a/docs/api/src/cli/completion.rs.html b/docs/api/src/cli/completion.rs.html
    new file mode 100644
    index 00000000..0983dab8
    --- /dev/null
    +++ b/docs/api/src/cli/completion.rs.html
    @@ -0,0 +1,225 @@
    +completion.rs - source

    cli/
    completion.rs

    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    use log::{error, info};
    +use std::io::BufRead;
    +use std::path::Path;
    +use std::{fs, io};
    +
    +/// # Completions Module
    +///
    +/// This module handles the generation of shell completion scripts for the `cargo-make` tool.
    +///
    +/// ## Functionality
    +/// - `generate_completion_zsh`: Generates a Zsh completion script, creates the necessary directory,
    +///   and prompts for overwriting existing files.
    +///
    +/// ## Improvements to Consider
    +/// 1. **Modularity**: Separate the completion logic into different modules for different shells
    +///    (e.g., Zsh, Bash, Fish) to improve code organization.
    +/// 2. **Cross-Platform Support**: Abstract the completion generation into a trait or interface
    +///    to facilitate adding support for other shell types.
    +/// 3. **Enhanced Error Handling**: Provide more informative error messages for file operations.
    +/// 4. **User Input Handling**: Ensure user input is trimmed and handled correctly.
    +/// 5. **Testing**: Implement unit tests to verify the correct behavior of completion generation functions.
    +
    +#[cfg(test)]
    +#[path = "completion_test.rs"]
    +mod completion_test;
    +
    +pub fn generate_completions(shell: &str) -> Result<(), Box<dyn std::error::Error>> {
    +    match shell {
    +        "zsh" => {
    +            generate_completion_zsh(None)?; // Use the `?` operator to propagate errors
    +            Ok(()) // Return Ok if no error occurred
    +        }
    +        _ => {
    +            // Return an error for unsupported shell
    +            Err(Box::from(format!(
    +                "Unsupported shell for completion: {}",
    +                shell
    +            )))
    +        }
    +    }
    +}
    +
    +// Modify the function to accept an optional input stream
    +fn generate_completion_zsh(
    +    input: Option<&mut dyn io::Read>,
    +) -> Result<(), Box<dyn std::error::Error>> {
    +    let home_dir = std::env::var("HOME")?;
    +    let zfunc_dir = format!("{}/.zfunc", home_dir);
    +    let completion_file = format!("{}/_cargo-make", zfunc_dir);
    +
    +    if !Path::new(&zfunc_dir).exists() {
    +        if let Err(e) = fs::create_dir_all(&zfunc_dir) {
    +            error!("Failed to create directory {}: {}", zfunc_dir, e);
    +            return Err(Box::new(e));
    +        }
    +        info!("Created directory: {}", zfunc_dir);
    +    }
    +
    +    if Path::new(&completion_file).exists() {
    +        let mut input_str = String::new();
    +        let reader: Box<dyn io::Read> = match input {
    +            Some(input) => Box::new(input),
    +            None => Box::new(io::stdin()),
    +        };
    +
    +        // Create a BufReader to read from the provided input or stdin
    +        let mut buf_reader = io::BufReader::new(reader);
    +        println!(
    +            "File {} already exists. Overwrite? (y/n): ",
    +            completion_file
    +        );
    +        buf_reader.read_line(&mut input_str)?;
    +
    +        if input_str.trim().to_lowercase() != "y" {
    +            println!("Aborted overwriting the file.");
    +            return Ok(());
    +        }
    +    }
    +
    +    let completion_script = r#"
    +#compdef cargo make cargo-make
    +
    +_cargo_make() {
    +    local tasks
    +    local makefile="Makefile.toml"
    +    
    +    if [[ ! -f $makefile ]]; then
    +        return 1
    +    fi
    +
    +    tasks=($(awk -F'[\\[\\.\\]]' '/^\[tasks/ {print $3}' "$makefile"))
    +
    +    if [[ ${#tasks[@]} -eq 0 ]]; then
    +        return 1
    +    fi
    +
    +    _describe -t tasks 'cargo-make tasks' tasks
    +}
    +
    +_cargo_make "$@"
    +"#;
    +
    +    fs::write(&completion_file, completion_script)?;
    +    println!("\nWrote tasks completion script to: {}", completion_file);
    +
    +    println!("To enable Zsh completion, add the following lines to your ~/.zshrc:\n");
    +    println!("    fpath=(~/.zfunc $fpath)");
    +    println!("    autoload -Uz compinit && compinit");
    +    println!("\nThen, restart your terminal or run 'source ~/.zshrc'.");
    +
    +    Ok(())
    +}
    +
    \ No newline at end of file diff --git a/docs/api/src/cli/condition.rs.html b/docs/api/src/cli/condition.rs.html index e8b42950..62951a77 100644 --- a/docs/api/src/cli/condition.rs.html +++ b/docs/api/src/cli/condition.rs.html @@ -1,4 +1,5 @@ -condition.rs - source
    1
    +condition.rs - source

    cli/
    condition.rs

    +1
     2
     3
     4
    @@ -661,7 +662,33 @@
     661
     662
     663
    -
    //! # condition
    +664
    +665
    +666
    +667
    +668
    +669
    +670
    +671
    +672
    +673
    +674
    +675
    +676
    +677
    +678
    +679
    +680
    +681
    +682
    +683
    +684
    +685
    +686
    +687
    +688
    +689
    +690
    //! # condition
     //!
     //! Evaluates conditions based on task configuration and current env.
     //!
    @@ -686,9 +713,19 @@
     use rust_info::types::{RustChannel, RustInfo};
     use std::path::Path;
     
    +/// Enum indicates what kind of env map we are validating. Used in `validate_env_map` function.
    +enum EnvMapType {
    +    /// Validate map for `env` in `TaskCondition`.
    +    Env,
    +    /// Validate map for `env_contains` in `TaskCondition`.
    +    EnvContains,
    +    /// Validate map for `env_not` in `TaskCondition`.
    +    EnvNot,
    +}
    +
     fn validate_env_map(
         env: Option<IndexMap<String, String>>,
    -    equal: bool,
    +    env_map_type: EnvMapType,
         validate_any: bool,
     ) -> bool {
         match env {
    @@ -696,10 +733,10 @@
                 let mut found_any = env_vars.is_empty();
     
                 for (key, current_value) in env_vars.iter() {
    -                let valid = if equal {
    -                    envmnt::is_equal(key, current_value)
    -                } else {
    -                    envmnt::contains_ignore_case(key, current_value)
    +                let valid = match env_map_type {
    +                    EnvMapType::Env => envmnt::is_equal(key, current_value),
    +                    EnvMapType::EnvContains => envmnt::contains_ignore_case(key, current_value),
    +                    EnvMapType::EnvNot => !envmnt::is_equal(key, current_value),
                     };
     
                     if valid {
    @@ -720,11 +757,19 @@
     }
     
     fn validate_env(condition: &TaskCondition, validate_any: bool) -> bool {
    -    validate_env_map(condition.env.clone(), true, validate_any)
    +    validate_env_map(condition.env.clone(), EnvMapType::Env, validate_any)
    +}
    +
    +fn validate_env_not(condition: &TaskCondition, validate_any: bool) -> bool {
    +    validate_env_map(condition.env_not.clone(), EnvMapType::EnvNot, validate_any)
     }
     
     fn validate_env_contains(condition: &TaskCondition, validate_any: bool) -> bool {
    -    validate_env_map(condition.env_contains.clone(), false, validate_any)
    +    validate_env_map(
    +        condition.env_contains.clone(),
    +        EnvMapType::EnvContains,
    +        validate_any,
    +    )
     }
     
     fn validate_env_set(condition: &TaskCondition, validate_any: bool) -> bool {
    @@ -1169,6 +1214,15 @@
                     not_valid_found = true;
                 }
     
    +            valid = validate_env_not(&condition_struct, validate_any);
    +            if group_or_condition && valid && condition_struct.env_not.is_some() {
    +                return true;
    +            } else if !group_or_condition && !valid {
    +                return false;
    +            } else if group_or_condition && !valid {
    +                not_valid_found = true;
    +            }
    +
                 valid = validate_env_set(&condition_struct, validate_any);
                 if group_or_condition && valid && condition_struct.env_set.is_some() {
                     return true;
    diff --git a/docs/api/src/cli/config.rs.html b/docs/api/src/cli/config.rs.html
    index 93829705..e0ac90dc 100644
    --- a/docs/api/src/cli/config.rs.html
    +++ b/docs/api/src/cli/config.rs.html
    @@ -1,4 +1,5 @@
    -config.rs - source
    1
    +config.rs - source

    cli/
    config.rs

    +1
     2
     3
     4
    @@ -43,8 +44,7 @@
     43
     44
     45
    -46
    -
    //! # config
    +46
    //! # config
     //!
     //! Enable to load/store user level configuration for cargo-make.
     //!
    diff --git a/docs/api/src/cli/descriptor/cargo_alias.rs.html b/docs/api/src/cli/descriptor/cargo_alias.rs.html
    index 7955785a..385ce637 100644
    --- a/docs/api/src/cli/descriptor/cargo_alias.rs.html
    +++ b/docs/api/src/cli/descriptor/cargo_alias.rs.html
    @@ -1,4 +1,5 @@
    -cargo_alias.rs - source
    1
    +cargo_alias.rs - source

    cli/descriptor/
    cargo_alias.rs

    +1
     2
     3
     4
    @@ -63,8 +64,7 @@
     63
     64
     65
    -66
    -
    //! # cargo_alias
    +66
    //! # cargo_alias
     //!
     //! Dynamically creates tasks based on alias information in the cargo config.
     //!
    diff --git a/docs/api/src/cli/descriptor/descriptor_deserializer.rs.html b/docs/api/src/cli/descriptor/descriptor_deserializer.rs.html
    index 53d8263f..d11621cb 100644
    --- a/docs/api/src/cli/descriptor/descriptor_deserializer.rs.html
    +++ b/docs/api/src/cli/descriptor/descriptor_deserializer.rs.html
    @@ -1,4 +1,5 @@
    -descriptor_deserializer.rs - source
    1
    +descriptor_deserializer.rs - source

    cli/descriptor/
    descriptor_deserializer.rs

    +1
     2
     3
     4
    @@ -56,8 +57,7 @@
     56
     57
     58
    -59
    -
    //! # descriptor_deserializer
    +59
    //! # descriptor_deserializer
     //!
     //! Deserializes and validates the configs.
     
    diff --git a/docs/api/src/cli/descriptor/env.rs.html b/docs/api/src/cli/descriptor/env.rs.html
    index c444f1b4..5b0e2503 100644
    --- a/docs/api/src/cli/descriptor/env.rs.html
    +++ b/docs/api/src/cli/descriptor/env.rs.html
    @@ -1,4 +1,5 @@
    -env.rs - source
    1
    +env.rs - source

    cli/descriptor/
    env.rs

    +1
     2
     3
     4
    @@ -222,8 +223,7 @@
     222
     223
     224
    -225
    -
    use crate::error::CargoMakeError;
    +225
    use crate::error::CargoMakeError;
     use crate::types::{
         EnvFile, EnvValue, EnvValueConditioned, EnvValueDecode, EnvValuePathGlob, EnvValueScript,
     };
    diff --git a/docs/api/src/cli/descriptor/makefiles/mod.rs.html b/docs/api/src/cli/descriptor/makefiles/mod.rs.html
    index 22469b24..8916820f 100644
    --- a/docs/api/src/cli/descriptor/makefiles/mod.rs.html
    +++ b/docs/api/src/cli/descriptor/makefiles/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/descriptor/makefiles/
    mod.rs

    +1
     2
     3
     4
    @@ -19,8 +20,7 @@
     19
     20
     21
    -22
    -
    //! # makefiles
    +22
    //! # makefiles
     //!
     //! Provides access to internal makefiles.
     //!
    diff --git a/docs/api/src/cli/descriptor/mod.rs.html b/docs/api/src/cli/descriptor/mod.rs.html
    index c77adb97..a0fa47ef 100644
    --- a/docs/api/src/cli/descriptor/mod.rs.html
    +++ b/docs/api/src/cli/descriptor/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/descriptor/
    mod.rs

    +1
     2
     3
     4
    @@ -704,8 +705,7 @@
     704
     705
     706
    -707
    -
    //! # descriptor
    +707
    //! # descriptor
     //!
     //! Loads the tasks descriptor.<br>
     //! It will first load the default descriptor which is defined in cargo-make
    diff --git a/docs/api/src/cli/environment/crateinfo.rs.html b/docs/api/src/cli/environment/crateinfo.rs.html
    index d4de907d..5fa407c8 100644
    --- a/docs/api/src/cli/environment/crateinfo.rs.html
    +++ b/docs/api/src/cli/environment/crateinfo.rs.html
    @@ -1,4 +1,5 @@
    -crateinfo.rs - source
    1
    +crateinfo.rs - source

    cli/environment/
    crateinfo.rs

    +1
     2
     3
     4
    @@ -426,8 +427,7 @@
     426
     427
     428
    -429
    -
    //! # crateinfo
    +429
    //! # crateinfo
     //!
     //! Loads crate information.
     //!
    diff --git a/docs/api/src/cli/environment/mod.rs.html b/docs/api/src/cli/environment/mod.rs.html
    index 28d6439a..9e2eda95 100644
    --- a/docs/api/src/cli/environment/mod.rs.html
    +++ b/docs/api/src/cli/environment/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/environment/
    mod.rs

    +1
     2
     3
     4
    @@ -932,8 +933,7 @@
     932
     933
     934
    -935
    -
    //! # env
    +935
    //! # env
     //!
     //! Sets up the env vars before running the tasks.
     //!
    diff --git a/docs/api/src/cli/error.rs.html b/docs/api/src/cli/error.rs.html
    index 377015dc..846e76da 100644
    --- a/docs/api/src/cli/error.rs.html
    +++ b/docs/api/src/cli/error.rs.html
    @@ -1,4 +1,5 @@
    -error.rs - source
    1
    +error.rs - source

    cli/
    error.rs

    +1
     2
     3
     4
    @@ -181,8 +182,7 @@
     181
     182
     183
    -184
    -
    use std::cmp::PartialEq;
    +184
    use std::cmp::PartialEq;
     use std::string::ToString;
     
     #[derive(
    diff --git a/docs/api/src/cli/execution_plan.rs.html b/docs/api/src/cli/execution_plan.rs.html
    index 29572554..492c53b0 100644
    --- a/docs/api/src/cli/execution_plan.rs.html
    +++ b/docs/api/src/cli/execution_plan.rs.html
    @@ -1,4 +1,5 @@
    -execution_plan.rs - source
    1
    +execution_plan.rs - source

    cli/
    execution_plan.rs

    +1
     2
     3
     4
    @@ -547,8 +548,7 @@
     547
     548
     549
    -550
    -
    //! # execution_plan
    +550
    //! # execution_plan
     //!
     //! Creates execution plan for a given task and makefile.
     //!
    diff --git a/docs/api/src/cli/functions/decode_func.rs.html b/docs/api/src/cli/functions/decode_func.rs.html
    index edb5d1a5..8e01d7b7 100644
    --- a/docs/api/src/cli/functions/decode_func.rs.html
    +++ b/docs/api/src/cli/functions/decode_func.rs.html
    @@ -1,4 +1,5 @@
    -decode_func.rs - source
    1
    +decode_func.rs - source

    cli/functions/
    decode_func.rs

    +1
     2
     3
     4
    @@ -54,8 +55,7 @@
     54
     55
     56
    -57
    -
    //! # trim_func
    +57
    //! # trim_func
     //!
     //! Takes an environment variable name and returns its mapped value.
     //! In case no mapped value if found, the default value will be returned if provided as last argument or if no default value is provided, the original value is returned.
    diff --git a/docs/api/src/cli/functions/getat_func.rs.html b/docs/api/src/cli/functions/getat_func.rs.html
    index 8eda4ec6..1271513d 100644
    --- a/docs/api/src/cli/functions/getat_func.rs.html
    +++ b/docs/api/src/cli/functions/getat_func.rs.html
    @@ -1,4 +1,5 @@
    -getat_func.rs - source
    1
    +getat_func.rs - source

    cli/functions/
    getat_func.rs

    +1
     2
     3
     4
    @@ -42,8 +43,7 @@
     42
     43
     44
    -45
    -
    //! # getat_func
    +45
    //! # getat_func
     //!
     //! Split function which returns only the requested item from the created array.
     //!
    diff --git a/docs/api/src/cli/functions/mod.rs.html b/docs/api/src/cli/functions/mod.rs.html
    index 8c6d2fee..0e29347a 100644
    --- a/docs/api/src/cli/functions/mod.rs.html
    +++ b/docs/api/src/cli/functions/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/functions/
    mod.rs

    +1
     2
     3
     4
    @@ -132,8 +133,7 @@
     132
     133
     134
    -135
    -
    //! # functions
    +135
    //! # functions
     //!
     //! Custom operations which can be invoked in makefiles.
     //!
    diff --git a/docs/api/src/cli/functions/remove_empty_func.rs.html b/docs/api/src/cli/functions/remove_empty_func.rs.html
    index 1bf8a06c..047262bc 100644
    --- a/docs/api/src/cli/functions/remove_empty_func.rs.html
    +++ b/docs/api/src/cli/functions/remove_empty_func.rs.html
    @@ -1,4 +1,5 @@
    -remove_empty_func.rs - source
    1
    +remove_empty_func.rs - source

    cli/functions/
    remove_empty_func.rs

    +1
     2
     3
     4
    @@ -21,8 +22,7 @@
     21
     22
     23
    -24
    -
    //! # remove_empty_func
    +24
    //! # remove_empty_func
     //!
     //! Takes an environment variable name and returns its value of if its defined and contains some text.
     //!
    diff --git a/docs/api/src/cli/functions/split_func.rs.html b/docs/api/src/cli/functions/split_func.rs.html
    index 6311fbf2..5f949996 100644
    --- a/docs/api/src/cli/functions/split_func.rs.html
    +++ b/docs/api/src/cli/functions/split_func.rs.html
    @@ -1,4 +1,5 @@
    -split_func.rs - source
    1
    +split_func.rs - source

    cli/functions/
    split_func.rs

    +1
     2
     3
     4
    @@ -46,8 +47,7 @@
     46
     47
     48
    -49
    -
    //! # split_func
    +49
    //! # split_func
     //!
     //! Split function which takes an environment variable name and a split by string.
     //!
    diff --git a/docs/api/src/cli/functions/trim_func.rs.html b/docs/api/src/cli/functions/trim_func.rs.html
    index 5f4e8a04..56e995a7 100644
    --- a/docs/api/src/cli/functions/trim_func.rs.html
    +++ b/docs/api/src/cli/functions/trim_func.rs.html
    @@ -1,4 +1,5 @@
    -trim_func.rs - source
    1
    +trim_func.rs - source

    cli/functions/
    trim_func.rs

    +1
     2
     3
     4
    @@ -41,8 +42,7 @@
     41
     42
     43
    -44
    -
    //! # trim_func
    +44
    //! # trim_func
     //!
     //! Takes an environment variable name and returns its value trimmed.
     //! The value will be removed if empty.
    diff --git a/docs/api/src/cli/installer/cargo_plugin_installer.rs.html b/docs/api/src/cli/installer/cargo_plugin_installer.rs.html
    index bbd7a7cc..21c43e48 100644
    --- a/docs/api/src/cli/installer/cargo_plugin_installer.rs.html
    +++ b/docs/api/src/cli/installer/cargo_plugin_installer.rs.html
    @@ -1,4 +1,5 @@
    -cargo_plugin_installer.rs - source
    1
    +cargo_plugin_installer.rs - source

    cli/installer/
    cargo_plugin_installer.rs

    +1
     2
     3
     4
    @@ -196,8 +197,7 @@
     196
     197
     198
    -199
    -
    //! # cargo_plugin_installer
    +199
    //! # cargo_plugin_installer
     //!
     //! Installs cargo plugins automatically if needed.
     //!
    diff --git a/docs/api/src/cli/installer/crate_installer.rs.html b/docs/api/src/cli/installer/crate_installer.rs.html
    index 8017a0f3..c25a225e 100644
    --- a/docs/api/src/cli/installer/crate_installer.rs.html
    +++ b/docs/api/src/cli/installer/crate_installer.rs.html
    @@ -1,4 +1,5 @@
    -crate_installer.rs - source
    1
    +crate_installer.rs - source

    cli/installer/
    crate_installer.rs

    +1
     2
     3
     4
    @@ -119,8 +120,7 @@
     119
     120
     121
    -122
    -
    //! # crate_installer
    +122
    //! # crate_installer
     //!
     //! Installs crates via rustup/cargo.
     //!
    diff --git a/docs/api/src/cli/installer/crate_version_check.rs.html b/docs/api/src/cli/installer/crate_version_check.rs.html
    index 24f28842..68b6cec8 100644
    --- a/docs/api/src/cli/installer/crate_version_check.rs.html
    +++ b/docs/api/src/cli/installer/crate_version_check.rs.html
    @@ -1,4 +1,5 @@
    -crate_version_check.rs - source
    1
    +crate_version_check.rs - source

    cli/installer/
    crate_version_check.rs

    +1
     2
     3
     4
    @@ -221,8 +222,7 @@
     221
     222
     223
    -224
    -
    //! # crate_version_check
    +224
    //! # crate_version_check
     //!
     //! Checks crate versions.
     //!
    diff --git a/docs/api/src/cli/installer/mod.rs.html b/docs/api/src/cli/installer/mod.rs.html
    index 819e0402..938675f3 100644
    --- a/docs/api/src/cli/installer/mod.rs.html
    +++ b/docs/api/src/cli/installer/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/installer/
    mod.rs

    +1
     2
     3
     4
    @@ -193,8 +194,7 @@
     193
     194
     195
    -196
    -
    //! # installer
    +196
    //! # installer
     //!
     //! Installs external dependencies for tasks.<br>
     //! There are 2 types of dependencies: install_crate, install_script.<br>
    diff --git a/docs/api/src/cli/installer/rustup_component_installer.rs.html b/docs/api/src/cli/installer/rustup_component_installer.rs.html
    index 22fbf530..b6d80bb7 100644
    --- a/docs/api/src/cli/installer/rustup_component_installer.rs.html
    +++ b/docs/api/src/cli/installer/rustup_component_installer.rs.html
    @@ -1,4 +1,5 @@
    -rustup_component_installer.rs - source
    1
    +rustup_component_installer.rs - source

    cli/installer/
    rustup_component_installer.rs

    +1
     2
     3
     4
    @@ -137,8 +138,7 @@
     137
     138
     139
    -140
    -
    //! # rustup_component_installer
    +140
    //! # rustup_component_installer
     //!
     //! Installs rustup components.
     //!
    diff --git a/docs/api/src/cli/io.rs.html b/docs/api/src/cli/io.rs.html
    index d2b7a858..4b465994 100644
    --- a/docs/api/src/cli/io.rs.html
    +++ b/docs/api/src/cli/io.rs.html
    @@ -1,4 +1,5 @@
    -io.rs - source
    1
    +io.rs - source

    cli/
    io.rs

    +1
     2
     3
     4
    @@ -154,8 +155,7 @@
     154
     155
     156
    -157
    -
    //! # io
    +157
    //! # io
     //!
     //! IO helper functions
     //!
    diff --git a/docs/api/src/cli/legacy.rs.html b/docs/api/src/cli/legacy.rs.html
    index 623d35cb..b2d3fc17 100644
    --- a/docs/api/src/cli/legacy.rs.html
    +++ b/docs/api/src/cli/legacy.rs.html
    @@ -1,4 +1,5 @@
    -legacy.rs - source
    1
    +legacy.rs - source

    cli/
    legacy.rs

    +1
     2
     3
     4
    @@ -89,8 +90,7 @@
     89
     90
     91
    -92
    -
    //! # legacy
    +92
    //! # legacy
     //!
     //! Support legacy features.
     //!
    diff --git a/docs/api/src/cli/logger.rs.html b/docs/api/src/cli/logger.rs.html
    index 43cc3fd2..43c53fde 100644
    --- a/docs/api/src/cli/logger.rs.html
    +++ b/docs/api/src/cli/logger.rs.html
    @@ -1,4 +1,5 @@
    -logger.rs - source
    1
    +logger.rs - source

    cli/
    logger.rs

    +1
     2
     3
     4
    @@ -172,8 +173,7 @@
     172
     173
     174
    -175
    -
    //! # log
    +175
    //! # log
     //!
     //! Initializes the global logger.
     //!
    diff --git a/docs/api/src/cli/mod.rs.html b/docs/api/src/cli/mod.rs.html
    index 0d40e933..830dfae7 100644
    --- a/docs/api/src/cli/mod.rs.html
    +++ b/docs/api/src/cli/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/
    mod.rs

    +1
     2
     3
     4
    @@ -82,7 +83,7 @@
     82
     83
     84
    -
    #![deny(
    +85
    #![deny(
         future_incompatible,
         keyword_idents,
         let_underscore,
    @@ -140,6 +141,7 @@
     pub mod cli_commands;
     pub mod cli_parser;
     mod command;
    +pub mod completion;
     mod condition;
     pub mod config;
     mod descriptor;
    diff --git a/docs/api/src/cli/plugin/descriptor.rs.html b/docs/api/src/cli/plugin/descriptor.rs.html
    index a9214397..7caad5fb 100644
    --- a/docs/api/src/cli/plugin/descriptor.rs.html
    +++ b/docs/api/src/cli/plugin/descriptor.rs.html
    @@ -1,4 +1,5 @@
    -descriptor.rs - source
    1
    +descriptor.rs - source

    cli/plugin/
    descriptor.rs

    +1
     2
     3
     4
    @@ -66,8 +67,7 @@
     66
     67
     68
    -69
    -
    //! # descriptor
    +69
    //! # descriptor
     //!
     //! Handles the plugin descriptor section logic.
     //!
    diff --git a/docs/api/src/cli/plugin/mod.rs.html b/docs/api/src/cli/plugin/mod.rs.html
    index c5a5c872..f4e680f2 100644
    --- a/docs/api/src/cli/plugin/mod.rs.html
    +++ b/docs/api/src/cli/plugin/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/plugin/
    mod.rs

    +1
     2
     3
     4
    @@ -6,8 +7,7 @@
     6
     7
     8
    -9
    -
    //! # plugin
    +9
    //! # plugin
     //!
     //! Manages and runs the plugins.
     //!
    diff --git a/docs/api/src/cli/plugin/runner.rs.html b/docs/api/src/cli/plugin/runner.rs.html
    index a75ac02b..3307d042 100644
    --- a/docs/api/src/cli/plugin/runner.rs.html
    +++ b/docs/api/src/cli/plugin/runner.rs.html
    @@ -1,4 +1,5 @@
    -runner.rs - source
    1
    +runner.rs - source

    cli/plugin/
    runner.rs

    +1
     2
     3
     4
    @@ -309,8 +310,7 @@
     309
     310
     311
    -312
    -
    //! # runner
    +312
    //! # runner
     //!
     //! Runs task plugins.
     //!
    diff --git a/docs/api/src/cli/plugin/sdk/cm_plugin_check_task_condition.rs.html b/docs/api/src/cli/plugin/sdk/cm_plugin_check_task_condition.rs.html
    index 5f42d160..cb3cee54 100644
    --- a/docs/api/src/cli/plugin/sdk/cm_plugin_check_task_condition.rs.html
    +++ b/docs/api/src/cli/plugin/sdk/cm_plugin_check_task_condition.rs.html
    @@ -1,4 +1,5 @@
    -cm_plugin_check_task_condition.rs - source
    1
    +cm_plugin_check_task_condition.rs - source

    cli/plugin/sdk/
    cm_plugin_check_task_condition.rs

    +1
     2
     3
     4
    @@ -41,8 +42,7 @@
     41
     42
     43
    -44
    -
    //! # cm_check_task_condition
    +44
    //! # cm_check_task_condition
     //!
     //! Enables to run cargo-make tasks from within duckscript.
     //!
    diff --git a/docs/api/src/cli/plugin/sdk/cm_plugin_force_plugin_clear.rs.html b/docs/api/src/cli/plugin/sdk/cm_plugin_force_plugin_clear.rs.html
    index c4489397..dd4569d9 100644
    --- a/docs/api/src/cli/plugin/sdk/cm_plugin_force_plugin_clear.rs.html
    +++ b/docs/api/src/cli/plugin/sdk/cm_plugin_force_plugin_clear.rs.html
    @@ -1,4 +1,5 @@
    -cm_plugin_force_plugin_clear.rs - source
    1
    +cm_plugin_force_plugin_clear.rs - source

    cli/plugin/sdk/
    cm_plugin_force_plugin_clear.rs

    +1
     2
     3
     4
    @@ -31,8 +32,7 @@
     31
     32
     33
    -34
    -
    //! # cm_run_task
    +34
    //! # cm_run_task
     //!
     //! Enables to run cargo-make tasks from within duckscript.
     //!
    diff --git a/docs/api/src/cli/plugin/sdk/cm_plugin_force_plugin_set.rs.html b/docs/api/src/cli/plugin/sdk/cm_plugin_force_plugin_set.rs.html
    index 9ac542bd..eee0d539 100644
    --- a/docs/api/src/cli/plugin/sdk/cm_plugin_force_plugin_set.rs.html
    +++ b/docs/api/src/cli/plugin/sdk/cm_plugin_force_plugin_set.rs.html
    @@ -1,4 +1,5 @@
    -cm_plugin_force_plugin_set.rs - source
    1
    +cm_plugin_force_plugin_set.rs - source

    cli/plugin/sdk/
    cm_plugin_force_plugin_set.rs

    +1
     2
     3
     4
    @@ -39,8 +40,7 @@
     39
     40
     41
    -42
    -
    //! # cm_run_task
    +42
    //! # cm_run_task
     //!
     //! Enables to run cargo-make tasks from within duckscript.
     //!
    diff --git a/docs/api/src/cli/plugin/sdk/cm_plugin_run_custom_task.rs.html b/docs/api/src/cli/plugin/sdk/cm_plugin_run_custom_task.rs.html
    index 7485077e..10f24fe3 100644
    --- a/docs/api/src/cli/plugin/sdk/cm_plugin_run_custom_task.rs.html
    +++ b/docs/api/src/cli/plugin/sdk/cm_plugin_run_custom_task.rs.html
    @@ -1,4 +1,5 @@
    -cm_plugin_run_custom_task.rs - source
    1
    +cm_plugin_run_custom_task.rs - source

    cli/plugin/sdk/
    cm_plugin_run_custom_task.rs

    +1
     2
     3
     4
    @@ -71,8 +72,7 @@
     71
     72
     73
    -74
    -
    //! # cm_run_task
    +74
    //! # cm_run_task
     //!
     //! Enables to run cargo-make tasks from within duckscript.
     //!
    diff --git a/docs/api/src/cli/plugin/sdk/cm_plugin_run_task.rs.html b/docs/api/src/cli/plugin/sdk/cm_plugin_run_task.rs.html
    index 89a6ad7f..639be351 100644
    --- a/docs/api/src/cli/plugin/sdk/cm_plugin_run_task.rs.html
    +++ b/docs/api/src/cli/plugin/sdk/cm_plugin_run_task.rs.html
    @@ -1,4 +1,5 @@
    -cm_plugin_run_task.rs - source
    1
    +cm_plugin_run_task.rs - source

    cli/plugin/sdk/
    cm_plugin_run_task.rs

    +1
     2
     3
     4
    @@ -57,8 +58,7 @@
     57
     58
     59
    -60
    -
    //! # cm_run_task
    +60
    //! # cm_run_task
     //!
     //! Enables to run cargo-make tasks from within duckscript.
     //!
    diff --git a/docs/api/src/cli/plugin/sdk/mod.rs.html b/docs/api/src/cli/plugin/sdk/mod.rs.html
    index a1165369..b9709dc9 100644
    --- a/docs/api/src/cli/plugin/sdk/mod.rs.html
    +++ b/docs/api/src/cli/plugin/sdk/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/plugin/sdk/
    mod.rs

    +1
     2
     3
     4
    @@ -37,8 +38,7 @@
     37
     38
     39
    -40
    -
    //! # sdk
    +40
    //! # sdk
     //!
     //! Loads the cargo-make duckscript plugin SDK.
     //!
    diff --git a/docs/api/src/cli/plugin/types.rs.html b/docs/api/src/cli/plugin/types.rs.html
    index 0aa59539..50429e32 100644
    --- a/docs/api/src/cli/plugin/types.rs.html
    +++ b/docs/api/src/cli/plugin/types.rs.html
    @@ -1,4 +1,5 @@
    -types.rs - source
    1
    +types.rs - source

    cli/plugin/
    types.rs

    +1
     2
     3
     4
    @@ -31,8 +32,7 @@
     31
     32
     33
    -34
    -
    //! # types
    +34
    //! # types
     //!
     //! Defines the various plugin related types.
     //!
    diff --git a/docs/api/src/cli/profile.rs.html b/docs/api/src/cli/profile.rs.html
    index 879f890d..f15ab23a 100644
    --- a/docs/api/src/cli/profile.rs.html
    +++ b/docs/api/src/cli/profile.rs.html
    @@ -1,4 +1,5 @@
    -profile.rs - source
    1
    +profile.rs - source

    cli/
    profile.rs

    +1
     2
     3
     4
    @@ -55,8 +56,7 @@
     55
     56
     57
    -58
    -
    //! # profile
    +58
    //! # profile
     //!
     //! Profile related utility functions
     //!
    diff --git a/docs/api/src/cli/proxy_task.rs.html b/docs/api/src/cli/proxy_task.rs.html
    index 327ea405..3cf2c5fb 100644
    --- a/docs/api/src/cli/proxy_task.rs.html
    +++ b/docs/api/src/cli/proxy_task.rs.html
    @@ -1,4 +1,5 @@
    -proxy_task.rs - source
    1
    +proxy_task.rs - source

    cli/
    proxy_task.rs

    +1
     2
     3
     4
    @@ -70,8 +71,7 @@
     70
     71
     72
    -73
    -
    use std::env;
    +73
    use std::env;
     
     use crate::{logger, profile, types::Task};
     
    diff --git a/docs/api/src/cli/recursion_level.rs.html b/docs/api/src/cli/recursion_level.rs.html
    index 114f95f7..5b620c5d 100644
    --- a/docs/api/src/cli/recursion_level.rs.html
    +++ b/docs/api/src/cli/recursion_level.rs.html
    @@ -1,4 +1,5 @@
    -recursion_level.rs - source
    1
    +recursion_level.rs - source

    cli/
    recursion_level.rs

    +1
     2
     3
     4
    @@ -23,8 +24,7 @@
     23
     24
     25
    -26
    -
    //! # recursion_level
    +26
    //! # recursion_level
     //!
     //! Utility functions to keep track of the recursion of cargo-make calls.
     //!
    diff --git a/docs/api/src/cli/runner.rs.html b/docs/api/src/cli/runner.rs.html
    index b78ba261..3dcad3fb 100644
    --- a/docs/api/src/cli/runner.rs.html
    +++ b/docs/api/src/cli/runner.rs.html
    @@ -1,4 +1,5 @@
    -runner.rs - source
    1
    +runner.rs - source

    cli/
    runner.rs

    +1
     2
     3
     4
    @@ -709,8 +710,7 @@
     709
     710
     711
    -712
    -
    //! # runner
    +712
    //! # runner
     //!
     //! Runs the requested tasks.<br>
     //! The flow is as follows:
    diff --git a/docs/api/src/cli/scriptengine/duck_script/mod.rs.html b/docs/api/src/cli/scriptengine/duck_script/mod.rs.html
    index f8a0892b..4dba2868 100644
    --- a/docs/api/src/cli/scriptengine/duck_script/mod.rs.html
    +++ b/docs/api/src/cli/scriptengine/duck_script/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/scriptengine/duck_script/
    mod.rs

    +1
     2
     3
     4
    @@ -109,8 +110,7 @@
     109
     110
     111
    -112
    -
    //! # duck_script
    +112
    //! # duck_script
     //!
     //! Compiles and runs duckscript code.
     //!
    diff --git a/docs/api/src/cli/scriptengine/duck_script/sdk/cm_run_task.rs.html b/docs/api/src/cli/scriptengine/duck_script/sdk/cm_run_task.rs.html
    index 19f461f1..9f70922d 100644
    --- a/docs/api/src/cli/scriptengine/duck_script/sdk/cm_run_task.rs.html
    +++ b/docs/api/src/cli/scriptengine/duck_script/sdk/cm_run_task.rs.html
    @@ -1,4 +1,5 @@
    -cm_run_task.rs - source
    1
    +cm_run_task.rs - source

    cli/scriptengine/duck_script/sdk/
    cm_run_task.rs

    +1
     2
     3
     4
    @@ -75,8 +76,7 @@
     75
     76
     77
    -78
    -
    //! # cm_run_task
    +78
    //! # cm_run_task
     //!
     //! Enables to run cargo-make tasks from within duckscript.
     //!
    diff --git a/docs/api/src/cli/scriptengine/duck_script/sdk/mod.rs.html b/docs/api/src/cli/scriptengine/duck_script/sdk/mod.rs.html
    index 6fc577e2..2bc2f231 100644
    --- a/docs/api/src/cli/scriptengine/duck_script/sdk/mod.rs.html
    +++ b/docs/api/src/cli/scriptengine/duck_script/sdk/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/scriptengine/duck_script/sdk/
    mod.rs

    +1
     2
     3
     4
    @@ -22,8 +23,7 @@
     22
     23
     24
    -25
    -
    //! # sdk
    +25
    //! # sdk
     //!
     //! Loads the cargo-make duckscript SDK.
     //!
    diff --git a/docs/api/src/cli/scriptengine/generic_script.rs.html b/docs/api/src/cli/scriptengine/generic_script.rs.html
    index a6f70770..16de1b14 100644
    --- a/docs/api/src/cli/scriptengine/generic_script.rs.html
    +++ b/docs/api/src/cli/scriptengine/generic_script.rs.html
    @@ -1,4 +1,5 @@
    -generic_script.rs - source
    1
    +generic_script.rs - source

    cli/scriptengine/
    generic_script.rs

    +1
     2
     3
     4
    @@ -52,8 +53,7 @@
     52
     53
     54
    -55
    -
    //! # generic_script
    +55
    //! # generic_script
     //!
     //! Runs generic scripts for other languages based on provided config.
     //!
    diff --git a/docs/api/src/cli/scriptengine/mod.rs.html b/docs/api/src/cli/scriptengine/mod.rs.html
    index ba7675fe..a6c08495 100644
    --- a/docs/api/src/cli/scriptengine/mod.rs.html
    +++ b/docs/api/src/cli/scriptengine/mod.rs.html
    @@ -1,4 +1,5 @@
    -mod.rs - source
    1
    +mod.rs - source

    cli/scriptengine/
    mod.rs

    +1
     2
     3
     4
    @@ -309,8 +310,7 @@
     309
     310
     311
    -312
    -
    //! # scriptengine
    +312
    //! # scriptengine
     //!
     //! Facade for all different non OS scripts.
     //!
    diff --git a/docs/api/src/cli/scriptengine/os_script.rs.html b/docs/api/src/cli/scriptengine/os_script.rs.html
    index ff1cffcb..1537b9d0 100644
    --- a/docs/api/src/cli/scriptengine/os_script.rs.html
    +++ b/docs/api/src/cli/scriptengine/os_script.rs.html
    @@ -1,4 +1,5 @@
    -os_script.rs - source
    1
    +os_script.rs - source

    cli/scriptengine/
    os_script.rs

    +1
     2
     3
     4
    @@ -19,8 +20,7 @@
     19
     20
     21
    -22
    -
    //! # os_script
    +22
    //! # os_script
     //!
     //! Runs OS scripts.
     //!
    diff --git a/docs/api/src/cli/scriptengine/rsscript.rs.html b/docs/api/src/cli/scriptengine/rsscript.rs.html
    index cd015f9c..30d9a2da 100644
    --- a/docs/api/src/cli/scriptengine/rsscript.rs.html
    +++ b/docs/api/src/cli/scriptengine/rsscript.rs.html
    @@ -1,4 +1,5 @@
    -rsscript.rs - source
    1
    +rsscript.rs - source

    cli/scriptengine/
    rsscript.rs

    +1
     2
     3
     4
    @@ -130,8 +131,7 @@
     130
     131
     132
    -133
    -
    //! # rsscript
    +133
    //! # rsscript
     //!
     //! Compiles and runs rust code.
     //!
    diff --git a/docs/api/src/cli/scriptengine/script_utils.rs.html b/docs/api/src/cli/scriptengine/script_utils.rs.html
    index 9db3e707..44e5a301 100644
    --- a/docs/api/src/cli/scriptengine/script_utils.rs.html
    +++ b/docs/api/src/cli/scriptengine/script_utils.rs.html
    @@ -1,4 +1,5 @@
    -script_utils.rs - source
    1
    +script_utils.rs - source

    cli/scriptengine/
    script_utils.rs

    +1
     2
     3
     4
    @@ -90,7 +91,7 @@
     90
     91
     92
    -
    //! # script_utils
    +93
    //! # script_utils
     //!
     //! Helper functions for script invocations.
     //!
    @@ -103,7 +104,7 @@
     use crate::io::create_text_file;
     use fsio::file::write_text_file;
     use fsio::path::as_path::AsPath;
    -use md5;
    +use sha2::{Digest, Sha256};
     use std::path::PathBuf;
     
     pub(crate) fn create_script_file(
    @@ -136,8 +137,9 @@
         let text = script_text.join("\n");
     
         let string_bytes = text.as_bytes();
    -    let bytes = md5::compute(string_bytes);
    -    let mut file_name = format!("{:x}", bytes);
    +    let mut hasher = Sha256::new();
    +    hasher.update(string_bytes);
    +    let mut file_name = hex::encode(hasher.finalize());
     
         let default_target_directory = envmnt::get_or("CARGO_MAKE_CRATE_TARGET_DIRECTORY", "target");
         let directory = envmnt::get_or(
    diff --git a/docs/api/src/cli/scriptengine/shebang_script.rs.html b/docs/api/src/cli/scriptengine/shebang_script.rs.html
    index 1d9fbb7e..72651354 100644
    --- a/docs/api/src/cli/scriptengine/shebang_script.rs.html
    +++ b/docs/api/src/cli/scriptengine/shebang_script.rs.html
    @@ -1,4 +1,5 @@
    -shebang_script.rs - source
    1
    +shebang_script.rs - source

    cli/scriptengine/
    shebang_script.rs

    +1
     2
     3
     4
    @@ -133,8 +134,7 @@
     133
     134
     135
    -136
    -
    //! # shebang_script
    +136
    //! # shebang_script
     //!
     //! Runs scripts using the executable defined in the shebang line.
     //!
    diff --git a/docs/api/src/cli/scriptengine/shell_to_batch.rs.html b/docs/api/src/cli/scriptengine/shell_to_batch.rs.html
    index 0c334fbf..8a30a66f 100644
    --- a/docs/api/src/cli/scriptengine/shell_to_batch.rs.html
    +++ b/docs/api/src/cli/scriptengine/shell_to_batch.rs.html
    @@ -1,4 +1,5 @@
    -shell_to_batch.rs - source
    1
    +shell_to_batch.rs - source

    cli/scriptengine/
    shell_to_batch.rs

    +1
     2
     3
     4
    @@ -30,8 +31,7 @@
     30
     31
     32
    -33
    -
    //! # shell_to_batch
    +33
    //! # shell_to_batch
     //!
     //! Converts shell scripts to windows batch and invokes them.
     //!
    diff --git a/docs/api/src/cli/storage.rs.html b/docs/api/src/cli/storage.rs.html
    index 07495e4e..8ef23503 100644
    --- a/docs/api/src/cli/storage.rs.html
    +++ b/docs/api/src/cli/storage.rs.html
    @@ -1,4 +1,5 @@
    -storage.rs - source
    1
    +storage.rs - source

    cli/
    storage.rs

    +1
     2
     3
     4
    @@ -41,8 +42,7 @@
     41
     42
     43
    -44
    -
    //! # storage
    +44
    //! # storage
     //!
     //! Provides storage related utilities such as config/cache directory locations.
     //!
    diff --git a/docs/api/src/cli/time_summary.rs.html b/docs/api/src/cli/time_summary.rs.html
    index 256acc2a..cfb60d9d 100644
    --- a/docs/api/src/cli/time_summary.rs.html
    +++ b/docs/api/src/cli/time_summary.rs.html
    @@ -1,4 +1,5 @@
    -time_summary.rs - source
    1
    +time_summary.rs - source

    cli/
    time_summary.rs

    +1
     2
     3
     4
    @@ -69,8 +70,7 @@
     69
     70
     71
    -72
    -
    //! # time_summary
    +72
    //! # time_summary
     //!
     //! Prints out the time summary for the flow.
     //!
    diff --git a/docs/api/src/cli/toolchain.rs.html b/docs/api/src/cli/toolchain.rs.html
    index 556cc3f8..e25668bc 100644
    --- a/docs/api/src/cli/toolchain.rs.html
    +++ b/docs/api/src/cli/toolchain.rs.html
    @@ -1,4 +1,5 @@
    -toolchain.rs - source
    1
    +toolchain.rs - source

    cli/
    toolchain.rs

    +1
     2
     3
     4
    @@ -149,8 +150,7 @@
     149
     150
     151
    -152
    -
    //! # toolchain
    +152
    //! # toolchain
     //!
     //! Toolchain related utilify functions.
     //!
    diff --git a/docs/api/src/cli/types.rs.html b/docs/api/src/cli/types.rs.html
    index 53f5f600..37dfffa1 100644
    --- a/docs/api/src/cli/types.rs.html
    +++ b/docs/api/src/cli/types.rs.html
    @@ -1,4 +1,5 @@
    -types.rs - source
    1
    +types.rs - source

    cli/
    types.rs

    +1
     2
     3
     4
    @@ -2460,7 +2461,11 @@
     2460
     2461
     2462
    -
    //! # types
    +2463
    +2464
    +2465
    +2466
    +2467
    //! # types
     //!
     //! Defines the various types and aliases used by cargo-make.
     //!
    @@ -2553,6 +2558,8 @@
         pub log_level: String,
         /// Disables colorful output
         pub disable_color: bool,
    +    /// Task completion for given shell
    +    pub completion: Option<String>,
         /// Current working directory
         pub cwd: Option<String>,
         /// Environment variables
    @@ -2603,6 +2610,7 @@
                 profile: None,
                 log_level: "info".to_string(),
                 disable_color: false,
    +            completion: None,
                 cwd: None,
                 env: None,
                 env_file: None,
    @@ -2861,6 +2869,8 @@
         pub env_not_set: Option<Vec<String>>,
         /// Environment variables and their values
         pub env: Option<IndexMap<String, String>>,
    +    /// Environment variables and the values which they must not be defined as
    +    pub env_not: Option<IndexMap<String, String>>,
         /// Environment variables which are defined as true
         pub env_true: Option<Vec<String>>,
         /// Environment variables which are defined as false
    diff --git a/docs/api/src/cli/version.rs.html b/docs/api/src/cli/version.rs.html
    index 76b89385..d411d3be 100644
    --- a/docs/api/src/cli/version.rs.html
    +++ b/docs/api/src/cli/version.rs.html
    @@ -1,4 +1,5 @@
    -version.rs - source
    1
    +version.rs - source

    cli/
    version.rs

    +1
     2
     3
     4
    @@ -253,8 +254,7 @@
     253
     254
     255
    -256
    -
    //! # version
    +256
    //! # version
     //!
     //! Checks if the currently running version is the most up to date version and
     //! if not, it will print a notification message.
    diff --git a/docs/api/src/makers/makers.rs.html b/docs/api/src/makers/makers.rs.html
    index 4599e2a5..5121f25e 100644
    --- a/docs/api/src/makers/makers.rs.html
    +++ b/docs/api/src/makers/makers.rs.html
    @@ -1,4 +1,5 @@
    -makers.rs - source
    1
    +makers.rs - source

    makers/
    makers.rs

    +1
     2
     3
     4
    @@ -30,8 +31,7 @@
     30
     31
     32
    -33
    -
    //! # makers
    +33
    //! # makers
     //!
     //! Rust task runner and build tool.<br>
     //! The makers executable works the same as cargo-make except that it is not invoked
    diff --git a/docs/api/static.files/COPYRIGHT-000000008a1f0d17.txt b/docs/api/static.files/COPYRIGHT-eb44e4cf.txt
    similarity index 100%
    rename from docs/api/static.files/COPYRIGHT-000000008a1f0d17.txt
    rename to docs/api/static.files/COPYRIGHT-eb44e4cf.txt
    diff --git a/docs/api/static.files/FiraSans-LICENSE-000000004f3fb3ba.txt b/docs/api/static.files/FiraSans-LICENSE-05ab6dbd.txt
    similarity index 100%
    rename from docs/api/static.files/FiraSans-LICENSE-000000004f3fb3ba.txt
    rename to docs/api/static.files/FiraSans-LICENSE-05ab6dbd.txt
    diff --git a/docs/api/static.files/FiraSans-Medium-0000000066e2bc86.woff2 b/docs/api/static.files/FiraSans-Medium-e1aa3f0a.woff2
    similarity index 100%
    rename from docs/api/static.files/FiraSans-Medium-0000000066e2bc86.woff2
    rename to docs/api/static.files/FiraSans-Medium-e1aa3f0a.woff2
    diff --git a/docs/api/static.files/FiraSans-Regular-0000000084b1ad12.woff2 b/docs/api/static.files/FiraSans-Regular-0fe48ade.woff2
    similarity index 100%
    rename from docs/api/static.files/FiraSans-Regular-0000000084b1ad12.woff2
    rename to docs/api/static.files/FiraSans-Regular-0fe48ade.woff2
    diff --git a/docs/api/static.files/LICENSE-APACHE-00000000be5b60d4.txt b/docs/api/static.files/LICENSE-APACHE-a60eea81.txt
    similarity index 100%
    rename from docs/api/static.files/LICENSE-APACHE-00000000be5b60d4.txt
    rename to docs/api/static.files/LICENSE-APACHE-a60eea81.txt
    diff --git a/docs/api/static.files/LICENSE-MIT-00000000cc9db09c.txt b/docs/api/static.files/LICENSE-MIT-23f18e03.txt
    similarity index 100%
    rename from docs/api/static.files/LICENSE-MIT-00000000cc9db09c.txt
    rename to docs/api/static.files/LICENSE-MIT-23f18e03.txt
    diff --git a/docs/api/static.files/NanumBarunGothic-00000000f861df9d.ttf.woff2 b/docs/api/static.files/NanumBarunGothic-13b3dcba.ttf.woff2
    similarity index 100%
    rename from docs/api/static.files/NanumBarunGothic-00000000f861df9d.ttf.woff2
    rename to docs/api/static.files/NanumBarunGothic-13b3dcba.ttf.woff2
    diff --git a/docs/api/static.files/NanumBarunGothic-LICENSE-000000008feec719.txt b/docs/api/static.files/NanumBarunGothic-LICENSE-a37d393b.txt
    similarity index 100%
    rename from docs/api/static.files/NanumBarunGothic-LICENSE-000000008feec719.txt
    rename to docs/api/static.files/NanumBarunGothic-LICENSE-a37d393b.txt
    diff --git a/docs/api/static.files/SourceCodePro-It-00000000668aca82.ttf.woff2 b/docs/api/static.files/SourceCodePro-It-fc8b9304.ttf.woff2
    similarity index 100%
    rename from docs/api/static.files/SourceCodePro-It-00000000668aca82.ttf.woff2
    rename to docs/api/static.files/SourceCodePro-It-fc8b9304.ttf.woff2
    diff --git a/docs/api/static.files/SourceCodePro-LICENSE-00000000fb612b27.txt b/docs/api/static.files/SourceCodePro-LICENSE-67f54ca7.txt
    similarity index 100%
    rename from docs/api/static.files/SourceCodePro-LICENSE-00000000fb612b27.txt
    rename to docs/api/static.files/SourceCodePro-LICENSE-67f54ca7.txt
    diff --git a/docs/api/static.files/SourceCodePro-Regular-0000000004ddb02d.ttf.woff2 b/docs/api/static.files/SourceCodePro-Regular-8badfe75.ttf.woff2
    similarity index 100%
    rename from docs/api/static.files/SourceCodePro-Regular-0000000004ddb02d.ttf.woff2
    rename to docs/api/static.files/SourceCodePro-Regular-8badfe75.ttf.woff2
    diff --git a/docs/api/static.files/SourceCodePro-Semibold-00000000f27a569e.ttf.woff2 b/docs/api/static.files/SourceCodePro-Semibold-aa29a496.ttf.woff2
    similarity index 100%
    rename from docs/api/static.files/SourceCodePro-Semibold-00000000f27a569e.ttf.woff2
    rename to docs/api/static.files/SourceCodePro-Semibold-aa29a496.ttf.woff2
    diff --git a/docs/api/static.files/SourceSerif4-Bold-00000000ad926a49.ttf.woff2 b/docs/api/static.files/SourceSerif4-Bold-6d4fd4c0.ttf.woff2
    similarity index 100%
    rename from docs/api/static.files/SourceSerif4-Bold-00000000ad926a49.ttf.woff2
    rename to docs/api/static.files/SourceSerif4-Bold-6d4fd4c0.ttf.woff2
    diff --git a/docs/api/static.files/SourceSerif4-It-000000007236df52.ttf.woff2 b/docs/api/static.files/SourceSerif4-It-ca3b17ed.ttf.woff2
    similarity index 100%
    rename from docs/api/static.files/SourceSerif4-It-000000007236df52.ttf.woff2
    rename to docs/api/static.files/SourceSerif4-It-ca3b17ed.ttf.woff2
    diff --git a/docs/api/static.files/SourceSerif4-LICENSE-00000000b79e562a.md b/docs/api/static.files/SourceSerif4-LICENSE-a2cfd9d5.md
    similarity index 100%
    rename from docs/api/static.files/SourceSerif4-LICENSE-00000000b79e562a.md
    rename to docs/api/static.files/SourceSerif4-LICENSE-a2cfd9d5.md
    diff --git a/docs/api/static.files/SourceSerif4-Regular-0000000007da4a04.ttf.woff2 b/docs/api/static.files/SourceSerif4-Regular-6b053e98.ttf.woff2
    similarity index 100%
    rename from docs/api/static.files/SourceSerif4-Regular-0000000007da4a04.ttf.woff2
    rename to docs/api/static.files/SourceSerif4-Regular-6b053e98.ttf.woff2
    diff --git a/docs/api/static.files/favicon-00000000a292be17.svg b/docs/api/static.files/favicon-044be391.svg
    similarity index 100%
    rename from docs/api/static.files/favicon-00000000a292be17.svg
    rename to docs/api/static.files/favicon-044be391.svg
    diff --git a/docs/api/static.files/favicon-32x32-00000000d9d8501d.png b/docs/api/static.files/favicon-32x32-6580c154.png
    similarity index 100%
    rename from docs/api/static.files/favicon-32x32-00000000d9d8501d.png
    rename to docs/api/static.files/favicon-32x32-6580c154.png
    diff --git a/docs/api/static.files/main-00000000ff7d71c8.js b/docs/api/static.files/main-00000000ff7d71c8.js
    deleted file mode 100644
    index 133116e4..00000000
    --- a/docs/api/static.files/main-00000000ff7d71c8.js
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerHTML=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url,errorCallback){const script=document.createElement("script");script.src=url;if(errorCallback!==undefined){script.onerror=errorCallback}document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function sendSearchForm(){document.getElementsByClassName("search-form")[0].submit()}function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"),sendSearchForm);loadScript(resourcePath("search-index",".js"),sendSearchForm)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search)},descShards:new Map(),loadDesc:async function({descShard,descIndex}){if(descShard.promise===null){descShard.promise=new Promise((resolve,reject)=>{descShard.resolve=resolve;const ds=descShard;const fname=`${ds.crate}-desc-${ds.shard}-`;const url=resourcePath(`search.desc/${descShard.crate}/${fname}`,".js",);loadScript(url,reject)})}const list=await descShard.promise;return list[descIndex]},loadedDescShard:function(crate,shard,data){this.descShards.get(crate)[shard].resolve(data.split("\n"))},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}},)}}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":case"/":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","),);for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
    "+window.NOTABLE_TRAITS[notable_ty]+"
    "}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px",)}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ -the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S / /","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
    "+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
    "+x[1]+"
    ").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ - restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ - enum, trait, type, macro, \ - and const.","Search functions by type signature (e.g., vec -> usize or \ - -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","Look for functions that accept or return \ - slices and \ - arrays by writing \ - square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

    "+x+"

    ").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px",)},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.classList.add("clicked");if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){reset_button_timeout=null;but.classList.remove("clicked")}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/docs/api/static.files/main-5f194d8c.js b/docs/api/static.files/main-5f194d8c.js new file mode 100644 index 00000000..3d672cb6 --- /dev/null +++ b/docs/api/static.files/main-5f194d8c.js @@ -0,0 +1,11 @@ +"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden");const toggle=document.getElementById("toggle-all-docs");if(toggle){toggle.setAttribute("disabled","disabled")}}function showMain(){const main=document.getElementById(MAIN_ID);removeClass(main,"hidden");const mainHeading=main.querySelector(".main-heading");if(mainHeading&&searchState.rustdocToolbar){if(searchState.rustdocToolbar.parentElement){searchState.rustdocToolbar.parentElement.removeChild(searchState.rustdocToolbar)}mainHeading.appendChild(searchState.rustdocToolbar)}const toggle=document.getElementById("toggle-all-docs");if(toggle){toggle.removeAttribute("disabled")}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerHTML=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden");const mainHeading=elemToDisplay.querySelector(".main-heading");if(mainHeading&&searchState.rustdocToolbar){if(searchState.rustdocToolbar.parentElement){searchState.rustdocToolbar.parentElement.removeChild(searchState.rustdocToolbar)}mainHeading.appendChild(searchState.rustdocToolbar)}}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url,errorCallback){const script=document.createElement("script");script.src=url;if(errorCallback!==undefined){script.onerror=errorCallback}document.head.append(script)}if(getSettingsButton()){getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)}}window.searchState={rustdocToolbar:document.querySelector("rustdoc-toolbar"),loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function sendSearchForm(){document.getElementsByClassName("search-form")[0].submit()}function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"),sendSearchForm);loadScript(resourcePath("search-index",".js"),sendSearchForm)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search)},descShards:new Map(),loadDesc:async function({descShard,descIndex}){if(descShard.promise===null){descShard.promise=new Promise((resolve,reject)=>{descShard.resolve=resolve;const ds=descShard;const fname=`${ds.crate}-desc-${ds.shard}-`;const url=resourcePath(`search.desc/${descShard.crate}/${fname}`,".js",);loadScript(url,reject)})}const list=await descShard.promise;return list[descIndex]},loadedDescShard:function(crate,shard,data){this.descShards.get(crate)[shard].resolve(data.split("\n"))},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElems=document.querySelectorAll(`details > summary > section[id^="${implId}"]`,);onEachLazy(implElems,implElem=>{const numbered=/^(.+?)-([0-9]+)$/.exec(implElem.id);if(implElem.id!==implId&&(!numbered||numbered[1]!==implId)){return false}return onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/^(.+?)-([0-9]+)$/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0);return true}},)})}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":case"/":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementById("rustdoc-modnav");function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;link.textContent=name;const li=document.createElement("li");if(link.href===current_page){li.classList.add("current")}li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","),);for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementById("rustdoc-modnav");if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.children[0].innerText="Summary"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.children[0].innerText="Show all"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{if(document.querySelector(".rustdoc.src")){return}onEachLazy(document.querySelectorAll(":not(.scraped-example) > .example-wrap > pre:not(.example-line-numbers)",),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.querySelectorAll(".example-wrap > .example-line-numbers"),x=>{x.parentNode.removeChild(x)})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
    "+window.NOTABLE_TRAITS[notable_ty]+"
    "}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";document.body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px",)}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}document.body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){if(!getHelpButton().contains(document.activeElement)&&!getHelpButton().contains(event.relatedTarget)&&!getSettingsButton().contains(document.activeElement)&&!getSettingsButton().contains(event.relatedTarget)){window.hidePopoverMenus()}}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ +the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S / /","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
    "+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
    "+x[1]+"
    ").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ + restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ + enum, trait, type, macro, \ + and const.","Search functions by type signature (e.g., vec -> usize or \ + -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ + your request: \"string\"","Look for functions that accept or return \ + slices and \ + arrays by writing \ + square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

    "+x+"

    ").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll("rustdoc-toolbar .popover"),elem=>{elem.style.display="none"});const button=getHelpButton();if(button){removeClass(button,"help-open")}};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){const button=getHelpButton();addClass(button,"help-open");button.querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}const helpLink=document.querySelector(`#${HELP_BUTTON_ID} > a`);if(isHelpPage){buildHelpMenu()}else if(helpLink){helpLink.addEventListener("click",event=>{if(!helpLink.contains(helpLink)||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px",)},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){function copyContentToClipboard(content){const el=document.createElement("textarea");el.value=content;el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el)}function copyButtonAnimation(button){button.classList.add("clicked");if(button.reset_button_timeout!==undefined){window.clearTimeout(button.reset_button_timeout)}button.reset_button_timeout=window.setTimeout(()=>{button.reset_button_timeout=undefined;button.classList.remove("clicked")},1000)}const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const title=document.querySelector("title").textContent.replace(" - Rust","");const[item,module]=title.split(" in ");const path=[item];if(module!==undefined){path.unshift(module)}copyContentToClipboard(path.join("::"));copyButtonAnimation(but)};function copyCode(codeElem){if(!codeElem){return}copyContentToClipboard(codeElem.textContent)}function getExampleWrap(event){let elem=event.target;while(!hasClass(elem,"example-wrap")){if(elem===document.body||elem.tagName==="A"||elem.tagName==="BUTTON"||hasClass(elem,"docblock")){return null}elem=elem.parentElement}return elem}function addCopyButton(event){const elem=getExampleWrap(event);if(elem===null){return}elem.removeEventListener("mouseover",addCopyButton);const parent=document.createElement("div");parent.className="button-holder";const runButton=elem.querySelector(".test-arrow");if(runButton!==null){parent.appendChild(runButton)}elem.appendChild(parent);const copyButton=document.createElement("button");copyButton.className="copy-button";copyButton.title="Copy code to clipboard";copyButton.addEventListener("click",()=>{copyCode(elem.querySelector("pre > code"));copyButtonAnimation(copyButton)});parent.appendChild(copyButton);if(!elem.parentElement.classList.contains("scraped-example")){return}const scrapedWrapped=elem.parentElement;window.updateScrapedExample(scrapedWrapped,parent)}function showHideCodeExampleButtons(event){const elem=getExampleWrap(event);if(elem===null){return}let buttons=elem.querySelector(".button-holder");if(buttons===null){addCopyButton(event);buttons=elem.querySelector(".button-holder");if(buttons===null){return}}buttons.classList.toggle("keep-visible")}onEachLazy(document.querySelectorAll(".docblock .example-wrap"),elem=>{elem.addEventListener("mouseover",addCopyButton);elem.addEventListener("click",showHideCodeExampleButtons)})}()) \ No newline at end of file diff --git a/docs/api/static.files/normalize-0000000091fda82d.css b/docs/api/static.files/normalize-9960930a.css similarity index 100% rename from docs/api/static.files/normalize-0000000091fda82d.css rename to docs/api/static.files/normalize-9960930a.css diff --git a/docs/api/static.files/noscript-00000000626a34ad.css b/docs/api/static.files/noscript-00000000626a34ad.css deleted file mode 100644 index 4c310ae5..00000000 --- a/docs/api/static.files/noscript-00000000626a34ad.css +++ /dev/null @@ -1 +0,0 @@ - #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root,:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--settings-menu-filter:none;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root,:root:not([data-theme]){--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file diff --git a/docs/api/static.files/noscript-893ab5e7.css b/docs/api/static.files/noscript-893ab5e7.css new file mode 100644 index 00000000..a6c18eca --- /dev/null +++ b/docs/api/static.files/noscript-893ab5e7.css @@ -0,0 +1 @@ + #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root,:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#595959;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root,:root:not([data-theme]){--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#a5a5a5;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(65%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file diff --git a/docs/api/static.files/rust-logo-00000000a653c8a4.svg b/docs/api/static.files/rust-logo-9a9549ea.svg similarity index 100% rename from docs/api/static.files/rust-logo-00000000a653c8a4.svg rename to docs/api/static.files/rust-logo-9a9549ea.svg diff --git a/docs/api/static.files/rustdoc-0000000094d0019d.css b/docs/api/static.files/rustdoc-0000000094d0019d.css deleted file mode 100644 index 77f89832..00000000 --- a/docs/api/static.files/rustdoc-0000000094d0019d.css +++ /dev/null @@ -1,46 +0,0 @@ - :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;--desktop-sidebar-width:200px;--src-sidebar-width:300px;--desktop-sidebar-z-index:100;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-46f98efaafac5295.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;flex-grow:1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{display:flex;flex-wrap:wrap;padding-bottom:6px;margin-bottom:15px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-name>a,.out-of-band,span.since,a.src,#help-button>a,summary.hideme,.scraped-example-list,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap pre.src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.logo-container{line-height:0;display:block;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 var(--desktop-sidebar-width);width:var(--desktop-sidebar-width);overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;z-index:var(--desktop-sidebar-z-index);}.rustdoc.src .sidebar{flex-basis:50px;width:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.hide-sidebar .sidebar,.hide-sidebar .sidebar-resizer{display:none;}.sidebar-resizer{touch-action:none;width:9px;cursor:col-resize;z-index:calc(var(--desktop-sidebar-z-index) + 1);position:fixed;height:100%;left:calc(var(--desktop-sidebar-width) + 1px);}.rustdoc.src .sidebar-resizer{left:49px;}.src-sidebar-expanded .src .sidebar-resizer{left:var(--src-sidebar-width);}.sidebar-resizing{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.sidebar-resizing*{cursor:col-resize !important;}.sidebar-resizing .sidebar{position:fixed;}.sidebar-resizing>body{padding-left:var(--resizing-sidebar-width);}.sidebar-resizer:hover,.sidebar-resizer:active,.sidebar-resizer:focus,.sidebar-resizer.active{width:10px;margin:0;left:var(--desktop-sidebar-width);border-left:solid 1px var(--sidebar-resizer-hover);}.src-sidebar-expanded .rustdoc.src .sidebar-resizer:hover,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:active,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:focus,.src-sidebar-expanded .rustdoc.src .sidebar-resizer.active{left:calc(var(--src-sidebar-width) - 1px);}@media (pointer:coarse){.sidebar-resizer{display:none !important;}}.sidebar-resizer.active{padding:0 140px;width:2px;margin-left:-140px;border-left:none;}.sidebar-resizer.active:before{border-left:solid 2px var(--sidebar-resizer-active);display:block;height:100%;content:"";}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}.src .sidebar>*{visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:var(--src-sidebar-width);width:var(--src-sidebar-width);}.src-sidebar-expanded .src .sidebar>*{visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li{padding:0;margin:0;list-style:none;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-left:-0.25rem;margin-right:0.25rem;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:24px;}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 -16px 0 -16px;text-align:center;}.sidebar-crate h2 a{display:block;margin:0 calc(-24px + 0.25rem) 0 -0.2rem;padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.2rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.rustdoc:not(.src) .example-wrap pre{overflow:auto hidden;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap pre.src-line-numbers{flex-grow:0;min-width:fit-content;overflow:initial;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;color:var(--src-line-numbers-span-color);}.rustdoc .example-wrap pre.src-line-numbers{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.out-of-band{flex-grow:0;font-size:1.125rem;}.docblock code,.docblock-short code,pre,.rustdoc.src .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}div.where{white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 25px 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.src nav.sub{margin:0 0 15px 0;}.section-header{display:block;position:relative;}.section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.section-header>.anchor{left:-15px;padding-right:8px;}h2.section-header>.anchor{padding-right:6px;}a.doc-anchor{color:var(--main-color);display:none;position:absolute;left:-17px;padding-right:5px;padding-left:3px;}*:hover>.doc-anchor{display:block;}.top-doc>.docblock>*:first-child>.doc-anchor{display:none !important;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover:not(.doc-anchor),.docblock-short a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block li.current a{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;padding:0;margin:0;}.item-table>li{display:table-row;}.item-table>li>div{display:table-cell;}.item-table>li>.item-name{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}#crate-search-div{position:relative;min-width:5em;}#crate-search{min-width:115px;padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml, \ - ');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\ - \ - ');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#settings-menu>a{line-height:0;font-size:0;}#settings-menu>a:before{content:url('data:image/svg+xml,\ - ');width:22px;height:22px;filter:var(--settings-menu-filter);}#sidebar-button>a:before{content:url('data:image/svg+xml,\ - \ - \ - ');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;width:33px;margin-left:10px;padding:0;padding-left:2px;border:0;font-size:0;}#copy-path::before{filter:var(--copy-path-img-filter);content:url('data:image/svg+xml,\ -\ -\ -');width:19px;height:18px;}#copy-path:hover::before{filter:var(--copy-path-img-hover-filter);}#copy-path.clicked::before{content:url('data:image/svg+xml,\ - \ - ');}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,') no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,') no-repeat top left;}details.toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}.src #sidebar-button>a:before,.sidebar-menu-toggle:before{content:url('data:image/svg+xml,\ - ');opacity:0.75;}.sidebar-menu-toggle:hover:before,.sidebar-menu-toggle:active:before,.sidebar-menu-toggle:focus:before{opacity:1;}.src #sidebar-button>a:before{content:url('data:image/svg+xml,\ - \ - \ - ');opacity:0.75;}@media (max-width:850px){#search-tabs .count{display:block;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.src .search-form{margin-left:40px;}.hide-sidebar .search-form{margin-left:32px;}.hide-sidebar .src .search-form{margin-left:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;white-space:nowrap;text-overflow:ellipsis;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;border:none;line-height:0;}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#copy-path,#help-button{display:none;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ - \ - \ - ');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--settings-menu-filter:none;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:none;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--settings-menu-filter:invert(100%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file diff --git a/docs/api/static.files/rustdoc-c579a84d.css b/docs/api/static.files/rustdoc-c579a84d.css new file mode 100644 index 00000000..d37a61b4 --- /dev/null +++ b/docs/api/static.files/rustdoc-c579a84d.css @@ -0,0 +1,53 @@ + :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;--desktop-sidebar-width:200px;--src-sidebar-width:300px;--desktop-sidebar-z-index:100;--sidebar-elems-left-padding:24px;--clipboard-image:url('data:image/svg+xml,\ +\ +\ +');--copy-path-height:34px;--copy-path-width:33px;--checkmark-image:url('data:image/svg+xml,\ +\ +');--button-left-margin:4px;--button-border-radius:2px;--toolbar-button-border-radius:6px;--code-block-border-radius:6px;--impl-items-indent:0.3em;--docblock-indent:24px;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-0fe48ade.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-e1aa3f0a.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-6b053e98.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-ca3b17ed.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-6d4fd4c0.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-8badfe75.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-fc8b9304.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-aa29a496.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-13b3dcba.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;grid-area:main-heading-h1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{position:relative;display:grid;grid-template-areas:"main-heading-breadcrumbs main-heading-breadcrumbs" "main-heading-h1 main-heading-toolbar" "main-heading-sub-heading main-heading-toolbar";grid-template-columns:minmax(105px,1fr) minmax(0,max-content);grid-template-rows:minmax(25px,min-content) min-content min-content;padding-bottom:6px;margin-bottom:15px;}.rustdoc-breadcrumbs{grid-area:main-heading-breadcrumbs;line-height:1.25;display:flex;flex-wrap:wrap;align-items:end;padding-top:5px;}.rustdoc-breadcrumbs a{padding:4px 0;margin:-4px 0;z-index:1;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}.structfield,.sub-variant-field{margin:0.6em 0;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-name>a,.out-of-band,.sub-heading,span.since,a.src,rustdoc-toolbar,summary.hideme,.scraped-example-list,.rustdoc-breadcrumbs,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.search-results li,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,.code-header,.type-signature{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap .src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.logo-container{line-height:0;display:block;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 var(--desktop-sidebar-width);width:var(--desktop-sidebar-width);overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;z-index:var(--desktop-sidebar-z-index);}.rustdoc.src .sidebar{flex-basis:50px;width:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.hide-sidebar .sidebar,.hide-sidebar .sidebar-resizer{display:none;}.sidebar-resizer{touch-action:none;width:9px;cursor:col-resize;z-index:calc(var(--desktop-sidebar-z-index) + 1);position:fixed;height:100%;left:calc(var(--desktop-sidebar-width) + 1px);}.rustdoc.src .sidebar-resizer{left:49px;}.src-sidebar-expanded .src .sidebar-resizer{left:var(--src-sidebar-width);}.sidebar-resizing{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.sidebar-resizing*{cursor:col-resize !important;}.sidebar-resizing .sidebar{position:fixed;}.sidebar-resizing>body{padding-left:var(--resizing-sidebar-width);}.sidebar-resizer:hover,.sidebar-resizer:active,.sidebar-resizer:focus,.sidebar-resizer.active{width:10px;margin:0;left:var(--desktop-sidebar-width);border-left:solid 1px var(--sidebar-resizer-hover);}.src-sidebar-expanded .rustdoc.src .sidebar-resizer:hover,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:active,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:focus,.src-sidebar-expanded .rustdoc.src .sidebar-resizer.active{left:calc(var(--src-sidebar-width) - 1px);}@media (pointer:coarse){.sidebar-resizer{display:none !important;}}.sidebar-resizer.active{padding:0 140px;width:2px;margin-left:-140px;border-left:none;}.sidebar-resizer.active:before{border-left:solid 2px var(--sidebar-resizer-active);display:block;height:100%;content:"";}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}.src .sidebar>*{visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:var(--src-sidebar-width);width:var(--src-sidebar-width);}.src-sidebar-expanded .src .sidebar>*{visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li,.block ul{padding:0;margin:0;list-style:none;}.block ul a{padding-left:1rem;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-right:0.25rem;border-left:solid var(--sidebar-elems-left-padding) transparent;margin-left:calc(-0.25rem - var(--sidebar-elems-left-padding));background-clip:border-box;}.hide-toc #rustdoc-toc,.hide-toc .in-crate{display:none;}.hide-modnav #rustdoc-modnav{display:none;}.sidebar h2{text-wrap:balance;overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{text-wrap:balance;overflow-wrap:anywhere;font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:var(--sidebar-elems-left-padding);}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 calc(-16px - var(--sidebar-elems-left-padding));padding:0 var(--sidebar-elems-left-padding);text-align:center;}.sidebar-crate .logo-container img{margin-top:-16px;border-top:solid 16px transparent;box-sizing:content-box;position:relative;background-clip:border-box;z-index:1;}.sidebar-crate h2 a{display:block;border-left:solid var(--sidebar-elems-left-padding) transparent;background-clip:border-box;margin:0 calc(-24px + 0.25rem) 0 calc(-0.2rem - var(--sidebar-elems-left-padding));padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.2rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap>pre,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-radius:6px;}.rustdoc .example-wrap>.example-line-numbers,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-top-right-radius:0;border-bottom-right-radius:0;}.rustdoc .example-wrap>.example-line-numbers+pre,.rustdoc .scraped-example .rust{border-top-left-radius:0;border-bottom-left-radius:0;}.rustdoc .scraped-example{position:relative;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 10 + 10px);}.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers,.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers>pre,.rustdoc:not(.src) .scraped-example:not(.expanded) pre.rust{padding-bottom:0;overflow:auto hidden;}.rustdoc:not(.src) .scraped-example .src-line-numbers{padding-top:0;}.rustdoc:not(.src) .scraped-example.expanded .src-line-numbers{padding-bottom:0;}.rustdoc:not(.src) .example-wrap pre{overflow:auto;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap .src-line-numbers{min-width:fit-content;flex-grow:0;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;padding-right:2px;color:var(--src-line-numbers-span-color);}.rustdoc .scraped-example .example-wrap .src-line-numbers{padding:0;}.rustdoc .src-line-numbers pre{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:var(--docblock-indent);position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.sub-heading{font-size:1rem;flex-grow:0;grid-area:main-heading-sub-heading;line-height:1.25;padding-bottom:4px;}.main-heading rustdoc-toolbar,.main-heading .out-of-band{grid-area:main-heading-toolbar;}rustdoc-toolbar{display:flex;flex-direction:row;flex-wrap:nowrap;min-height:60px;}.docblock code,.docblock-short code,pre,.rustdoc.src .example-wrap,.example-wrap .src-line-numbers{background-color:var(--code-block-background-color);border-radius:var(--code-block-border-radius);text-decoration:inherit;}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}.docblock .stab,.docblock-short .stab,.docblock p code{display:inline-block;}.docblock li{margin-bottom:.4em;}.docblock li p:not(:last-child){margin-bottom:.3em;}div.where{white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:var(--docblock-indent);}.impl-items>.item-info{margin-left:calc(var(--docblock-indent) + var(--impl-items-indent));}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 0 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;margin-bottom:4px;}.src nav.sub{margin:0 0 -10px 0;}.section-header{display:block;position:relative;}.section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.section-header>.anchor{left:-15px;padding-right:8px;}h2.section-header>.anchor{padding-right:6px;}a.doc-anchor{color:var(--main-color);display:none;position:absolute;left:-17px;padding-right:10px;padding-left:3px;}*:hover>.doc-anchor{display:block;}.top-doc>.docblock>*:first-child>.doc-anchor{display:none !important;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.scrape-help):not(.tooltip):hover:not(.doc-anchor),.docblock-short a:not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block li.current a{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;padding:0;margin:0;width:100%;}.item-table>li{display:table-row;}.item-table>li>div{display:table-cell;}.item-table>li>.item-name{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}.search-results-title+.sub-heading{color:var(--main-color);display:flex;align-items:baseline;white-space:nowrap;}#crate-search-div{position:relative;min-width:0;}#crate-search{padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml, \ + ');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;margin:0;padding:0;}.search-results>a{display:grid;grid-template-areas:"search-result-name search-result-desc" "search-result-type-signature search-result-type-signature";grid-template-columns:.6fr .4fr;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);column-gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;grid-area:search-result-desc;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;grid-area:search-result-name;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.search-results .type-signature{grid-area:search-result-type-signature;white-space:pre-wrap;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\ + \ + ');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#settings.popover{--popover-arrow-offset:202px;top:calc(100% - 16px);}#help.popover{max-width:600px;--popover-arrow-offset:118px;top:calc(100% - 16px);}#help dt{float:left;clear:left;margin-right:0.5rem;}#help dd{margin-bottom:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;padding:0 0.5rem;text-wrap-style:balance;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side{display:flex;margin-bottom:20px;}.side-by-side>div{width:50%;padding:0 20px 0 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band,.sub-heading,rustdoc-toolbar{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}.example-wrap>a.test-arrow,.example-wrap .button-holder{visibility:hidden;position:absolute;top:4px;right:4px;z-index:1;}a.test-arrow{height:var(--copy-path-height);padding:6px 4px 0 11px;}a.test-arrow::before{content:url('data:image/svg+xml,');}.example-wrap .button-holder{display:flex;}@media not (pointer:coarse){.example-wrap:hover>a.test-arrow,.example-wrap:hover>.button-holder{visibility:visible;}}.example-wrap .button-holder.keep-visible{visibility:visible;}.example-wrap .button-holder>*{background:var(--main-background-color);cursor:pointer;border-radius:var(--button-border-radius);height:var(--copy-path-height);width:var(--copy-path-width);border:0;color:var(--code-example-button-color);}.example-wrap .button-holder>*:hover{color:var(--code-example-button-hover-color);}.example-wrap .button-holder>*:not(:first-child){margin-left:var(--button-left-margin);}.example-wrap .button-holder .copy-button{padding:2px 0 0 4px;}.example-wrap .button-holder .copy-button::before,.example-wrap .test-arrow::before{filter:var(--copy-path-img-filter);}.example-wrap .button-holder .copy-button::before{content:var(--clipboard-image);}.example-wrap .button-holder .copy-button:hover::before,.example-wrap .test-arrow:hover::before{filter:var(--copy-path-img-hover-filter);}.example-wrap .button-holder .copy-button.clicked::before{content:var(--checkmark-image);padding-right:5px;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.main-heading span.since::before{content:"Since ";}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}@keyframes targetfadein{from{background-color:var(--main-background-color);}10%{background-color:var(--target-border-color);}to{background-color:var(--target-background-color);}}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}@media not (prefers-reduced-motion){:target{animation:0.65s cubic-bezier(0,0,0.1,1.0) 0.1s targetfadein;}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{margin-top:0.25rem;display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button,button#toggle-all-docs{margin-left:var(--button-left-margin);display:flex;line-height:1.25;min-width:14px;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a,button#toggle-all-docs{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid transparent;border-radius:var(--button-border-radius);color:var(--main-color);}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:80px;border-radius:var(--toolbar-button-border-radius);}#settings-menu>a,#help-button>a{min-width:0;}#sidebar-button>a{background-color:var(--button-background-color);border-color:var(--border-color);width:33px;}#settings-menu>a:hover,#settings-menu>a:focus-visible,#help-button>a:hover,#help-button>a:focus-visible,#sidebar-button>a:hover,#sidebar-button>a:focus-visible,button#toggle-all-docs:hover,button#toggle-all-docs:focus-visible{border-color:var(--settings-button-border-focus);text-decoration:none;}#settings-menu>a:before{content:url('data:image/svg+xml,\ + ');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before{content:url('data:image/svg+xml,\ + ');width:18px;height:18px;filter:var(--settings-menu-filter);}#help-button>a:before{content:url('data:image/svg+xml,\ + \ + ?');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before,#help-button>a:before,#settings-menu>a:before{filter:var(--settings-menu-filter);margin:8px;}@media not (pointer:coarse){button#toggle-all-docs:hover:before,#help-button>a:hover:before,#settings-menu>a:hover:before{filter:var(--settings-menu-hover-filter);}}button[disabled]#toggle-all-docs{opacity:0.25;border:solid 1px var(--main-background-color);background-size:cover;}button[disabled]#toggle-all-docs:hover{border:solid 1px var(--main-background-color);cursor:not-allowed;}rustdoc-toolbar span.label{font-size:1rem;flex-grow:1;padding-bottom:4px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:var(--copy-path-height);width:var(--copy-path-width);margin-left:10px;padding:0;padding-left:2px;border:0;font-size:0;}#copy-path::before{filter:var(--copy-path-img-filter);content:var(--clipboard-image);}#copy-path:hover::before{filter:var(--copy-path-img-hover-filter);}#copy-path.clicked::before{content:var(--checkmark-image);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.big-toggle{contain:inline-size;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,\ + ');content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}.impl-items>*:not(.item-info),.implementors-toggle>.docblock{margin-left:var(--impl-items-indent);}details.big-toggle>summary:not(.hideme)::before{left:-34px;top:9px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,\ + ');}details.toggle[open] >summary::after{content:"Collapse";}details.toggle:not([open])>summary .docblock{max-height:calc(1.5em + 0.75em);overflow-y:hidden;}details.toggle:not([open])>summary .docblock>:first-child{max-width:100%;overflow:hidden;width:fit-content;white-space:nowrap;position:relative;padding-right:1em;}details.toggle:not([open])>summary .docblock>:first-child::after{content:"…";position:absolute;right:0;top:0;bottom:0;z-index:1;background-color:var(--main-background-color);font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;padding-left:0.2em;}details.toggle:not([open])>summary .docblock>div:first-child::after{padding-top:calc(1.5em + 0.75em - 1.2rem);}details.toggle>summary .docblock{margin-top:0.75em;}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}.src #sidebar-button>a:before,.sidebar-menu-toggle:before{content:url('data:image/svg+xml,\ + ');opacity:0.75;}.sidebar-menu-toggle:hover:before,.sidebar-menu-toggle:active:before,.sidebar-menu-toggle:focus:before{opacity:1;}.src #sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');opacity:0.75;}@media (max-width:850px){#search-tabs .count{display:block;}.side-by-side{flex-direction:column-reverse;}.side-by-side>div{width:auto;}}@media (max-width:700px){:root{--impl-items-indent:0.7em;}*[id]{scroll-margin-top:45px;}#copy-path{width:0;visibility:hidden;}rustdoc-toolbar span.label{display:none;}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:33px;}#settings.popover{--popover-arrow-offset:86px;}#help.popover{--popover-arrow-offset:48px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.src .search-form{margin-left:40px;}.src .main-heading{margin-left:8px;}.hide-sidebar .search-form{margin-left:32px;}.hide-sidebar .src .search-form{margin-left:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;white-space:nowrap;text-overflow:ellipsis;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;border:none;line-height:0;}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.implementors-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before{left:-20px;}summary>.item-info{margin-left:10px;}.impl-items>.item-info{margin-left:calc(var(--impl-items-indent) + 10px);}.src nav.sub{margin:0 0 -25px 0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}.item-table>li>.item-name{width:33%;}.item-table>li>div{overflow-wrap:anywhere;}}@media print{:root{--docblock-indent:0;}nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}main{padding:10px;}}@media (max-width:464px){:root{--docblock-indent:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example:not(.expanded) .example-wrap::before,.scraped-example:not(.expanded) .example-wrap::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .example-wrap::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .example-wrap::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded){width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded){overflow-x:hidden;}.scraped-example .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#595959;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#a5a5a5;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(65%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--code-example-button-color:#b2b2b2;--code-example-button-hover-color:#fff;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--settings-menu-filter:invert(70%);--settings-menu-hover-filter:invert(100%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file diff --git a/docs/api/static.files/scrape-examples-00000000aae39024.js b/docs/api/static.files/scrape-examples-00000000aae39024.js deleted file mode 100644 index ba830e37..00000000 --- a/docs/api/static.files/scrape-examples-00000000aae39024.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(function(){const DEFAULT_MAX_LINES=5;const HIDDEN_MAX_LINES=10;function scrollToLoc(elt,loc,isHidden){const lines=elt.querySelector(".src-line-numbers");let scrollOffset;const maxLines=isHidden?HIDDEN_MAX_LINES:DEFAULT_MAX_LINES;if(loc[1]-loc[0]>maxLines){const line=Math.max(0,loc[0]-1);scrollOffset=lines.children[line].offsetTop}else{const wrapper=elt.querySelector(".code-wrapper");const halfHeight=wrapper.offsetHeight/2;const offsetTop=lines.children[loc[0]].offsetTop;const lastLine=lines.children[loc[1]];const offsetBot=lastLine.offsetTop+lastLine.offsetHeight;const offsetMid=(offsetTop+offsetBot)/2;scrollOffset=offsetMid-halfHeight}lines.scrollTo(0,scrollOffset);elt.querySelector(".rust").scrollTo(0,scrollOffset)}function updateScrapedExample(example,isHidden){const locs=JSON.parse(example.attributes.getNamedItem("data-locs").textContent);let locIndex=0;const highlights=Array.prototype.slice.call(example.querySelectorAll(".highlight"));const link=example.querySelector(".scraped-example-title a");if(locs.length>1){const onChangeLoc=changeIndex=>{removeClass(highlights[locIndex],"focus");changeIndex();scrollToLoc(example,locs[locIndex][0],isHidden);addClass(highlights[locIndex],"focus");const url=locs[locIndex][1];const title=locs[locIndex][2];link.href=url;link.innerHTML=title};example.querySelector(".prev").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex-1+locs.length)%locs.length})});example.querySelector(".next").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex+1)%locs.length})})}const expandButton=example.querySelector(".expand");if(expandButton){expandButton.addEventListener("click",()=>{if(hasClass(example,"expanded")){removeClass(example,"expanded");scrollToLoc(example,locs[0][0],isHidden)}else{addClass(example,"expanded")}})}scrollToLoc(example,locs[0][0],isHidden)}const firstExamples=document.querySelectorAll(".scraped-example-list > .scraped-example");onEachLazy(firstExamples,el=>updateScrapedExample(el,false));onEachLazy(document.querySelectorAll(".more-examples-toggle"),toggle=>{onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"),button=>{button.addEventListener("click",()=>{toggle.open=false})});const moreExamples=toggle.querySelectorAll(".scraped-example");toggle.querySelector("summary").addEventListener("click",()=>{setTimeout(()=>{onEachLazy(moreExamples,el=>updateScrapedExample(el,true))})},{once:true})})})() \ No newline at end of file diff --git a/docs/api/static.files/scrape-examples-d508a8a9.js b/docs/api/static.files/scrape-examples-d508a8a9.js new file mode 100644 index 00000000..87b6065d --- /dev/null +++ b/docs/api/static.files/scrape-examples-d508a8a9.js @@ -0,0 +1 @@ +"use strict";(function(){const DEFAULT_MAX_LINES=5;const HIDDEN_MAX_LINES=10;function scrollToLoc(elt,loc,isHidden){const lines=elt.querySelector(".src-line-numbers > pre");let scrollOffset;const maxLines=isHidden?HIDDEN_MAX_LINES:DEFAULT_MAX_LINES;if(loc[1]-loc[0]>maxLines){const line=Math.max(0,loc[0]-1);scrollOffset=lines.children[line].offsetTop}else{const halfHeight=elt.offsetHeight/2;const offsetTop=lines.children[loc[0]].offsetTop;const lastLine=lines.children[loc[1]];const offsetBot=lastLine.offsetTop+lastLine.offsetHeight;const offsetMid=(offsetTop+offsetBot)/2;scrollOffset=offsetMid-halfHeight}lines.parentElement.scrollTo(0,scrollOffset);elt.querySelector(".rust").scrollTo(0,scrollOffset)}function createScrapeButton(parent,className,content){const button=document.createElement("button");button.className=className;button.innerText=content;parent.insertBefore(button,parent.firstChild);return button}window.updateScrapedExample=(example,buttonHolder)=>{let locIndex=0;const highlights=Array.prototype.slice.call(example.querySelectorAll(".highlight"));const link=example.querySelector(".scraped-example-title a");let expandButton=null;if(!example.classList.contains("expanded")){expandButton=createScrapeButton(buttonHolder,"expand","↕")}const isHidden=example.parentElement.classList.contains("more-scraped-examples");const locs=example.locs;if(locs.length>1){const next=createScrapeButton(buttonHolder,"next","≻");const prev=createScrapeButton(buttonHolder,"prev","≺");const onChangeLoc=changeIndex=>{removeClass(highlights[locIndex],"focus");changeIndex();scrollToLoc(example,locs[locIndex][0],isHidden);addClass(highlights[locIndex],"focus");const url=locs[locIndex][1];const title=locs[locIndex][2];link.href=url;link.innerHTML=title};prev.addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex-1+locs.length)%locs.length})});next.addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex+1)%locs.length})})}if(expandButton){expandButton.addEventListener("click",()=>{if(hasClass(example,"expanded")){removeClass(example,"expanded");scrollToLoc(example,locs[0][0],isHidden)}else{addClass(example,"expanded")}})}};function setupLoc(example,isHidden){example.locs=JSON.parse(example.attributes.getNamedItem("data-locs").textContent);scrollToLoc(example,example.locs[0][0],isHidden)}const firstExamples=document.querySelectorAll(".scraped-example-list > .scraped-example");onEachLazy(firstExamples,el=>setupLoc(el,false));onEachLazy(document.querySelectorAll(".more-examples-toggle"),toggle=>{onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"),button=>{button.addEventListener("click",()=>{toggle.open=false})});const moreExamples=toggle.querySelectorAll(".scraped-example");toggle.querySelector("summary").addEventListener("click",()=>{setTimeout(()=>{onEachLazy(moreExamples,el=>setupLoc(el,true))})},{once:true})})})() \ No newline at end of file diff --git a/docs/api/static.files/search-00000000033a9c87.js b/docs/api/static.files/search-00000000033a9c87.js deleted file mode 100644 index a2824f29..00000000 --- a/docs/api/static.files/search-00000000033a9c87.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const TY_IMPORT=itemTypes.indexOf("import");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let searchIndexDeprecated;let searchIndexEmptyDesc;let functionTypeFingerprint;let currentResults;const typeNameIdMap=new Map();const ALIASES=new Map();const typeNameIdOfArray=buildTypeMapIndex("array");const typeNameIdOfSlice=buildTypeMapIndex("slice");const typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");const typeNameIdOfTuple=buildTypeMapIndex("tuple");const typeNameIdOfUnit=buildTypeMapIndex("unit");const typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");const typeNameIdOfFn=buildTypeMapIndex("fn");const typeNameIdOfFnMut=buildTypeMapIndex("fnmut");const typeNameIdOfFnOnce=buildTypeMapIndex("fnonce");const typeNameIdOfHof=buildTypeMapIndex("->");function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name,gen.bindingName.generics);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else if(parserState.userQuery[parserState.pos]==="&"){if(parserState.typeFilter!==null&&parserState.typeFilter!=="primitive"){throw["Invalid search type: primitive ","&"," and ",parserState.typeFilter," both specified",]}parserState.typeFilter=null;parserState.pos+=1;let c=parserState.userQuery[parserState.pos];while(c===" "&&parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}async function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=res[2]+"|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}if(obj.ty===TY_IMPORT&&duplicates.has(res[2])){continue}if(duplicates.has(res[2]+"|"+TY_IMPORT)){continue}duplicates.add(obj.fullPath);duplicates.add(res[2]);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}async function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(passesUnification){return true}}return false},unboxingDepth,);if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(queryElem.id===typeNameIdOfHof&&(fnType.id===typeNameIdOfFn||fnType.id===typeNameIdOfFnMut||fnType.id===typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp,unboxingDepth,)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}function checkType(row,elem,whereClause,mgens,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0&&mgens===null){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth+1,)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit&&elem.id!==typeNameIdOfHof){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth,)}}return unifyFunctionTypes([row],[elem],whereClause,mgens,null,unboxingDepth)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,exactPath:item.exactPath,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance,){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint,);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause,null,0);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause,null,0);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,null,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}),)}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i{const descs=await Promise.all(list.map(result=>{return searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":searchState.loadDesc(result)}));for(const[i,result]of list.entries()){result.desc=descs[i]}}));if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;let exactPath=item.exactPath;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;exactPath=`${myparent.exactPath}::${myparent.name}`;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href,`${exactPath}::${name}`]}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;for(const item of array){const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
    \ -${item.alias} - see \ -
    `}resultName.insertAdjacentHTML("beforeend",`
    ${alias}\ -${item.displayPath}${name}\ -
    `);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)}}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}async function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const[ret_others,ret_in_args,ret_returned]=await Promise.all([addTab(results.others,results.query,true),addTab(results.in_args,results.query,false),addTab(results.returned,results.query,false),]);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in 
    "}let output=`

    Results${crates}

    `;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

    Query parser error: "${error.join("")}".

    `;output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+"
    ";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    "}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
    "+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
    ";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

    "+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

    `}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

    "+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

    `}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}async function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));await showResults(await execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.length>0?types.map(type=>buildItemSearchType(type,lowercasePaths)):EMPTY_GENERICS_ARRAY}const EMPTY_BINDINGS_MAP=new Map();const EMPTY_GENERICS_ARRAY=[];let TYPES_POOL=new Map();function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=EMPTY_GENERICS_ARRAY;bindings=EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths,);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,ty:TY_GENERIC,path:null,exactPath:null,generics,bindings,}}else if(pathIndex===0){result={id:null,ty:null,path:null,exactPath:null,generics,bindings,}}else{const item=lowercasePaths[pathIndex-1];result={id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,exactPath:item.exactPath,generics,bindings,}}const cr=TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty){return cr}}TYPES_POOL.set(result.id,result);return result}function buildFunctionSearchTypeCallback(lowercasePaths){return functionSearchType=>{if(functionSearchType===0){return null}const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths,)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths,)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:EMPTY_GENERICS_ARRAY,bindings:EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}class VlqHexDecoder{constructor(string,cons){this.string=string;this.cons=cons;this.offset=0;this.backrefQueue=[]}decodeList(){const cb="}".charCodeAt(0);let c=this.string.charCodeAt(this.offset);const ret=[];while(c!==cb){ret.push(this.decode());c=this.string.charCodeAt(this.offset)}this.offset+=1;return ret}decode(){const[ob,la]=["{","`"].map(c=>c.charCodeAt(0));let n=0;let c=this.string.charCodeAt(this.offset);if(c===ob){this.offset+=1;return this.decodeList()}while(c>1];this.offset+=1;return sign?-value:value}next(){const c=this.string.charCodeAt(this.offset);const[zero,ua,la]=["0","@","`"].map(c=>c.charCodeAt(0));if(c>=zero&&c16){this.backrefQueue.pop()}return result}}class RoaringBitmap{constructor(str){const strdecoded=atob(str);const u8array=new Uint8Array(strdecoded.length);for(let j=0;j=4){offsets=[];for(let j=0;j>3]&(1<<(j&0x7))){const runcount=(u8array[i]|(u8array[i+1]<<8));i+=2;this.containers.push(new RoaringBitmapRun(runcount,u8array.slice(i,i+(runcount*4)),));i+=runcount*4}else if(this.cardinalities[j]>=4096){this.containers.push(new RoaringBitmapBits(u8array.slice(i,i+8192)));i+=8192}else{const end=this.cardinalities[j]*2;this.containers.push(new RoaringBitmapArray(this.cardinalities[j],u8array.slice(i,i+end),));i+=end}}}contains(keyvalue){const key=keyvalue>>16;const value=keyvalue&0xFFFF;for(let i=0;i=start&&value<=(start+lenm1)){return true}}return false}}class RoaringBitmapArray{constructor(cardinality,array){this.cardinality=cardinality;this.array=array}contains(value){const l=this.cardinality*2;for(let i=0;i>3]&(1<<(value&7)))}}function buildIndex(rawSearchIndex){searchIndex=[];searchIndexDeprecated=new Map();searchIndexEmptyDesc=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const itemDescShardDecoder=new VlqHexDecoder(crateCorpus.D,noop=>noop);let descShard={crate,shard:0,start:0,len:itemDescShardDecoder.next(),promise:null,resolve:null,};const descShardList=[descShard];searchIndexDeprecated.set(crate,new RoaringBitmap(crateCorpus.c));searchIndexEmptyDesc.set(crate,new RoaringBitmap(crateCorpus.e));let descIndex=0;const crateRow={crate,ty:3,name:crate,path:"",descShard,descIndex,exactPath:"",desc:crateCorpus.doc,parent:undefined,type:null,id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),bitIndex:0,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;if(!searchIndexEmptyDesc.get(crate).contains(0)){descIndex+=1}const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemReexports=new Map(crateCorpus.r);const itemParentIdxs=crateCorpus.i;const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];const itemFunctionDecoder=new VlqHexDecoder(crateCorpus.f,buildFunctionSearchTypeCallback(lowercasePaths),);let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}const exactPath=elem.length>3?itemPaths.get(elem[3]):path;lowercasePaths.push({ty,name:name.toLowerCase(),path,exactPath});paths[i]={ty,name,path,exactPath}}lastPath="";len=itemTypes.length;for(let i=0;i=descShard.len&&!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descShard={crate,shard:descShard.shard+1,start:descShard.start+descShard.len,len:itemDescShardDecoder.next(),promise:null,resolve:null,};descIndex=0;descShardList.push(descShard)}let word="";if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase()}const path=itemPaths.has(i)?itemPaths.get(i):lastPath;const type=itemFunctionDecoder.next();if(type!==null){if(type){const fp=functionTypeFingerprint.subarray(id*4,(id+1)*4);const fps=new Set();for(const t of type.inputs){buildFunctionTypeFingerprint(t,fp,fps)}for(const t of type.output){buildFunctionTypeFingerprint(t,fp,fps)}for(const w of type.where_clause){for(const t of w){buildFunctionTypeFingerprint(t,fp,fps)}}}}const row={crate,ty:itemTypes.charCodeAt(i)-charA,name:itemNames[i],path,descShard,descIndex,exactPath:itemReexports.has(i)?itemPaths.get(itemReexports.get(i)):path,parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type,id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),bitIndex,implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path;if(!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descIndex+=1}}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length;searchState.descShards.set(crate,descShardList)}TYPES_POOL=new Map()}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file diff --git a/docs/api/static.files/search-ccb196c1.js b/docs/api/static.files/search-ccb196c1.js new file mode 100644 index 00000000..5605d16e --- /dev/null +++ b/docs/api/static.files/search-ccb196c1.js @@ -0,0 +1,6 @@ +"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}function onEachBtwn(arr,func,funcBtwn){let skipped=true;for(const value of arr){if(!skipped){funcBtwn(value)}skipped=func(value)}}const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_GENERIC=itemTypes.indexOf("generic");const TY_IMPORT=itemTypes.indexOf("import");const TY_TRAIT=itemTypes.indexOf("trait");const TY_FN=itemTypes.indexOf("fn");const TY_METHOD=itemTypes.indexOf("method");const TY_TYMETHOD=itemTypes.indexOf("tymethod");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;const REGEX_IDENT=/\p{ID_Start}\p{ID_Continue}*|_\p{ID_Continue}+/uy;const REGEX_INVALID_TYPE_FILTER=/[^a-z]/ui;const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function isFnLikeTy(ty){return ty===TY_FN||ty===TY_METHOD||ty===TY_TYMETHOD}function isSeparatorCharacter(c){return c===","||c==="="}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function skipWhitespace(parserState){while(parserState.pos0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.normalizedPathLast;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else if(parserState.userQuery[parserState.pos]==="&"){if(parserState.typeFilter!==null&&parserState.typeFilter!=="primitive"){throw["Invalid search type: primitive ","&"," and ",parserState.typeFilter," both specified",]}parserState.typeFilter=null;parserState.pos+=1;let c=parserState.userQuery[parserState.pos];while(c===" "&&parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();const match=query.match(REGEX_INVALID_TYPE_FILTER);if(match){throw["Unexpected ",match[0]," in type filter (before ",":",")",]}}function createQueryElement(query,parserState,name,generics,isInGenerics){const path=name.trim();if(path.length===0&&generics.length===0){throw["Unexpected ",parserState.userQuery[parserState.pos]]}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name.trim()==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/).map(x=>x.toLowerCase());if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name.toLowerCase().replace(/_/g,""),gen.bindingName.generics,);return false}return true}),bindings,typeFilter,bindingName,}}function makePrimitiveElement(name,extra){return Object.assign({name,id:null,fullPath:[name],pathWithoutLast:[],pathLast:name,normalizedPathLast:name,generics:[],bindings:new Map(),typeFilter:"primitive",bindingName:null,},extra)}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function getIdentEndPosition(parserState){let afterIdent=consumeIdent(parserState);let end=parserState.pos;let macroExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]," (not a valid identifier)"]}else{throw["Unexpected ",c," (not a valid identifier)"]}parserState.pos+=1;afterIdent=consumeIdent(parserState);end=parserState.pos}if(macroExclamation!==-1){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=macroExclamation}return end}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function consumeIdent(parserState){REGEX_IDENT.lastIndex=parserState.pos;const match=parserState.userQuery.match(REGEX_IDENT);if(match){parserState.pos+=match[0].length;return true}return false}function isPathSeparator(c){return c===":"||c===" "}class VlqHexDecoder{constructor(string,cons){this.string=string;this.cons=cons;this.offset=0;this.backrefQueue=[]}decodeList(){let c=this.string.charCodeAt(this.offset);const ret=[];while(c!==125){ret.push(this.decode());c=this.string.charCodeAt(this.offset)}this.offset+=1;return ret}decode(){let n=0;let c=this.string.charCodeAt(this.offset);if(c===123){this.offset+=1;return this.decodeList()}while(c<96){n=(n<<4)|(c&0xF);this.offset+=1;c=this.string.charCodeAt(this.offset)}n=(n<<4)|(c&0xF);const[sign,value]=[n&1,n>>1];this.offset+=1;return sign?-value:value}next(){const c=this.string.charCodeAt(this.offset);if(c>=48&&c<64){this.offset+=1;return this.backrefQueue[c-48]}if(c===96){this.offset+=1;return this.cons(0)}const result=this.cons(this.decode());this.backrefQueue.unshift(result);if(this.backrefQueue.length>16){this.backrefQueue.pop()}return result}}class RoaringBitmap{constructor(str){const strdecoded=atob(str);const u8array=new Uint8Array(strdecoded.length);for(let j=0;j=4){offsets=[];for(let j=0;j>3]&(1<<(j&0x7))){const runcount=(u8array[i]|(u8array[i+1]<<8));i+=2;this.containers.push(new RoaringBitmapRun(runcount,u8array.slice(i,i+(runcount*4)),));i+=runcount*4}else if(this.cardinalities[j]>=4096){this.containers.push(new RoaringBitmapBits(u8array.slice(i,i+8192)));i+=8192}else{const end=this.cardinalities[j]*2;this.containers.push(new RoaringBitmapArray(this.cardinalities[j],u8array.slice(i,i+end),));i+=end}}}contains(keyvalue){const key=keyvalue>>16;const value=keyvalue&0xFFFF;let left=0;let right=this.keys.length-1;while(left<=right){const mid=Math.floor((left+right)/2);const x=this.keys[mid];if(xkey){right=mid-1}else{return this.containers[mid].contains(value)}}return false}}class RoaringBitmapRun{constructor(runcount,array){this.runcount=runcount;this.array=array}contains(value){let left=0;let right=this.runcount-1;while(left<=right){const mid=Math.floor((left+right)/2);const i=mid*4;const start=this.array[i]|(this.array[i+1]<<8);const lenm1=this.array[i+2]|(this.array[i+3]<<8);if((start+lenm1)value){right=mid-1}else{return true}}return false}}class RoaringBitmapArray{constructor(cardinality,array){this.cardinality=cardinality;this.array=array}contains(value){let left=0;let right=this.cardinality-1;while(left<=right){const mid=Math.floor((left+right)/2);const i=mid*2;const x=this.array[i]|(this.array[i+1]<<8);if(xvalue){right=mid-1}else{return true}}return false}}class RoaringBitmapBits{constructor(array){this.array=array}contains(value){return!!(this.array[value>>3]&(1<<(value&7)))}}class NameTrie{constructor(){this.children=[];this.matches=[]}insert(name,id,tailTable){this.insertSubstring(name,0,id,tailTable)}insertSubstring(name,substart,id,tailTable){const l=name.length;if(substart===l){this.matches.push(id)}else{const sb=name.charCodeAt(substart);let child;if(this.children[sb]!==undefined){child=this.children[sb]}else{child=new NameTrie();this.children[sb]=child;let sste;if(substart>=2){const tail=name.substring(substart-2,substart+1);if(tailTable.has(tail)){sste=tailTable.get(tail)}else{sste=[];tailTable.set(tail,sste)}sste.push(child)}}child.insertSubstring(name,substart+1,id,tailTable)}}search(name,tailTable){const results=new Set();this.searchSubstringPrefix(name,0,results);if(results.size=3){const levParams=name.length>=6?new Lev2TParametricDescription(name.length):new Lev1TParametricDescription(name.length);this.searchLev(name,0,levParams,results);const tail=name.substring(0,3);if(tailTable.has(tail)){for(const entry of tailTable.get(tail)){entry.searchSubstringPrefix(name,3,results)}}}return[...results]}searchSubstringPrefix(name,substart,results){const l=name.length;if(substart===l){for(const match of this.matches){results.add(match)}let unprocessedChildren=[];for(const child of this.children){if(child){unprocessedChildren.push(child)}}let nextSet=[];while(unprocessedChildren.length!==0){const next=unprocessedChildren.pop();for(const child of next.children){if(child){nextSet.push(child)}}for(const match of next.matches){results.add(match)}if(unprocessedChildren.length===0){const tmp=unprocessedChildren;unprocessedChildren=nextSet;nextSet=tmp}}}else{const sb=name.charCodeAt(substart);if(this.children[sb]!==undefined){this.children[sb].searchSubstringPrefix(name,substart+1,results)}}}searchLev(name,substart,levParams,results){const stack=[[this,0]];const n=levParams.n;while(stack.length!==0){const[trie,levState]=stack.pop();for(const[charCode,child]of trie.children.entries()){if(!child){continue}const levPos=levParams.getPosition(levState);const vector=levParams.getVector(name,charCode,levPos,Math.min(name.length,levPos+(2*n)+1),);const newLevState=levParams.transition(levState,levPos,vector,);if(newLevState>=0){stack.push([child,newLevState]);if(levParams.isAccept(newLevState)){for(const match of child.matches){results.add(match)}}}}}}}class DocSearch{constructor(rawSearchIndex,rootPath,searchState){this.searchIndexDeprecated=new Map();this.searchIndexEmptyDesc=new Map();this.functionTypeFingerprint=null;this.typeNameIdMap=new Map();this.assocTypeIdNameMap=new Map();this.ALIASES=new Map();this.rootPath=rootPath;this.searchState=searchState;this.typeNameIdOfArray=this.buildTypeMapIndex("array");this.typeNameIdOfSlice=this.buildTypeMapIndex("slice");this.typeNameIdOfArrayOrSlice=this.buildTypeMapIndex("[]");this.typeNameIdOfTuple=this.buildTypeMapIndex("tuple");this.typeNameIdOfUnit=this.buildTypeMapIndex("unit");this.typeNameIdOfTupleOrUnit=this.buildTypeMapIndex("()");this.typeNameIdOfFn=this.buildTypeMapIndex("fn");this.typeNameIdOfFnMut=this.buildTypeMapIndex("fnmut");this.typeNameIdOfFnOnce=this.buildTypeMapIndex("fnonce");this.typeNameIdOfHof=this.buildTypeMapIndex("->");this.typeNameIdOfOutput=this.buildTypeMapIndex("output",true);this.typeNameIdOfReference=this.buildTypeMapIndex("reference");this.EMPTY_BINDINGS_MAP=new Map();this.EMPTY_GENERICS_ARRAY=[];this.TYPES_POOL=new Map();this.nameTrie=new NameTrie();this.tailTable=new Map();this.searchIndex=this.buildIndex(rawSearchIndex)}buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(this.typeNameIdMap.has(name)){const obj=this.typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=this.typeNameIdMap.size;this.typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}buildItemSearchTypeAll(types,paths,lowercasePaths){return types.length>0?types.map(type=>this.buildItemSearchType(type,paths,lowercasePaths)):this.EMPTY_GENERICS_ARRAY}buildItemSearchType(type,paths,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=this.EMPTY_GENERICS_ARRAY;bindings=this.EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=this.buildItemSearchTypeAll(type[GENERICS_DATA],paths,lowercasePaths,);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[this.buildItemSearchType(assocType,paths,lowercasePaths,true).id,this.buildItemSearchTypeAll(constraints,paths,lowercasePaths),]}))}else{bindings=this.EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,name:"",ty:TY_GENERIC,path:null,exactPath:null,generics,bindings,unboxFlag:true,}}else if(pathIndex===0){result={id:null,name:"",ty:null,path:null,exactPath:null,generics,bindings,unboxFlag:true,}}else{const item=lowercasePaths[pathIndex-1];const id=this.buildTypeMapIndex(item.name,isAssocType);if(isAssocType){this.assocTypeIdNameMap.set(id,paths[pathIndex-1].name)}result={id,name:paths[pathIndex-1].name,ty:item.ty,path:item.path,exactPath:item.exactPath,generics,bindings,unboxFlag:item.unboxFlag,}}const cr=this.TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty&&cr.name===result.name&&cr.unboxFlag===result.unboxFlag){return cr}}this.TYPES_POOL.set(result.id,result);return result}buildFunctionTypeFingerprint(type,output){let input=type.id;if(input===this.typeNameIdOfArray||input===this.typeNameIdOfSlice){input=this.typeNameIdOfArrayOrSlice}if(input===this.typeNameIdOfTuple||input===this.typeNameIdOfUnit){input=this.typeNameIdOfTupleOrUnit}if(input===this.typeNameIdOfFn||input===this.typeNameIdOfFnMut||input===this.typeNameIdOfFnOnce){input=this.typeNameIdOfHof}const hashint1=k=>{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));output[3]+=1}for(const g of type.generics){this.buildFunctionTypeFingerprint(g,output)}const fb={id:null,ty:0,generics:this.EMPTY_GENERICS_ARRAY,bindings:this.EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;this.buildFunctionTypeFingerprint(fb,output)}}buildIndex(rawSearchIndex){const buildFunctionSearchTypeCallback=(paths,lowercasePaths)=>{return functionSearchType=>{if(functionSearchType===0){return null}const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[this.buildItemSearchType(functionSearchType[INPUTS_DATA],paths,lowercasePaths,),]}else{inputs=this.buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],paths,lowercasePaths,)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[this.buildItemSearchType(functionSearchType[OUTPUT_DATA],paths,lowercasePaths,),]}else{output=this.buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],paths,lowercasePaths,)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;inoop);let descShard={crate,shard:0,start:0,len:itemDescShardDecoder.next(),promise:null,resolve:null,};const descShardList=[descShard];this.searchIndexDeprecated.set(crate,new RoaringBitmap(crateCorpus.c));this.searchIndexEmptyDesc.set(crate,new RoaringBitmap(crateCorpus.e));let descIndex=0;let lastParamNames=[];let normalizedName=crate.indexOf("_")===-1?crate:crate.replace(/_/g,"");const crateRow={crate,ty:3,name:crate,path:"",descShard,descIndex,exactPath:"",desc:crateCorpus.doc,parent:undefined,type:null,paramNames:lastParamNames,id,word:crate,normalizedName,bitIndex:0,implDisambiguator:null,};this.nameTrie.insert(normalizedName,id,this.tailTable);id+=1;searchIndex.push(crateRow);currentIndex+=1;if(!this.searchIndexEmptyDesc.get(crate).contains(0)){descIndex+=1}const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemReexports=new Map(crateCorpus.r);const itemParentIdxDecoder=new VlqHexDecoder(crateCorpus.i,noop=>noop);const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const itemParamNames=new Map(crateCorpus.P);const lowercasePaths=[];const itemFunctionDecoder=new VlqHexDecoder(crateCorpus.f,buildFunctionSearchTypeCallback(paths,lowercasePaths),);let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2&&elem[2]!==null){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}const exactPath=elem.length>3&&elem[3]!==null?itemPaths.get(elem[3]):path;const unboxFlag=elem.length>4&&!!elem[4];lowercasePaths.push({ty,name:name.toLowerCase(),path,exactPath,unboxFlag});paths[i]={ty,name,path,exactPath,unboxFlag}}lastPath="";len=itemTypes.length;let lastName="";let lastWord="";for(let i=0;i=descShard.len&&!this.searchIndexEmptyDesc.get(crate).contains(bitIndex)){descShard={crate,shard:descShard.shard+1,start:descShard.start+descShard.len,len:itemDescShardDecoder.next(),promise:null,resolve:null,};descIndex=0;descShardList.push(descShard)}const name=itemNames[i]===""?lastName:itemNames[i];const word=itemNames[i]===""?lastWord:itemNames[i].toLowerCase();const path=itemPaths.has(i)?itemPaths.get(i):lastPath;const paramNames=itemParamNames.has(i)?itemParamNames.get(i).split(","):lastParamNames;const type=itemFunctionDecoder.next();if(type!==null){if(type){const fp=this.functionTypeFingerprint.subarray(id*4,(id+1)*4);for(const t of type.inputs){this.buildFunctionTypeFingerprint(t,fp)}for(const t of type.output){this.buildFunctionTypeFingerprint(t,fp)}for(const w of type.where_clause){for(const t of w){this.buildFunctionTypeFingerprint(t,fp)}}}}const itemParentIdx=itemParentIdxDecoder.next();normalizedName=word.indexOf("_")===-1?word:word.replace(/_/g,"");const row={crate,ty:itemTypes.charCodeAt(i)-65,name,path,descShard,descIndex,exactPath:itemReexports.has(i)?itemPaths.get(itemReexports.get(i)):path,parent:itemParentIdx>0?paths[itemParentIdx-1]:undefined,type,paramNames,id,word,normalizedName,bitIndex,implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};this.nameTrie.insert(normalizedName,id,this.tailTable);id+=1;searchIndex.push(row);lastPath=row.path;lastParamNames=row.paramNames;if(!this.searchIndexEmptyDesc.get(crate).contains(bitIndex)){descIndex+=1}lastName=name;lastWord=word}if(aliases){const currentCrateAliases=new Map();this.ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length;this.searchState.descShards.set(crate,descShardList)}this.TYPES_POOL=new Map();return searchIndex}static parseQuery(userQuery){function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}function newParsedQuery(userQuery){return{userQuery,elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,hasReturnArrow:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){query.hasReturnArrow=true;break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}async execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}const buildHrefAndPath=item=>{let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;let exactPath=item.exactPath;if(type==="mod"){displayPath=path+"::";href=this.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=this.rootPath+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";exactPath="";href=this.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=this.rootPath+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;exactPath=`${myparent.exactPath}::${myparent.name}`;if(parentType==="primitive"){displayPath=myparent.name+"::";exactPath=myparent.name}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=this.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=this.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href,`${exactPath}::${name}`]};function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}const transformResults=(results,typeInfo)=>{const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const res=buildHrefAndPath(this.searchIndex[result.id]);const obj=Object.assign({dist:result.dist,displayPath:pathSplitter(res[0]),},this.searchIndex[result.id]);obj.fullPath=res[2]+"|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}if(obj.ty===TY_IMPORT&&duplicates.has(res[2])){continue}if(duplicates.has(res[2]+"|"+TY_IMPORT)){continue}duplicates.add(obj.fullPath);duplicates.add(res[2]);if(typeInfo!==null){obj.displayTypeSignature=this.formatDisplayTypeSignature(obj,typeInfo)}obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out};this.formatDisplayTypeSignature=async(obj,typeInfo)=>{let fnInputs=null;let fnOutput=null;let mgens=null;if(typeInfo!=="elems"&&typeInfo!=="returned"){fnInputs=unifyFunctionTypes(obj.type.inputs,parsedQuery.elems,obj.type.where_clause,null,mgensScratch=>{fnOutput=unifyFunctionTypes(obj.type.output,parsedQuery.returned,obj.type.where_clause,mgensScratch,mgensOut=>{mgens=mgensOut;return true},0,);return!!fnOutput},0,)}else{const arr=typeInfo==="elems"?obj.type.inputs:obj.type.output;const highlighted=unifyFunctionTypes(arr,parsedQuery.elems,obj.type.where_clause,null,mgensOut=>{mgens=mgensOut;return true},0,);if(typeInfo==="elems"){fnInputs=highlighted}else{fnOutput=highlighted}}if(!fnInputs){fnInputs=obj.type.inputs}if(!fnOutput){fnOutput=obj.type.output}const mappedNames=new Map();const whereClause=new Map();const fnParamNames=obj.paramNames;const queryParamNames=[];const remapQuery=queryElem=>{if(queryElem.id<0){queryParamNames[-1-queryElem.id]=queryElem.name}if(queryElem.generics.length>0){queryElem.generics.forEach(remapQuery)}if(queryElem.bindings.size>0){[...queryElem.bindings.values()].flat().forEach(remapQuery)}};parsedQuery.elems.forEach(remapQuery);parsedQuery.returned.forEach(remapQuery);const pushText=(fnType,result)=>{if(!!(result.length%2)===!!fnType.highlighted){result.push("")}else if(result.length===0&&!!fnType.highlighted){result.push("");result.push("")}result[result.length-1]+=fnType.name};const writeHof=(fnType,result)=>{const hofOutput=fnType.bindings.get(this.typeNameIdOfOutput)||[];const hofInputs=fnType.generics;pushText(fnType,result);pushText({name:" (",highlighted:false},result);let needsComma=false;for(const fnType of hofInputs){if(needsComma){pushText({name:", ",highlighted:false},result)}needsComma=true;writeFn(fnType,result)}pushText({name:hofOutput.length===0?")":") -> ",highlighted:false,},result);if(hofOutput.length>1){pushText({name:"(",highlighted:false},result)}needsComma=false;for(const fnType of hofOutput){if(needsComma){pushText({name:", ",highlighted:false},result)}needsComma=true;writeFn(fnType,result)}if(hofOutput.length>1){pushText({name:")",highlighted:false},result)}};const writeSpecialPrimitive=(fnType,result)=>{if(fnType.id===this.typeNameIdOfArray||fnType.id===this.typeNameIdOfSlice||fnType.id===this.typeNameIdOfTuple||fnType.id===this.typeNameIdOfUnit){const[ob,sb]=fnType.id===this.typeNameIdOfArray||fnType.id===this.typeNameIdOfSlice?["[","]"]:["(",")"];pushText({name:ob,highlighted:fnType.highlighted},result);onEachBtwn(fnType.generics,nested=>writeFn(nested,result),()=>pushText({name:", ",highlighted:false},result),);pushText({name:sb,highlighted:fnType.highlighted},result);return true}else if(fnType.id===this.typeNameIdOfReference){pushText({name:"&",highlighted:fnType.highlighted},result);let prevHighlighted=false;onEachBtwn(fnType.generics,value=>{prevHighlighted=value.highlighted;writeFn(value,result)},value=>pushText({name:" ",highlighted:prevHighlighted&&value.highlighted,},result),);return true}else if(fnType.id===this.typeNameIdOfFn){writeHof(fnType,result);return true}return false};const writeFn=(fnType,result)=>{if(fnType.id<0){if(fnParamNames[-1-fnType.id]===""){const generics=fnType.generics.length>0?fnType.generics:obj.type.where_clause[-1-fnType.id];for(const nested of generics){writeFn(nested,result)}return}else if(mgens){for(const[queryId,fnId]of mgens){if(fnId===fnType.id){mappedNames.set(queryParamNames[-1-queryId],fnParamNames[-1-fnType.id],)}}}pushText({name:fnParamNames[-1-fnType.id],highlighted:!!fnType.highlighted,},result);const where=[];onEachBtwn(fnType.generics,nested=>writeFn(nested,where),()=>pushText({name:" + ",highlighted:false},where),);if(where.length>0){whereClause.set(fnParamNames[-1-fnType.id],where)}}else{if(fnType.ty===TY_PRIMITIVE){if(writeSpecialPrimitive(fnType,result)){return}}else if(fnType.ty===TY_TRAIT&&(fnType.id===this.typeNameIdOfFn||fnType.id===this.typeNameIdOfFnMut||fnType.id===this.typeNameIdOfFnOnce)){writeHof(fnType,result);return}pushText(fnType,result);let hasBindings=false;if(fnType.bindings.size>0){onEachBtwn(fnType.bindings,([key,values])=>{const name=this.assocTypeIdNameMap.get(key);if(values.length===1&&values[0].id<0&&`${fnType.name}::${name}`===fnParamNames[-1-values[0].id]){for(const value of values){writeFn(value,[])}return true}if(!hasBindings){hasBindings=true;pushText({name:"<",highlighted:false},result)}pushText({name,highlighted:false},result);pushText({name:values.length!==1?"=(":"=",highlighted:false,},result);onEachBtwn(values||[],value=>writeFn(value,result),()=>pushText({name:" + ",highlighted:false},result),);if(values.length!==1){pushText({name:")",highlighted:false},result)}},()=>pushText({name:", ",highlighted:false},result),)}if(fnType.generics.length>0){pushText({name:hasBindings?", ":"<",highlighted:false},result)}onEachBtwn(fnType.generics,value=>writeFn(value,result),()=>pushText({name:", ",highlighted:false},result),);if(hasBindings||fnType.generics.length>0){pushText({name:">",highlighted:false},result)}}};const type=[];onEachBtwn(fnInputs,fnType=>writeFn(fnType,type),()=>pushText({name:", ",highlighted:false},type),);pushText({name:" -> ",highlighted:false},type);onEachBtwn(fnOutput,fnType=>writeFn(fnType,type),()=>pushText({name:", ",highlighted:false},type),);return{type,mappedNames,whereClause}};const sortResults=async(results,typeInfo,preferredCrate)=>{const userQuery=parsedQuery.userQuery;const normalizedUserQuery=parsedQuery.userQuery.toLowerCase();const isMixedCase=normalizedUserQuery!==userQuery;const result_list=[];const isReturnTypeQuery=parsedQuery.elems.length===0||typeInfo==="returned";for(const result of results.values()){result.item=this.searchIndex[result.id];result.word=this.searchIndex[result.id].word;if(isReturnTypeQuery){const hasType=result.item&&result.item.type;if(!hasType){continue}const inputs=result.item.type.inputs;const where_clause=result.item.type.where_clause;if(containsTypeFromQuery(inputs,where_clause)){result.path_dist*=100;result.dist*=100}}result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;if(isMixedCase){a=(aaa.item.name!==userQuery);b=(bbb.item.name!==userQuery);if(a!==b){return a-b}}a=(aaa.word!==normalizedUserQuery);b=(bbb.word!==normalizedUserQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}if(parsedQuery.hasReturnArrow){a=!isFnLikeTy(aaa.item.ty);b=!isFnLikeTy(bbb.item.ty);if(a!==b){return a-b}}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=this.searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=this.searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=this.searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=this.searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list,typeInfo)};function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return null}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return solutionCb(mgens)?fnTypesIn:null}if(!fnTypesIn||fnTypesIn.length===0){return null}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const[i,fnType]of fnTypesIn.entries()){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(queryElem.id)&&mgens.get(queryElem.id)!==fnType.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(queryElem.id,fnType.id);if(!solutionCb||solutionCb(mgensScratch)){const highlighted=[...fnTypesIn];highlighted[i]=Object.assign({highlighted:true,},fnType,{generics:whereClause[-1-fnType.id],});return highlighted}}else if(solutionCb(mgens?new Map(mgens):null)){const highlighted=[...fnTypesIn];highlighted[i]=Object.assign({highlighted:true,},fnType,{generics:unifyGenericTypes(fnType.generics,queryElem.generics,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth,)||fnType.generics,});return highlighted}}for(const[i,fnType]of fnTypesIn.entries()){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){const highlightedGenerics=unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgens,solutionCb,unboxingDepth+1,);if(highlightedGenerics){const highlighted=[...fnTypesIn];highlighted[i]=Object.assign({highlighted:true,},fnType,{generics:highlightedGenerics,});return highlighted}}else{const highlightedGenerics=unifyFunctionTypes([...Array.from(fnType.bindings.values()).flat(),...fnType.generics],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,);if(highlightedGenerics){const highlighted=[...fnTypesIn];highlighted[i]=Object.assign({},fnType,{generics:highlightedGenerics,bindings:new Map([...fnType.bindings.entries()].map(([k,v])=>{return[k,highlightedGenerics.splice(0,v.length)]})),});return highlighted}}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(queryElem.id)&&mgensScratch.get(queryElem.id)!==fnType.id){continue}mgensScratch.set(queryElem.id,fnType.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}let unifiedGenerics=[];let unifiedGenericsMgens=null;const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){unifiedGenerics=unifyGenericTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(unifiedGenerics!==null){unifiedGenericsMgens=simplifiedMgens;return true}}return false},unboxingDepth,);if(passesUnification){passesUnification.length=fl;passesUnification[flast]=passesUnification[i];passesUnification[i]=Object.assign({},fnType,{highlighted:true,generics:unifiedGenerics,bindings:new Map([...fnType.bindings.entries()].map(([k,v])=>{return[k,queryElem.bindings.has(k)?unifyFunctionTypes(v,queryElem.bindings.get(k),whereClause,unifiedGenericsMgens,solutionCb,unboxingDepth,):unifiedGenerics.splice(0,v.length)]})),});return passesUnification}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...bindings,...generics),queryElems,whereClause,mgens,solutionCb,unboxingDepth+1,);if(passesUnification){const highlightedGenerics=passesUnification.slice(i,i+generics.length+bindings.length,);const highlightedFnType=Object.assign({},fnType,{generics:highlightedGenerics,bindings:new Map([...fnType.bindings.entries()].map(([k,v])=>{return[k,highlightedGenerics.splice(0,v.length)]})),});return passesUnification.toSpliced(i,generics.length+bindings.length,highlightedFnType,)}}return null}function unifyGenericTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return null}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return solutionCb(mgens)?fnTypesIn:null}if(!fnTypesIn||fnTypesIn.length===0){return null}const fnType=fnTypesIn[0];const queryElem=queryElems[0];if(unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){if(fnType.id<0&&queryElem.id<0){if(!mgens||!mgens.has(queryElem.id)||mgens.get(queryElem.id)===fnType.id){const mgensScratch=new Map(mgens);mgensScratch.set(queryElem.id,fnType.id);const fnTypesRemaining=unifyGenericTypes(fnTypesIn.slice(1),queryElems.slice(1),whereClause,mgensScratch,solutionCb,unboxingDepth,);if(fnTypesRemaining){const highlighted=[fnType,...fnTypesRemaining];highlighted[0]=Object.assign({highlighted:true,},fnType,{generics:whereClause[-1-fnType.id],});return highlighted}}}else{let unifiedGenerics;const fnTypesRemaining=unifyGenericTypes(fnTypesIn.slice(1),queryElems.slice(1),whereClause,mgens,mgensScratch=>{const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){unifiedGenerics=unifyGenericTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(unifiedGenerics!==null){return true}}},unboxingDepth,);if(fnTypesRemaining){const highlighted=[fnType,...fnTypesRemaining];highlighted[0]=Object.assign({highlighted:true,},fnType,{generics:unifiedGenerics||fnType.generics,});return highlighted}}}if(unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){let highlightedRemaining;if(fnType.id<0){const highlightedGenerics=unifyFunctionTypes(whereClause[(-fnType.id)-1],[queryElem],whereClause,mgens,mgensScratch=>{const hl=unifyGenericTypes(fnTypesIn.slice(1),queryElems.slice(1),whereClause,mgensScratch,solutionCb,unboxingDepth,);if(hl){highlightedRemaining=hl}return hl},unboxingDepth+1,);if(highlightedGenerics){return[Object.assign({highlighted:true,},fnType,{generics:highlightedGenerics,}),...highlightedRemaining]}}else{const highlightedGenerics=unifyGenericTypes([...Array.from(fnType.bindings.values()).flat(),...fnType.generics,],[queryElem],whereClause,mgens,mgensScratch=>{const hl=unifyGenericTypes(fnTypesIn.slice(1),queryElems.slice(1),whereClause,mgensScratch,solutionCb,unboxingDepth,);if(hl){highlightedRemaining=hl}return hl},unboxingDepth+1,);if(highlightedGenerics){return[Object.assign({},fnType,{generics:highlightedGenerics,bindings:new Map([...fnType.bindings.entries()].map(([k,v])=>{return[k,highlightedGenerics.splice(0,v.length)]})),}),...highlightedRemaining]}}}return null}const unifyFunctionTypeIsMatchCandidate=(fnType,queryElem,mgensIn)=>{if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn&&mgensIn.has(queryElem.id)&&mgensIn.get(queryElem.id)!==fnType.id){return false}return true}else{if(queryElem.id===this.typeNameIdOfArrayOrSlice&&(fnType.id===this.typeNameIdOfSlice||fnType.id===this.typeNameIdOfArray)){}else if(queryElem.id===this.typeNameIdOfTupleOrUnit&&(fnType.id===this.typeNameIdOfTuple||fnType.id===this.typeNameIdOfUnit)){}else if(queryElem.id===this.typeNameIdOfHof&&(fnType.id===this.typeNameIdOfFn||fnType.id===this.typeNameIdOfFnMut||fnType.id===this.typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...binds,...simplifiedGenerics]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0){if(!whereClause){return false}return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgens,unboxingDepth,)}else if(fnType.unboxFlag&&(fnType.generics.length>0||fnType.bindings.size>0)){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function containsTypeFromQuery(list,where_clause){if(!list)return false;for(const ty of parsedQuery.returned){if(ty.id<0){continue}if(checkIfInList(list,ty,where_clause,null,0)){return true}}for(const ty of parsedQuery.elems){if(ty.id<0){continue}if(checkIfInList(list,ty,where_clause,null,0)){return true}}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}const checkType=(row,elem,whereClause,mgens,unboxingDepth)=>{if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&row.generics.length===0&&elem.generics.length===0&&row.bindings.size===0&&elem.bindings.size===0&&elem.id!==this.typeNameIdOfArrayOrSlice&&elem.id!==this.typeNameIdOfHof&&elem.id!==this.typeNameIdOfTupleOrUnit){return row.id===elem.id&&typePassesFilter(elem.typeFilter,row.ty)}else{return unifyFunctionTypes([row],[elem],whereClause,mgens,()=>true,unboxingDepth,)}};const checkTypeMgensForConflict=mgens=>{if(!mgens){return true}const fnTypes=new Set();for(const[_qid,fid]of mgens){if(fnTypes.has(fid)){return false}fnTypes.add(fid)}return true};function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,exactPath:item.exactPath,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}const handleAliases=async(ret,query,filterCrates,currentCrate)=>{const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(this.ALIASES.has(filterCrates)&&this.ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=this.ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(this.searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of this.ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(this.searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{return this.searchIndexEmptyDesc.get(alias.crate).contains(alias.bitIndex)?"":this.searchState.loadDesc(alias)};const[crateDescs,descs]=await Promise.all([Promise.all(crateAliases.map(fetchDesc)),Promise.all(aliases.map(fetchDesc)),]);const pushFunc=alias=>{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach((alias,i)=>{alias.desc=descs[i]});aliases.forEach(pushFunc);crateAliases.forEach((alias,i)=>{alias.desc=crateDescs[i]});crateAliases.forEach(pushFunc)};function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,checkTypeMgensForConflict,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}const compareTypeFingerprints=(fullId,queryFingerprint)=>{const fh0=this.functionTypeFingerprint[fullId*4];const fh1=this.functionTypeFingerprint[(fullId*4)+1];const fh2=this.functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return this.functionTypeFingerprint[(fullId*4)+3]};const innerRunQuery=()=>{const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();const convertNameToId=(elem,isAssocType)=>{const loweredName=elem.pathLast.toLowerCase();if(this.typeNameIdMap.has(loweredName)&&(isAssocType||!this.typeNameIdMap.get(loweredName).assocOnly)){elem.id=this.typeNameIdMap.get(loweredName).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of this.typeNameIdMap){const dist=Math.min(editDistance(name,loweredName,maxEditDistance),editDistance(name,elem.normalizedPathLast,maxEditDistance),);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.normalizedPathLast)){elem.id=genericSymbols.get(elem.normalizedPathLast)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.normalizedPathLast,elem.id)}if(elem.typeFilter===-1&&elem.normalizedPathLast.length>=3){const maxPartDistance=Math.floor(elem.normalizedPathLast.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of this.typeNameIdMap.keys()){const dist=editDistance(name,elem.normalizedPathLast,maxPartDistance,);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!this.typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[this.typeNameIdMap.get(name).id,constraints]}),)};for(const elem of parsedQuery.elems){convertNameToId(elem);this.buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint)}for(const elem of parsedQuery.returned){convertNameToId(elem);this.buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint)}if(parsedQuery.foundElems===1&&!parsedQuery.hasReturnArrow){const elem=parsedQuery.elems[0];const handleNameSearch=id=>{const row=this.searchIndex[id];if(!typePassesFilter(elem.typeFilter,row.ty)||(filterCrates!==null&&row.crate!==filterCrates)){return}let pathDist=0;if(elem.fullPath.length>1){pathDist=checkPath(elem.pathWithoutLast,row);if(pathDist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,row.id,id,0,0,pathDist)}}else{addIntoResults(results_others,row.id,id,row.normalizedName.indexOf(elem.normalizedPathLast),editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance,),pathDist,maxEditDistance,)}};if(elem.normalizedPathLast!==""){const last=elem.normalizedPathLast;for(const id of this.nameTrie.search(last,this.tailTable)){handleNameSearch(id)}}const length=this.searchIndex.length;for(let i=0,nSearchIndex=length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=this.searchIndex.length;i{const descs=await Promise.all(list.map(result=>{return this.searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":this.searchState.loadDesc(result)}));for(const[i,result]of list.entries()){result.desc=descs[i]}}));if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}}let rawSearchIndex;let docSearch;const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];let currentResults;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&window.searchIndex.has(elem.value)){return elem.value}return null}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement(array.length===0&&query.error===null?"div":"ul",);if(array.length>0){output.className="search-results "+extraClass;const lis=Promise.all(array.map(async item=>{const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("span");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
    \ +${item.alias} - see \ +
    `}resultName.insertAdjacentHTML("beforeend",`
    ${alias}\ +${item.displayPath}${name}\ +
    `);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);if(item.displayTypeSignature){const{type,mappedNames,whereClause}=await item.displayTypeSignature;const displayType=document.createElement("div");type.forEach((value,index)=>{if(index%2!==0){const highlight=document.createElement("strong");highlight.appendChild(document.createTextNode(value));displayType.appendChild(highlight)}else{displayType.appendChild(document.createTextNode(value))}});if(mappedNames.size>0||whereClause.size>0){let addWhereLineFn=()=>{const line=document.createElement("div");line.className="where";line.appendChild(document.createTextNode("where"));displayType.appendChild(line);addWhereLineFn=()=>{}};for(const[qname,name]of mappedNames){if(name===qname){continue}addWhereLineFn();const line=document.createElement("div");line.className="where";line.appendChild(document.createTextNode(` ${qname} matches `));const lineStrong=document.createElement("strong");lineStrong.appendChild(document.createTextNode(name));line.appendChild(lineStrong);displayType.appendChild(line)}for(const[name,innerType]of whereClause){if(innerType.length<=1){continue}addWhereLineFn();const line=document.createElement("div");line.className="where";line.appendChild(document.createTextNode(` ${name}: `));innerType.forEach((value,index)=>{if(index%2!==0){const highlight=document.createElement("strong");highlight.appendChild(document.createTextNode(value));line.appendChild(highlight)}else{line.appendChild(document.createTextNode(value))}});displayType.appendChild(line)}}displayType.className="type-signature";link.appendChild(displayType)}link.appendChild(description);return link}));lis.then(lis=>{for(const li of lis){output.appendChild(li)}})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return output}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}async function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=DocSearch.parseQuery(searchState.input.value)}currentResults=results.query.userQuery;let currentTab=searchState.currentTab;if((currentTab===0&&results.others.length===0)||(currentTab===1&&results.in_args.length===0)||(currentTab===2&&results.returned.length===0)){if(results.others.length!==0){currentTab=0}else if(results.in_args.length){currentTab=1}else if(results.returned.length){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates="
    in 
    "+"
    "}let output=`
    \ +

    Results

    ${crates}
    `;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

    Query parser error: "${error.join("")}".

    `;output+="
    "+makeTabHeader(0,"In Names",results.others.length)+"
    ";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
    "+makeTabHeader(0,"In Names",results.others.length)+makeTabHeader(1,"In Parameters",results.in_args.length)+makeTabHeader(2,"In Return Types",results.returned.length)+"
    "}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
    "+makeTabHeader(0,signatureTabTitle,results.others.length)+"
    ";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

    "+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

    `}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

    "+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

    `}const[ret_others,ret_in_args,ret_returned]=await Promise.all([addTab(results.others,results.query,currentTab===0),addTab(results.in_args,results.query,currentTab===1),addTab(results.returned,results.query,currentTab===2),]);const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others);resultsElem.appendChild(ret_in_args);resultsElem.appendChild(ret_returned);search.innerHTML=output;if(searchState.rustdocToolbar){search.querySelector(".main-heading").appendChild(searchState.rustdocToolbar)}const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}async function search(forced){const query=DocSearch.parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="\""+query.userQuery+"\" Search - Rust";updateSearchHistory(buildUrl(query.userQuery,filterCrates));await showResults(await docSearch.execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}function initSearch(searchIndx){rawSearchIndex=searchIndx;if(typeof window!=="undefined"){docSearch=new DocSearch(rawSearchIndex,ROOT_PATH,searchState);registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}else if(typeof exports!=="undefined"){docSearch=new DocSearch(rawSearchIndex,ROOT_PATH,searchState);exports.docSearch=docSearch;exports.parseQuery=DocSearch.parseQuery}}if(typeof exports!=="undefined"){exports.initSearch=initSearch}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}class ParametricDescription{constructor(w,n,minErrors){this.w=w;this.n=n;this.minErrors=minErrors}isAccept(absState){const state=Math.floor(absState/(this.w+1));const offset=absState%(this.w+1);return this.w-offset+this.minErrors[state]<=this.n}getPosition(absState){return absState%(this.w+1)}getVector(name,charCode,pos,end){let vector=0;for(let i=pos;i>5;const bitStart=bitLoc&31;if(bitStart+bitsPerValue<=32){return((data[dataLoc]>>bitStart)&this.MASKS[bitsPerValue-1])}else{const part=32-bitStart;return ~~(((data[dataLoc]>>bitStart)&this.MASKS[part-1])+((data[1+dataLoc]&this.MASKS[bitsPerValue-part-1])<{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=()=>{changeSetting(toggle.id,toggle.checked)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){settingValue=useSystem==="false"?"light":"system preference"}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\ +"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break;case"hide-sidebar":if(value===true){addClass(document.documentElement,"hide-sidebar")}else{removeClass(document.documentElement,"hide-sidebar")}break;case"hide-toc":if(value===true){addClass(document.documentElement,"hide-toc")}else{removeClass(document.documentElement,"hide-toc")}break;case"hide-modnav":if(value===true){addClass(document.documentElement,"hide-modnav")}else{removeClass(document.documentElement,"hide-modnav")}break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme"),"hidden");removeClass(document.getElementById("preferred-dark-theme"),"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme"),"hidden");addClass(document.getElementById("preferred-dark-theme"),"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=()=>{changeSetting(toggle.id,toggle.checked)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){settingValue=useSystem==="false"?"light":"system preference"}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){if(setting==="hr"){output+="
    ";continue}const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\
    ${setting_name}
    `;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\ @@ -14,4 +14,4 @@ \ ${setting_name}\ \ -
    `}}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Hide persistent navigation bar","js_name":"hide-sidebar","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`
    ${buildSettingsPageSections(settings)}
    `;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display="";onEachLazy(settingsMenu.querySelectorAll("input[type='checkbox']"),el=>{const val=getSettingValue(el.id);const checked=val==="true";if(checked!==el.checked&&val!==null){el.checked=checked}})}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=event=>{event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=event=>{if(settingsMenu.contains(event.target)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file +
    `}}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Hide persistent navigation bar","js_name":"hide-sidebar","default":false,},{"name":"Hide table of contents","js_name":"hide-toc","default":false,},{"name":"Hide module navigation","js_name":"hide-modnav","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`
    ${buildSettingsPageSections(settings)}
    `;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display="";onEachLazy(settingsMenu.querySelectorAll("input[type='checkbox']"),el=>{const val=getSettingValue(el.id);const checked=val==="true";if(checked!==el.checked&&val!==null){el.checked=checked}})}function settingsBlurHandler(event){if(!getHelpButton().contains(document.activeElement)&&!getHelpButton().contains(event.relatedTarget)&&!getSettingsButton().contains(document.activeElement)&&!getSettingsButton().contains(event.relatedTarget)){window.hidePopoverMenus()}}if(!isSettingsPage){const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=event=>{if(settingsMenu.contains(event.target)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file diff --git a/docs/api/static.files/src-script-00000000e6115c00.js b/docs/api/static.files/src-script-56102188.js similarity index 100% rename from docs/api/static.files/src-script-00000000e6115c00.js rename to docs/api/static.files/src-script-56102188.js diff --git a/docs/api/static.files/storage-0000000036c0a5b4.js b/docs/api/static.files/storage-59e33391.js similarity index 71% rename from docs/api/static.files/storage-0000000036c0a5b4.js rename to docs/api/static.files/storage-59e33391.js index 98189467..5aac776b 100644 --- a/docs/api/static.files/storage-0000000036c0a5b4.js +++ b/docs/api/static.files/storage-59e33391.js @@ -1,4 +1,4 @@ -"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px",)}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px",)}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}});class RustdocSearchElement extends HTMLElement{constructor(){super()}connectedCallback(){const rootPath=getVar("root-path");const currentCrate=getVar("current-crate");this.innerHTML=``}}window.customElements.define("rustdoc-search",RustdocSearchElement);class RustdocToolbarElement extends HTMLElement{constructor(){super()}connectedCallback(){if(this.firstElementChild){return}const rootPath=getVar("root-path");this.innerHTML=` +
    + Settings +
    +
    + Help +
    + `}}window.customElements.define("rustdoc-toolbar",RustdocToolbarElement) \ No newline at end of file diff --git a/docs/api/trait.impl/core/clone/trait.Clone.js b/docs/api/trait.impl/core/clone/trait.Clone.js index 684ddca9..03d9cc68 100644 --- a/docs/api/trait.impl/core/clone/trait.Clone.js +++ b/docs/api/trait.impl/core/clone/trait.Clone.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Clone for CargoMakeErrorDiscriminants"],["impl Clone for ConditionScriptValue"],["impl Clone for ConditionType"],["impl Clone for CrateDependency"],["impl Clone for DependencyIdentifier"],["impl Clone for DeprecationInfo"],["impl Clone for EnvFile"],["impl Clone for EnvValue"],["impl Clone for Extend"],["impl Clone for InstallCrate"],["impl Clone for RunTaskInfo"],["impl Clone for RunTaskName"],["impl Clone for ScriptValue"],["impl Clone for TaskWatchOptions"],["impl Clone for ToolchainSpecifier"],["impl Clone for UnstableFeature"],["impl Clone for Cache"],["impl Clone for CliArgs"],["impl Clone for Config"],["impl Clone for ConfigSection"],["impl Clone for CrateDependencyInfo"],["impl Clone for CrateInfo"],["impl Clone for EnvFileInfo"],["impl Clone for EnvInfo"],["impl Clone for EnvValueConditioned"],["impl Clone for EnvValueDecode"],["impl Clone for EnvValuePathGlob"],["impl Clone for EnvValueScript"],["impl Clone for EnvValueUnset"],["impl Clone for ExtendOptions"],["impl Clone for ExternalConfig"],["impl Clone for FileScriptValue"],["impl Clone for FilesFilesModifiedCondition"],["impl Clone for FlowInfo"],["impl Clone for FlowState"],["impl Clone for GlobalConfig"],["impl Clone for InstallCargoPluginInfo"],["impl Clone for InstallCrateInfo"],["impl Clone for InstallRustupComponentInfo"],["impl Clone for ModifyConfig"],["impl Clone for PackageInfo"],["impl Clone for PlatformOverrideTask"],["impl Clone for RunTaskDetails"],["impl Clone for RunTaskRoutingInfo"],["impl Clone for RustVersionCondition"],["impl Clone for ScriptSections"],["impl Clone for Step"],["impl Clone for Task"],["impl Clone for TaskCondition"],["impl Clone for TaskIdentifier"],["impl Clone for TestArg"],["impl Clone for ToolchainBoundedSpecifier"],["impl Clone for WatchOptions"],["impl Clone for Workspace"],["impl<T: Clone> Clone for MaybeArray<T>"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Clone for CargoMakeErrorDiscriminants"],["impl Clone for ConditionScriptValue"],["impl Clone for ConditionType"],["impl Clone for CrateDependency"],["impl Clone for DependencyIdentifier"],["impl Clone for DeprecationInfo"],["impl Clone for EnvFile"],["impl Clone for EnvValue"],["impl Clone for Extend"],["impl Clone for InstallCrate"],["impl Clone for RunTaskInfo"],["impl Clone for RunTaskName"],["impl Clone for ScriptValue"],["impl Clone for TaskWatchOptions"],["impl Clone for ToolchainSpecifier"],["impl Clone for UnstableFeature"],["impl Clone for Cache"],["impl Clone for CliArgs"],["impl Clone for Config"],["impl Clone for ConfigSection"],["impl Clone for CrateDependencyInfo"],["impl Clone for CrateInfo"],["impl Clone for EnvFileInfo"],["impl Clone for EnvInfo"],["impl Clone for EnvValueConditioned"],["impl Clone for EnvValueDecode"],["impl Clone for EnvValuePathGlob"],["impl Clone for EnvValueScript"],["impl Clone for EnvValueUnset"],["impl Clone for ExtendOptions"],["impl Clone for ExternalConfig"],["impl Clone for FileScriptValue"],["impl Clone for FilesFilesModifiedCondition"],["impl Clone for FlowInfo"],["impl Clone for FlowState"],["impl Clone for GlobalConfig"],["impl Clone for InstallCargoPluginInfo"],["impl Clone for InstallCrateInfo"],["impl Clone for InstallRustupComponentInfo"],["impl Clone for ModifyConfig"],["impl Clone for PackageInfo"],["impl Clone for PlatformOverrideTask"],["impl Clone for RunTaskDetails"],["impl Clone for RunTaskRoutingInfo"],["impl Clone for RustVersionCondition"],["impl Clone for ScriptSections"],["impl Clone for Step"],["impl Clone for Task"],["impl Clone for TaskCondition"],["impl Clone for TaskIdentifier"],["impl Clone for TestArg"],["impl Clone for ToolchainBoundedSpecifier"],["impl Clone for WatchOptions"],["impl Clone for Workspace"],["impl<T: Clone> Clone for MaybeArray<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[15227]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/cmp/trait.Eq.js b/docs/api/trait.impl/core/cmp/trait.Eq.js index 6b6ce977..84360f43 100644 --- a/docs/api/trait.impl/core/cmp/trait.Eq.js +++ b/docs/api/trait.impl/core/cmp/trait.Eq.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Eq for CargoMakeErrorDiscriminants"],["impl Eq for DependencyIdentifier"],["impl Eq for ToolchainSpecifier"],["impl Eq for UnstableFeature"],["impl Eq for TaskIdentifier"],["impl Eq for TestArg"],["impl Eq for ToolchainBoundedSpecifier"],["impl<T: Eq> Eq for MaybeArray<T>"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Eq for CargoMakeErrorDiscriminants"],["impl Eq for DependencyIdentifier"],["impl Eq for ToolchainSpecifier"],["impl Eq for UnstableFeature"],["impl Eq for TaskIdentifier"],["impl Eq for TestArg"],["impl Eq for ToolchainBoundedSpecifier"],["impl<T: Eq> Eq for MaybeArray<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[2304]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/cmp/trait.PartialEq.js b/docs/api/trait.impl/core/cmp/trait.PartialEq.js index 29c7e131..452c0519 100644 --- a/docs/api/trait.impl/core/cmp/trait.PartialEq.js +++ b/docs/api/trait.impl/core/cmp/trait.PartialEq.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl PartialEq for CargoMakeErrorDiscriminants"],["impl PartialEq for ConditionType"],["impl PartialEq for DependencyIdentifier"],["impl PartialEq for DeprecationInfo"],["impl PartialEq for InstallCrate"],["impl PartialEq for RunTaskName"],["impl PartialEq for TaskWatchOptions"],["impl PartialEq for ToolchainSpecifier"],["impl PartialEq for UnstableFeature"],["impl PartialEq for InstallCargoPluginInfo"],["impl PartialEq for InstallCrateInfo"],["impl PartialEq for InstallRustupComponentInfo"],["impl PartialEq for TaskIdentifier"],["impl PartialEq for TestArg"],["impl PartialEq for ToolchainBoundedSpecifier"],["impl PartialEq for WatchOptions"],["impl<T: PartialEq> PartialEq for MaybeArray<T>"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl PartialEq for CargoMakeErrorDiscriminants"],["impl PartialEq for ConditionType"],["impl PartialEq for DependencyIdentifier"],["impl PartialEq for DeprecationInfo"],["impl PartialEq for InstallCrate"],["impl PartialEq for RunTaskName"],["impl PartialEq for TaskWatchOptions"],["impl PartialEq for ToolchainSpecifier"],["impl PartialEq for UnstableFeature"],["impl PartialEq for InstallCargoPluginInfo"],["impl PartialEq for InstallCrateInfo"],["impl PartialEq for InstallRustupComponentInfo"],["impl PartialEq for TaskIdentifier"],["impl PartialEq for TestArg"],["impl PartialEq for ToolchainBoundedSpecifier"],["impl PartialEq for WatchOptions"],["impl<T: PartialEq> PartialEq for MaybeArray<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[5079]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/convert/trait.AsRef.js b/docs/api/trait.impl/core/convert/trait.AsRef.js index 3dc080c5..5acecf92 100644 --- a/docs/api/trait.impl/core/convert/trait.AsRef.js +++ b/docs/api/trait.impl/core/convert/trait.AsRef.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl AsRef<str> for CargoMakeError"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl AsRef<str> for CargoMakeError"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[388]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/convert/trait.From.js b/docs/api/trait.impl/core/convert/trait.From.js index 723c3e72..881c4649 100644 --- a/docs/api/trait.impl/core/convert/trait.From.js +++ b/docs/api/trait.impl/core/convert/trait.From.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl From<&str> for DependencyIdentifier"],["impl From<&str> for ToolchainSpecifier"],["impl From<CargoMakeError> for &'static str"],["impl From<CargoMakeError> for CargoMakeErrorDiscriminants"],["impl From<String> for ToolchainSpecifier"],["impl From<Error> for CargoMakeError"],["impl From<Error> for CargoMakeError"],["impl From<ExitCode> for CargoMakeError"],["impl From<Error> for CargoMakeError"],["impl From<FsIOError> for CargoMakeError"],["impl From<ParserError> for CargoMakeError"],["impl<'_derivative_strum> From<&'_derivative_strum CargoMakeError> for &'static str"],["impl<'_enum> From<&'_enum CargoMakeError> for CargoMakeErrorDiscriminants"],["impl<T> From<Result<T, CargoMakeError>> for SuccessOrCargoMakeError<T>"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl From<&str> for DependencyIdentifier"],["impl From<&str> for ToolchainSpecifier"],["impl From<CargoMakeError> for &'static str"],["impl From<CargoMakeError> for CargoMakeErrorDiscriminants"],["impl From<String> for ToolchainSpecifier"],["impl From<Error> for CargoMakeError"],["impl From<Error> for CargoMakeError"],["impl From<ExitCode> for CargoMakeError"],["impl From<Error> for CargoMakeError"],["impl From<FsIOError> for CargoMakeError"],["impl From<ParserError> for CargoMakeError"],["impl<'_derivative_strum> From<&'_derivative_strum CargoMakeError> for &'static str"],["impl<'_enum> From<&'_enum CargoMakeError> for CargoMakeErrorDiscriminants"],["impl<T> From<Result<T, CargoMakeError>> for SuccessOrCargoMakeError<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[5695]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/convert/trait.Into.js b/docs/api/trait.impl/core/convert/trait.Into.js index ebba35bc..b42c296a 100644 --- a/docs/api/trait.impl/core/convert/trait.Into.js +++ b/docs/api/trait.impl/core/convert/trait.Into.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Into<TaskIdentifier> for DependencyIdentifier"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Into<TaskIdentifier> for DependencyIdentifier"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[435]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/default/trait.Default.js b/docs/api/trait.impl/core/default/trait.Default.js index 7035e4f2..65d35639 100644 --- a/docs/api/trait.impl/core/default/trait.Default.js +++ b/docs/api/trait.impl/core/default/trait.Default.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Default for Cache"],["impl Default for Config"],["impl Default for ConfigSection"],["impl Default for CrateInfo"],["impl Default for ExternalConfig"],["impl Default for FlowState"],["impl Default for GlobalConfig"],["impl Default for PackageInfo"],["impl Default for Task"],["impl Default for TaskCondition"],["impl Default for Workspace"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Default for Cache"],["impl Default for Config"],["impl Default for ConfigSection"],["impl Default for CrateInfo"],["impl Default for ExternalConfig"],["impl Default for FlowState"],["impl Default for GlobalConfig"],["impl Default for PackageInfo"],["impl Default for Task"],["impl Default for TaskCondition"],["impl Default for Workspace"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[3019]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/fmt/trait.Debug.js b/docs/api/trait.impl/core/fmt/trait.Debug.js index 13be07c1..29b8ef37 100644 --- a/docs/api/trait.impl/core/fmt/trait.Debug.js +++ b/docs/api/trait.impl/core/fmt/trait.Debug.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Debug for CargoMakeError"],["impl Debug for CargoMakeErrorDiscriminants"],["impl Debug for ConditionScriptValue"],["impl Debug for ConditionType"],["impl Debug for CrateDependency"],["impl Debug for DependencyIdentifier"],["impl Debug for DeprecationInfo"],["impl Debug for EnvFile"],["impl Debug for EnvValue"],["impl Debug for Extend"],["impl Debug for InstallCrate"],["impl Debug for RunTaskInfo"],["impl Debug for RunTaskName"],["impl Debug for ScriptValue"],["impl Debug for TaskWatchOptions"],["impl Debug for ToolchainSpecifier"],["impl Debug for UnstableFeature"],["impl Debug for Cache"],["impl Debug for CliArgs"],["impl Debug for CommandSpec"],["impl Debug for Config"],["impl Debug for ConfigSection"],["impl Debug for CrateDependencyInfo"],["impl Debug for CrateInfo"],["impl Debug for EnvFileInfo"],["impl Debug for EnvInfo"],["impl Debug for EnvValueConditioned"],["impl Debug for EnvValueDecode"],["impl Debug for EnvValuePathGlob"],["impl Debug for EnvValueScript"],["impl Debug for EnvValueUnset"],["impl Debug for ExecutionPlan"],["impl Debug for ExtendOptions"],["impl Debug for ExternalConfig"],["impl Debug for FileScriptValue"],["impl Debug for FilesFilesModifiedCondition"],["impl Debug for FlowInfo"],["impl Debug for FlowState"],["impl Debug for GlobalConfig"],["impl Debug for InstallCargoPluginInfo"],["impl Debug for InstallCrateInfo"],["impl Debug for InstallRustupComponentInfo"],["impl Debug for ModifyConfig"],["impl Debug for PackageInfo"],["impl Debug for PlatformOverrideTask"],["impl Debug for RunTaskDetails"],["impl Debug for RunTaskRoutingInfo"],["impl Debug for RustVersionCondition"],["impl Debug for ScriptSections"],["impl Debug for Step"],["impl Debug for Task"],["impl Debug for TaskCondition"],["impl Debug for TaskIdentifier"],["impl Debug for TestArg"],["impl Debug for ToolchainBoundedSpecifier"],["impl Debug for WatchOptions"],["impl Debug for Workspace"],["impl<T: Debug> Debug for MaybeArray<T>"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Debug for CargoMakeError"],["impl Debug for CargoMakeErrorDiscriminants"],["impl Debug for ConditionScriptValue"],["impl Debug for ConditionType"],["impl Debug for CrateDependency"],["impl Debug for DependencyIdentifier"],["impl Debug for DeprecationInfo"],["impl Debug for EnvFile"],["impl Debug for EnvValue"],["impl Debug for Extend"],["impl Debug for InstallCrate"],["impl Debug for RunTaskInfo"],["impl Debug for RunTaskName"],["impl Debug for ScriptValue"],["impl Debug for TaskWatchOptions"],["impl Debug for ToolchainSpecifier"],["impl Debug for UnstableFeature"],["impl Debug for Cache"],["impl Debug for CliArgs"],["impl Debug for CommandSpec"],["impl Debug for Config"],["impl Debug for ConfigSection"],["impl Debug for CrateDependencyInfo"],["impl Debug for CrateInfo"],["impl Debug for EnvFileInfo"],["impl Debug for EnvInfo"],["impl Debug for EnvValueConditioned"],["impl Debug for EnvValueDecode"],["impl Debug for EnvValuePathGlob"],["impl Debug for EnvValueScript"],["impl Debug for EnvValueUnset"],["impl Debug for ExecutionPlan"],["impl Debug for ExtendOptions"],["impl Debug for ExternalConfig"],["impl Debug for FileScriptValue"],["impl Debug for FilesFilesModifiedCondition"],["impl Debug for FlowInfo"],["impl Debug for FlowState"],["impl Debug for GlobalConfig"],["impl Debug for InstallCargoPluginInfo"],["impl Debug for InstallCrateInfo"],["impl Debug for InstallRustupComponentInfo"],["impl Debug for ModifyConfig"],["impl Debug for PackageInfo"],["impl Debug for PlatformOverrideTask"],["impl Debug for RunTaskDetails"],["impl Debug for RunTaskRoutingInfo"],["impl Debug for RustVersionCondition"],["impl Debug for ScriptSections"],["impl Debug for Step"],["impl Debug for Task"],["impl Debug for TaskCondition"],["impl Debug for TaskIdentifier"],["impl Debug for TestArg"],["impl Debug for ToolchainBoundedSpecifier"],["impl Debug for WatchOptions"],["impl Debug for Workspace"],["impl<T: Debug> Debug for MaybeArray<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[15804]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/fmt/trait.Display.js b/docs/api/trait.impl/core/fmt/trait.Display.js index 7775a665..e7ce0b29 100644 --- a/docs/api/trait.impl/core/fmt/trait.Display.js +++ b/docs/api/trait.impl/core/fmt/trait.Display.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Display for CargoMakeError"],["impl Display for ToolchainSpecifier"],["impl Display for TaskIdentifier"],["impl Display for ToolchainBoundedSpecifier"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Display for CargoMakeError"],["impl Display for ToolchainSpecifier"],["impl Display for TaskIdentifier"],["impl Display for ToolchainBoundedSpecifier"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[1158]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/hash/trait.Hash.js b/docs/api/trait.impl/core/hash/trait.Hash.js index 0c03056f..98315a3b 100644 --- a/docs/api/trait.impl/core/hash/trait.Hash.js +++ b/docs/api/trait.impl/core/hash/trait.Hash.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Hash for UnstableFeature"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Hash for UnstableFeature"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[278]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/marker/trait.Copy.js b/docs/api/trait.impl/core/marker/trait.Copy.js index ffe1ad60..c2fc252d 100644 --- a/docs/api/trait.impl/core/marker/trait.Copy.js +++ b/docs/api/trait.impl/core/marker/trait.Copy.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Copy for CargoMakeErrorDiscriminants"],["impl Copy for UnstableFeature"],["impl Copy for EnvValueUnset"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Copy for CargoMakeErrorDiscriminants"],["impl Copy for UnstableFeature"],["impl Copy for EnvValueUnset"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[864]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/marker/trait.Freeze.js b/docs/api/trait.impl/core/marker/trait.Freeze.js index 4a294865..ffca6a2d 100644 --- a/docs/api/trait.impl/core/marker/trait.Freeze.js +++ b/docs/api/trait.impl/core/marker/trait.Freeze.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Freeze for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl Freeze for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl Freeze for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl Freeze for ConditionType",1,["cli::types::ConditionType"]],["impl Freeze for CrateDependency",1,["cli::types::CrateDependency"]],["impl Freeze for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl Freeze for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl Freeze for EnvFile",1,["cli::types::EnvFile"]],["impl Freeze for EnvValue",1,["cli::types::EnvValue"]],["impl Freeze for Extend",1,["cli::types::Extend"]],["impl Freeze for InstallCrate",1,["cli::types::InstallCrate"]],["impl Freeze for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl Freeze for RunTaskName",1,["cli::types::RunTaskName"]],["impl Freeze for ScriptValue",1,["cli::types::ScriptValue"]],["impl Freeze for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl Freeze for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl Freeze for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl Freeze for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl Freeze for Cache",1,["cli::types::Cache"]],["impl Freeze for CliArgs",1,["cli::types::CliArgs"]],["impl Freeze for CommandSpec",1,["cli::types::CommandSpec"]],["impl Freeze for Config",1,["cli::types::Config"]],["impl Freeze for ConfigSection",1,["cli::types::ConfigSection"]],["impl Freeze for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl Freeze for CrateInfo",1,["cli::types::CrateInfo"]],["impl Freeze for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl Freeze for EnvInfo",1,["cli::types::EnvInfo"]],["impl Freeze for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl Freeze for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl Freeze for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl Freeze for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl Freeze for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl Freeze for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl Freeze for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl Freeze for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl Freeze for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl Freeze for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl Freeze for FlowInfo",1,["cli::types::FlowInfo"]],["impl Freeze for FlowState",1,["cli::types::FlowState"]],["impl Freeze for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl Freeze for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl Freeze for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl Freeze for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl Freeze for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl Freeze for PackageInfo",1,["cli::types::PackageInfo"]],["impl Freeze for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl Freeze for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl Freeze for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl Freeze for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl Freeze for ScriptSections",1,["cli::types::ScriptSections"]],["impl Freeze for Step",1,["cli::types::Step"]],["impl Freeze for Task",1,["cli::types::Task"]],["impl Freeze for TaskCondition",1,["cli::types::TaskCondition"]],["impl Freeze for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl Freeze for TestArg",1,["cli::types::TestArg"]],["impl Freeze for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl Freeze for WatchOptions",1,["cli::types::WatchOptions"]],["impl Freeze for Workspace",1,["cli::types::Workspace"]],["impl<T> Freeze for SuccessOrCargoMakeError<T>
    where\n T: Freeze,
    ",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> Freeze for MaybeArray<T>
    where\n T: Freeze,
    ",1,["cli::types::MaybeArray"]]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Freeze for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl Freeze for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl Freeze for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl Freeze for ConditionType",1,["cli::types::ConditionType"]],["impl Freeze for CrateDependency",1,["cli::types::CrateDependency"]],["impl Freeze for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl Freeze for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl Freeze for EnvFile",1,["cli::types::EnvFile"]],["impl Freeze for EnvValue",1,["cli::types::EnvValue"]],["impl Freeze for Extend",1,["cli::types::Extend"]],["impl Freeze for InstallCrate",1,["cli::types::InstallCrate"]],["impl Freeze for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl Freeze for RunTaskName",1,["cli::types::RunTaskName"]],["impl Freeze for ScriptValue",1,["cli::types::ScriptValue"]],["impl Freeze for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl Freeze for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl Freeze for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl Freeze for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl Freeze for Cache",1,["cli::types::Cache"]],["impl Freeze for CliArgs",1,["cli::types::CliArgs"]],["impl Freeze for CommandSpec",1,["cli::types::CommandSpec"]],["impl Freeze for Config",1,["cli::types::Config"]],["impl Freeze for ConfigSection",1,["cli::types::ConfigSection"]],["impl Freeze for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl Freeze for CrateInfo",1,["cli::types::CrateInfo"]],["impl Freeze for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl Freeze for EnvInfo",1,["cli::types::EnvInfo"]],["impl Freeze for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl Freeze for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl Freeze for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl Freeze for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl Freeze for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl Freeze for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl Freeze for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl Freeze for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl Freeze for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl Freeze for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl Freeze for FlowInfo",1,["cli::types::FlowInfo"]],["impl Freeze for FlowState",1,["cli::types::FlowState"]],["impl Freeze for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl Freeze for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl Freeze for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl Freeze for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl Freeze for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl Freeze for PackageInfo",1,["cli::types::PackageInfo"]],["impl Freeze for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl Freeze for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl Freeze for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl Freeze for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl Freeze for ScriptSections",1,["cli::types::ScriptSections"]],["impl Freeze for Step",1,["cli::types::Step"]],["impl Freeze for Task",1,["cli::types::Task"]],["impl Freeze for TaskCondition",1,["cli::types::TaskCondition"]],["impl Freeze for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl Freeze for TestArg",1,["cli::types::TestArg"]],["impl Freeze for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl Freeze for WatchOptions",1,["cli::types::WatchOptions"]],["impl Freeze for Workspace",1,["cli::types::Workspace"]],["impl<T> Freeze for SuccessOrCargoMakeError<T>
    where\n T: Freeze,
    ",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> Freeze for MaybeArray<T>
    where\n T: Freeze,
    ",1,["cli::types::MaybeArray"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[19120]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/marker/trait.Send.js b/docs/api/trait.impl/core/marker/trait.Send.js index c8f40704..a42c16a3 100644 --- a/docs/api/trait.impl/core/marker/trait.Send.js +++ b/docs/api/trait.impl/core/marker/trait.Send.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Send for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl Send for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl Send for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl Send for ConditionType",1,["cli::types::ConditionType"]],["impl Send for CrateDependency",1,["cli::types::CrateDependency"]],["impl Send for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl Send for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl Send for EnvFile",1,["cli::types::EnvFile"]],["impl Send for EnvValue",1,["cli::types::EnvValue"]],["impl Send for Extend",1,["cli::types::Extend"]],["impl Send for InstallCrate",1,["cli::types::InstallCrate"]],["impl Send for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl Send for RunTaskName",1,["cli::types::RunTaskName"]],["impl Send for ScriptValue",1,["cli::types::ScriptValue"]],["impl Send for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl Send for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl Send for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl Send for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl Send for Cache",1,["cli::types::Cache"]],["impl Send for CliArgs",1,["cli::types::CliArgs"]],["impl Send for CommandSpec",1,["cli::types::CommandSpec"]],["impl Send for Config",1,["cli::types::Config"]],["impl Send for ConfigSection",1,["cli::types::ConfigSection"]],["impl Send for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl Send for CrateInfo",1,["cli::types::CrateInfo"]],["impl Send for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl Send for EnvInfo",1,["cli::types::EnvInfo"]],["impl Send for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl Send for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl Send for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl Send for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl Send for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl Send for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl Send for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl Send for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl Send for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl Send for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl Send for FlowInfo",1,["cli::types::FlowInfo"]],["impl Send for FlowState",1,["cli::types::FlowState"]],["impl Send for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl Send for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl Send for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl Send for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl Send for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl Send for PackageInfo",1,["cli::types::PackageInfo"]],["impl Send for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl Send for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl Send for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl Send for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl Send for ScriptSections",1,["cli::types::ScriptSections"]],["impl Send for Step",1,["cli::types::Step"]],["impl Send for Task",1,["cli::types::Task"]],["impl Send for TaskCondition",1,["cli::types::TaskCondition"]],["impl Send for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl Send for TestArg",1,["cli::types::TestArg"]],["impl Send for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl Send for WatchOptions",1,["cli::types::WatchOptions"]],["impl Send for Workspace",1,["cli::types::Workspace"]],["impl<T> Send for SuccessOrCargoMakeError<T>
    where\n T: Send,
    ",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> Send for MaybeArray<T>
    where\n T: Send,
    ",1,["cli::types::MaybeArray"]]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Send for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl Send for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl Send for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl Send for ConditionType",1,["cli::types::ConditionType"]],["impl Send for CrateDependency",1,["cli::types::CrateDependency"]],["impl Send for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl Send for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl Send for EnvFile",1,["cli::types::EnvFile"]],["impl Send for EnvValue",1,["cli::types::EnvValue"]],["impl Send for Extend",1,["cli::types::Extend"]],["impl Send for InstallCrate",1,["cli::types::InstallCrate"]],["impl Send for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl Send for RunTaskName",1,["cli::types::RunTaskName"]],["impl Send for ScriptValue",1,["cli::types::ScriptValue"]],["impl Send for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl Send for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl Send for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl Send for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl Send for Cache",1,["cli::types::Cache"]],["impl Send for CliArgs",1,["cli::types::CliArgs"]],["impl Send for CommandSpec",1,["cli::types::CommandSpec"]],["impl Send for Config",1,["cli::types::Config"]],["impl Send for ConfigSection",1,["cli::types::ConfigSection"]],["impl Send for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl Send for CrateInfo",1,["cli::types::CrateInfo"]],["impl Send for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl Send for EnvInfo",1,["cli::types::EnvInfo"]],["impl Send for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl Send for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl Send for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl Send for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl Send for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl Send for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl Send for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl Send for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl Send for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl Send for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl Send for FlowInfo",1,["cli::types::FlowInfo"]],["impl Send for FlowState",1,["cli::types::FlowState"]],["impl Send for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl Send for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl Send for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl Send for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl Send for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl Send for PackageInfo",1,["cli::types::PackageInfo"]],["impl Send for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl Send for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl Send for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl Send for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl Send for ScriptSections",1,["cli::types::ScriptSections"]],["impl Send for Step",1,["cli::types::Step"]],["impl Send for Task",1,["cli::types::Task"]],["impl Send for TaskCondition",1,["cli::types::TaskCondition"]],["impl Send for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl Send for TestArg",1,["cli::types::TestArg"]],["impl Send for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl Send for WatchOptions",1,["cli::types::WatchOptions"]],["impl Send for Workspace",1,["cli::types::Workspace"]],["impl<T> Send for SuccessOrCargoMakeError<T>
    where\n T: Send,
    ",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> Send for MaybeArray<T>
    where\n T: Send,
    ",1,["cli::types::MaybeArray"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[18748]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/marker/trait.StructuralPartialEq.js b/docs/api/trait.impl/core/marker/trait.StructuralPartialEq.js index b9b751ec..e01e536b 100644 --- a/docs/api/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/docs/api/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl StructuralPartialEq for CargoMakeErrorDiscriminants"],["impl StructuralPartialEq for ConditionType"],["impl StructuralPartialEq for DependencyIdentifier"],["impl StructuralPartialEq for RunTaskName"],["impl StructuralPartialEq for ToolchainSpecifier"],["impl StructuralPartialEq for UnstableFeature"],["impl StructuralPartialEq for TaskIdentifier"],["impl StructuralPartialEq for TestArg"],["impl StructuralPartialEq for ToolchainBoundedSpecifier"],["impl<T> StructuralPartialEq for MaybeArray<T>"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl StructuralPartialEq for CargoMakeErrorDiscriminants"],["impl StructuralPartialEq for ConditionType"],["impl StructuralPartialEq for DependencyIdentifier"],["impl StructuralPartialEq for RunTaskName"],["impl StructuralPartialEq for ToolchainSpecifier"],["impl StructuralPartialEq for UnstableFeature"],["impl StructuralPartialEq for TaskIdentifier"],["impl StructuralPartialEq for TestArg"],["impl StructuralPartialEq for ToolchainBoundedSpecifier"],["impl<T> StructuralPartialEq for MaybeArray<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[3255]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/marker/trait.Sync.js b/docs/api/trait.impl/core/marker/trait.Sync.js index 363161aa..9c8cee66 100644 --- a/docs/api/trait.impl/core/marker/trait.Sync.js +++ b/docs/api/trait.impl/core/marker/trait.Sync.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Sync for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl Sync for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl Sync for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl Sync for ConditionType",1,["cli::types::ConditionType"]],["impl Sync for CrateDependency",1,["cli::types::CrateDependency"]],["impl Sync for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl Sync for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl Sync for EnvFile",1,["cli::types::EnvFile"]],["impl Sync for EnvValue",1,["cli::types::EnvValue"]],["impl Sync for Extend",1,["cli::types::Extend"]],["impl Sync for InstallCrate",1,["cli::types::InstallCrate"]],["impl Sync for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl Sync for RunTaskName",1,["cli::types::RunTaskName"]],["impl Sync for ScriptValue",1,["cli::types::ScriptValue"]],["impl Sync for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl Sync for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl Sync for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl Sync for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl Sync for Cache",1,["cli::types::Cache"]],["impl Sync for CliArgs",1,["cli::types::CliArgs"]],["impl Sync for CommandSpec",1,["cli::types::CommandSpec"]],["impl Sync for Config",1,["cli::types::Config"]],["impl Sync for ConfigSection",1,["cli::types::ConfigSection"]],["impl Sync for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl Sync for CrateInfo",1,["cli::types::CrateInfo"]],["impl Sync for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl Sync for EnvInfo",1,["cli::types::EnvInfo"]],["impl Sync for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl Sync for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl Sync for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl Sync for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl Sync for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl Sync for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl Sync for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl Sync for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl Sync for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl Sync for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl Sync for FlowInfo",1,["cli::types::FlowInfo"]],["impl Sync for FlowState",1,["cli::types::FlowState"]],["impl Sync for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl Sync for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl Sync for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl Sync for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl Sync for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl Sync for PackageInfo",1,["cli::types::PackageInfo"]],["impl Sync for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl Sync for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl Sync for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl Sync for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl Sync for ScriptSections",1,["cli::types::ScriptSections"]],["impl Sync for Step",1,["cli::types::Step"]],["impl Sync for Task",1,["cli::types::Task"]],["impl Sync for TaskCondition",1,["cli::types::TaskCondition"]],["impl Sync for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl Sync for TestArg",1,["cli::types::TestArg"]],["impl Sync for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl Sync for WatchOptions",1,["cli::types::WatchOptions"]],["impl Sync for Workspace",1,["cli::types::Workspace"]],["impl<T> Sync for SuccessOrCargoMakeError<T>
    where\n T: Sync,
    ",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> Sync for MaybeArray<T>
    where\n T: Sync,
    ",1,["cli::types::MaybeArray"]]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Sync for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl Sync for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl Sync for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl Sync for ConditionType",1,["cli::types::ConditionType"]],["impl Sync for CrateDependency",1,["cli::types::CrateDependency"]],["impl Sync for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl Sync for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl Sync for EnvFile",1,["cli::types::EnvFile"]],["impl Sync for EnvValue",1,["cli::types::EnvValue"]],["impl Sync for Extend",1,["cli::types::Extend"]],["impl Sync for InstallCrate",1,["cli::types::InstallCrate"]],["impl Sync for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl Sync for RunTaskName",1,["cli::types::RunTaskName"]],["impl Sync for ScriptValue",1,["cli::types::ScriptValue"]],["impl Sync for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl Sync for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl Sync for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl Sync for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl Sync for Cache",1,["cli::types::Cache"]],["impl Sync for CliArgs",1,["cli::types::CliArgs"]],["impl Sync for CommandSpec",1,["cli::types::CommandSpec"]],["impl Sync for Config",1,["cli::types::Config"]],["impl Sync for ConfigSection",1,["cli::types::ConfigSection"]],["impl Sync for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl Sync for CrateInfo",1,["cli::types::CrateInfo"]],["impl Sync for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl Sync for EnvInfo",1,["cli::types::EnvInfo"]],["impl Sync for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl Sync for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl Sync for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl Sync for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl Sync for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl Sync for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl Sync for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl Sync for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl Sync for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl Sync for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl Sync for FlowInfo",1,["cli::types::FlowInfo"]],["impl Sync for FlowState",1,["cli::types::FlowState"]],["impl Sync for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl Sync for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl Sync for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl Sync for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl Sync for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl Sync for PackageInfo",1,["cli::types::PackageInfo"]],["impl Sync for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl Sync for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl Sync for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl Sync for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl Sync for ScriptSections",1,["cli::types::ScriptSections"]],["impl Sync for Step",1,["cli::types::Step"]],["impl Sync for Task",1,["cli::types::Task"]],["impl Sync for TaskCondition",1,["cli::types::TaskCondition"]],["impl Sync for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl Sync for TestArg",1,["cli::types::TestArg"]],["impl Sync for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl Sync for WatchOptions",1,["cli::types::WatchOptions"]],["impl Sync for Workspace",1,["cli::types::Workspace"]],["impl<T> Sync for SuccessOrCargoMakeError<T>
    where\n T: Sync,
    ",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> Sync for MaybeArray<T>
    where\n T: Sync,
    ",1,["cli::types::MaybeArray"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[18748]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/marker/trait.Unpin.js b/docs/api/trait.impl/core/marker/trait.Unpin.js index ad01c0e2..0e22e762 100644 --- a/docs/api/trait.impl/core/marker/trait.Unpin.js +++ b/docs/api/trait.impl/core/marker/trait.Unpin.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Unpin for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl Unpin for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl Unpin for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl Unpin for ConditionType",1,["cli::types::ConditionType"]],["impl Unpin for CrateDependency",1,["cli::types::CrateDependency"]],["impl Unpin for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl Unpin for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl Unpin for EnvFile",1,["cli::types::EnvFile"]],["impl Unpin for EnvValue",1,["cli::types::EnvValue"]],["impl Unpin for Extend",1,["cli::types::Extend"]],["impl Unpin for InstallCrate",1,["cli::types::InstallCrate"]],["impl Unpin for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl Unpin for RunTaskName",1,["cli::types::RunTaskName"]],["impl Unpin for ScriptValue",1,["cli::types::ScriptValue"]],["impl Unpin for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl Unpin for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl Unpin for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl Unpin for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl Unpin for Cache",1,["cli::types::Cache"]],["impl Unpin for CliArgs",1,["cli::types::CliArgs"]],["impl Unpin for CommandSpec",1,["cli::types::CommandSpec"]],["impl Unpin for Config",1,["cli::types::Config"]],["impl Unpin for ConfigSection",1,["cli::types::ConfigSection"]],["impl Unpin for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl Unpin for CrateInfo",1,["cli::types::CrateInfo"]],["impl Unpin for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl Unpin for EnvInfo",1,["cli::types::EnvInfo"]],["impl Unpin for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl Unpin for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl Unpin for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl Unpin for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl Unpin for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl Unpin for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl Unpin for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl Unpin for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl Unpin for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl Unpin for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl Unpin for FlowInfo",1,["cli::types::FlowInfo"]],["impl Unpin for FlowState",1,["cli::types::FlowState"]],["impl Unpin for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl Unpin for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl Unpin for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl Unpin for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl Unpin for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl Unpin for PackageInfo",1,["cli::types::PackageInfo"]],["impl Unpin for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl Unpin for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl Unpin for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl Unpin for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl Unpin for ScriptSections",1,["cli::types::ScriptSections"]],["impl Unpin for Step",1,["cli::types::Step"]],["impl Unpin for Task",1,["cli::types::Task"]],["impl Unpin for TaskCondition",1,["cli::types::TaskCondition"]],["impl Unpin for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl Unpin for TestArg",1,["cli::types::TestArg"]],["impl Unpin for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl Unpin for WatchOptions",1,["cli::types::WatchOptions"]],["impl Unpin for Workspace",1,["cli::types::Workspace"]],["impl<T> Unpin for SuccessOrCargoMakeError<T>
    where\n T: Unpin,
    ",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> Unpin for MaybeArray<T>
    where\n T: Unpin,
    ",1,["cli::types::MaybeArray"]]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Unpin for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl Unpin for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl Unpin for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl Unpin for ConditionType",1,["cli::types::ConditionType"]],["impl Unpin for CrateDependency",1,["cli::types::CrateDependency"]],["impl Unpin for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl Unpin for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl Unpin for EnvFile",1,["cli::types::EnvFile"]],["impl Unpin for EnvValue",1,["cli::types::EnvValue"]],["impl Unpin for Extend",1,["cli::types::Extend"]],["impl Unpin for InstallCrate",1,["cli::types::InstallCrate"]],["impl Unpin for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl Unpin for RunTaskName",1,["cli::types::RunTaskName"]],["impl Unpin for ScriptValue",1,["cli::types::ScriptValue"]],["impl Unpin for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl Unpin for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl Unpin for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl Unpin for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl Unpin for Cache",1,["cli::types::Cache"]],["impl Unpin for CliArgs",1,["cli::types::CliArgs"]],["impl Unpin for CommandSpec",1,["cli::types::CommandSpec"]],["impl Unpin for Config",1,["cli::types::Config"]],["impl Unpin for ConfigSection",1,["cli::types::ConfigSection"]],["impl Unpin for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl Unpin for CrateInfo",1,["cli::types::CrateInfo"]],["impl Unpin for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl Unpin for EnvInfo",1,["cli::types::EnvInfo"]],["impl Unpin for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl Unpin for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl Unpin for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl Unpin for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl Unpin for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl Unpin for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl Unpin for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl Unpin for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl Unpin for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl Unpin for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl Unpin for FlowInfo",1,["cli::types::FlowInfo"]],["impl Unpin for FlowState",1,["cli::types::FlowState"]],["impl Unpin for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl Unpin for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl Unpin for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl Unpin for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl Unpin for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl Unpin for PackageInfo",1,["cli::types::PackageInfo"]],["impl Unpin for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl Unpin for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl Unpin for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl Unpin for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl Unpin for ScriptSections",1,["cli::types::ScriptSections"]],["impl Unpin for Step",1,["cli::types::Step"]],["impl Unpin for Task",1,["cli::types::Task"]],["impl Unpin for TaskCondition",1,["cli::types::TaskCondition"]],["impl Unpin for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl Unpin for TestArg",1,["cli::types::TestArg"]],["impl Unpin for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl Unpin for WatchOptions",1,["cli::types::WatchOptions"]],["impl Unpin for Workspace",1,["cli::types::Workspace"]],["impl<T> Unpin for SuccessOrCargoMakeError<T>
    where\n T: Unpin,
    ",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> Unpin for MaybeArray<T>
    where\n T: Unpin,
    ",1,["cli::types::MaybeArray"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[18934]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/ops/deref/trait.Deref.js b/docs/api/trait.impl/core/ops/deref/trait.Deref.js index 4796f526..a4db97be 100644 --- a/docs/api/trait.impl/core/ops/deref/trait.Deref.js +++ b/docs/api/trait.impl/core/ops/deref/trait.Deref.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Deref for TestArg"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Deref for TestArg"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[274]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/ops/deref/trait.DerefMut.js b/docs/api/trait.impl/core/ops/deref/trait.DerefMut.js index c0b168b6..38953bd5 100644 --- a/docs/api/trait.impl/core/ops/deref/trait.DerefMut.js +++ b/docs/api/trait.impl/core/ops/deref/trait.DerefMut.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl DerefMut for TestArg"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl DerefMut for TestArg"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[283]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/docs/api/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index dc7759d3..12a2846d 100644 --- a/docs/api/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/docs/api/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl !RefUnwindSafe for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl RefUnwindSafe for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl RefUnwindSafe for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl RefUnwindSafe for ConditionType",1,["cli::types::ConditionType"]],["impl RefUnwindSafe for CrateDependency",1,["cli::types::CrateDependency"]],["impl RefUnwindSafe for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl RefUnwindSafe for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl RefUnwindSafe for EnvFile",1,["cli::types::EnvFile"]],["impl RefUnwindSafe for EnvValue",1,["cli::types::EnvValue"]],["impl RefUnwindSafe for Extend",1,["cli::types::Extend"]],["impl RefUnwindSafe for InstallCrate",1,["cli::types::InstallCrate"]],["impl RefUnwindSafe for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl RefUnwindSafe for RunTaskName",1,["cli::types::RunTaskName"]],["impl RefUnwindSafe for ScriptValue",1,["cli::types::ScriptValue"]],["impl RefUnwindSafe for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl RefUnwindSafe for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl RefUnwindSafe for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl RefUnwindSafe for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl RefUnwindSafe for Cache",1,["cli::types::Cache"]],["impl RefUnwindSafe for CliArgs",1,["cli::types::CliArgs"]],["impl RefUnwindSafe for CommandSpec",1,["cli::types::CommandSpec"]],["impl RefUnwindSafe for Config",1,["cli::types::Config"]],["impl RefUnwindSafe for ConfigSection",1,["cli::types::ConfigSection"]],["impl RefUnwindSafe for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl RefUnwindSafe for CrateInfo",1,["cli::types::CrateInfo"]],["impl RefUnwindSafe for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl RefUnwindSafe for EnvInfo",1,["cli::types::EnvInfo"]],["impl RefUnwindSafe for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl RefUnwindSafe for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl RefUnwindSafe for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl RefUnwindSafe for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl RefUnwindSafe for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl RefUnwindSafe for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl RefUnwindSafe for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl RefUnwindSafe for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl RefUnwindSafe for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl RefUnwindSafe for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl RefUnwindSafe for FlowInfo",1,["cli::types::FlowInfo"]],["impl RefUnwindSafe for FlowState",1,["cli::types::FlowState"]],["impl RefUnwindSafe for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl RefUnwindSafe for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl RefUnwindSafe for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl RefUnwindSafe for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl RefUnwindSafe for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl RefUnwindSafe for PackageInfo",1,["cli::types::PackageInfo"]],["impl RefUnwindSafe for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl RefUnwindSafe for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl RefUnwindSafe for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl RefUnwindSafe for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl RefUnwindSafe for ScriptSections",1,["cli::types::ScriptSections"]],["impl RefUnwindSafe for Step",1,["cli::types::Step"]],["impl RefUnwindSafe for Task",1,["cli::types::Task"]],["impl RefUnwindSafe for TaskCondition",1,["cli::types::TaskCondition"]],["impl RefUnwindSafe for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl RefUnwindSafe for TestArg",1,["cli::types::TestArg"]],["impl RefUnwindSafe for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl RefUnwindSafe for WatchOptions",1,["cli::types::WatchOptions"]],["impl RefUnwindSafe for Workspace",1,["cli::types::Workspace"]],["impl<T> !RefUnwindSafe for SuccessOrCargoMakeError<T>",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> RefUnwindSafe for MaybeArray<T>
    where\n T: RefUnwindSafe,
    ",1,["cli::types::MaybeArray"]]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl !RefUnwindSafe for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl RefUnwindSafe for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl RefUnwindSafe for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl RefUnwindSafe for ConditionType",1,["cli::types::ConditionType"]],["impl RefUnwindSafe for CrateDependency",1,["cli::types::CrateDependency"]],["impl RefUnwindSafe for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl RefUnwindSafe for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl RefUnwindSafe for EnvFile",1,["cli::types::EnvFile"]],["impl RefUnwindSafe for EnvValue",1,["cli::types::EnvValue"]],["impl RefUnwindSafe for Extend",1,["cli::types::Extend"]],["impl RefUnwindSafe for InstallCrate",1,["cli::types::InstallCrate"]],["impl RefUnwindSafe for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl RefUnwindSafe for RunTaskName",1,["cli::types::RunTaskName"]],["impl RefUnwindSafe for ScriptValue",1,["cli::types::ScriptValue"]],["impl RefUnwindSafe for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl RefUnwindSafe for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl RefUnwindSafe for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl RefUnwindSafe for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl RefUnwindSafe for Cache",1,["cli::types::Cache"]],["impl RefUnwindSafe for CliArgs",1,["cli::types::CliArgs"]],["impl RefUnwindSafe for CommandSpec",1,["cli::types::CommandSpec"]],["impl RefUnwindSafe for Config",1,["cli::types::Config"]],["impl RefUnwindSafe for ConfigSection",1,["cli::types::ConfigSection"]],["impl RefUnwindSafe for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl RefUnwindSafe for CrateInfo",1,["cli::types::CrateInfo"]],["impl RefUnwindSafe for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl RefUnwindSafe for EnvInfo",1,["cli::types::EnvInfo"]],["impl RefUnwindSafe for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl RefUnwindSafe for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl RefUnwindSafe for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl RefUnwindSafe for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl RefUnwindSafe for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl RefUnwindSafe for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl RefUnwindSafe for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl RefUnwindSafe for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl RefUnwindSafe for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl RefUnwindSafe for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl RefUnwindSafe for FlowInfo",1,["cli::types::FlowInfo"]],["impl RefUnwindSafe for FlowState",1,["cli::types::FlowState"]],["impl RefUnwindSafe for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl RefUnwindSafe for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl RefUnwindSafe for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl RefUnwindSafe for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl RefUnwindSafe for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl RefUnwindSafe for PackageInfo",1,["cli::types::PackageInfo"]],["impl RefUnwindSafe for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl RefUnwindSafe for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl RefUnwindSafe for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl RefUnwindSafe for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl RefUnwindSafe for ScriptSections",1,["cli::types::ScriptSections"]],["impl RefUnwindSafe for Step",1,["cli::types::Step"]],["impl RefUnwindSafe for Task",1,["cli::types::Task"]],["impl RefUnwindSafe for TaskCondition",1,["cli::types::TaskCondition"]],["impl RefUnwindSafe for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl RefUnwindSafe for TestArg",1,["cli::types::TestArg"]],["impl RefUnwindSafe for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl RefUnwindSafe for WatchOptions",1,["cli::types::WatchOptions"]],["impl RefUnwindSafe for Workspace",1,["cli::types::Workspace"]],["impl<T> !RefUnwindSafe for SuccessOrCargoMakeError<T>",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> RefUnwindSafe for MaybeArray<T>
    where\n T: RefUnwindSafe,
    ",1,["cli::types::MaybeArray"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[21625]} \ No newline at end of file diff --git a/docs/api/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/docs/api/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 83d0aee0..daa03941 100644 --- a/docs/api/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/docs/api/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl !UnwindSafe for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl UnwindSafe for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl UnwindSafe for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl UnwindSafe for ConditionType",1,["cli::types::ConditionType"]],["impl UnwindSafe for CrateDependency",1,["cli::types::CrateDependency"]],["impl UnwindSafe for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl UnwindSafe for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl UnwindSafe for EnvFile",1,["cli::types::EnvFile"]],["impl UnwindSafe for EnvValue",1,["cli::types::EnvValue"]],["impl UnwindSafe for Extend",1,["cli::types::Extend"]],["impl UnwindSafe for InstallCrate",1,["cli::types::InstallCrate"]],["impl UnwindSafe for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl UnwindSafe for RunTaskName",1,["cli::types::RunTaskName"]],["impl UnwindSafe for ScriptValue",1,["cli::types::ScriptValue"]],["impl UnwindSafe for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl UnwindSafe for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl UnwindSafe for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl UnwindSafe for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl UnwindSafe for Cache",1,["cli::types::Cache"]],["impl UnwindSafe for CliArgs",1,["cli::types::CliArgs"]],["impl UnwindSafe for CommandSpec",1,["cli::types::CommandSpec"]],["impl UnwindSafe for Config",1,["cli::types::Config"]],["impl UnwindSafe for ConfigSection",1,["cli::types::ConfigSection"]],["impl UnwindSafe for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl UnwindSafe for CrateInfo",1,["cli::types::CrateInfo"]],["impl UnwindSafe for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl UnwindSafe for EnvInfo",1,["cli::types::EnvInfo"]],["impl UnwindSafe for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl UnwindSafe for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl UnwindSafe for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl UnwindSafe for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl UnwindSafe for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl UnwindSafe for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl UnwindSafe for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl UnwindSafe for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl UnwindSafe for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl UnwindSafe for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl UnwindSafe for FlowInfo",1,["cli::types::FlowInfo"]],["impl UnwindSafe for FlowState",1,["cli::types::FlowState"]],["impl UnwindSafe for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl UnwindSafe for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl UnwindSafe for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl UnwindSafe for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl UnwindSafe for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl UnwindSafe for PackageInfo",1,["cli::types::PackageInfo"]],["impl UnwindSafe for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl UnwindSafe for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl UnwindSafe for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl UnwindSafe for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl UnwindSafe for ScriptSections",1,["cli::types::ScriptSections"]],["impl UnwindSafe for Step",1,["cli::types::Step"]],["impl UnwindSafe for Task",1,["cli::types::Task"]],["impl UnwindSafe for TaskCondition",1,["cli::types::TaskCondition"]],["impl UnwindSafe for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl UnwindSafe for TestArg",1,["cli::types::TestArg"]],["impl UnwindSafe for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl UnwindSafe for WatchOptions",1,["cli::types::WatchOptions"]],["impl UnwindSafe for Workspace",1,["cli::types::Workspace"]],["impl<T> !UnwindSafe for SuccessOrCargoMakeError<T>",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> UnwindSafe for MaybeArray<T>
    where\n T: UnwindSafe,
    ",1,["cli::types::MaybeArray"]]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl !UnwindSafe for CargoMakeError",1,["cli::error::CargoMakeError"]],["impl UnwindSafe for CargoMakeErrorDiscriminants",1,["cli::error::CargoMakeErrorDiscriminants"]],["impl UnwindSafe for ConditionScriptValue",1,["cli::types::ConditionScriptValue"]],["impl UnwindSafe for ConditionType",1,["cli::types::ConditionType"]],["impl UnwindSafe for CrateDependency",1,["cli::types::CrateDependency"]],["impl UnwindSafe for DependencyIdentifier",1,["cli::types::DependencyIdentifier"]],["impl UnwindSafe for DeprecationInfo",1,["cli::types::DeprecationInfo"]],["impl UnwindSafe for EnvFile",1,["cli::types::EnvFile"]],["impl UnwindSafe for EnvValue",1,["cli::types::EnvValue"]],["impl UnwindSafe for Extend",1,["cli::types::Extend"]],["impl UnwindSafe for InstallCrate",1,["cli::types::InstallCrate"]],["impl UnwindSafe for RunTaskInfo",1,["cli::types::RunTaskInfo"]],["impl UnwindSafe for RunTaskName",1,["cli::types::RunTaskName"]],["impl UnwindSafe for ScriptValue",1,["cli::types::ScriptValue"]],["impl UnwindSafe for TaskWatchOptions",1,["cli::types::TaskWatchOptions"]],["impl UnwindSafe for ToolchainSpecifier",1,["cli::types::ToolchainSpecifier"]],["impl UnwindSafe for UnstableFeature",1,["cli::types::UnstableFeature"]],["impl UnwindSafe for LoggerOptions",1,["cli::logger::LoggerOptions"]],["impl UnwindSafe for Cache",1,["cli::types::Cache"]],["impl UnwindSafe for CliArgs",1,["cli::types::CliArgs"]],["impl UnwindSafe for CommandSpec",1,["cli::types::CommandSpec"]],["impl UnwindSafe for Config",1,["cli::types::Config"]],["impl UnwindSafe for ConfigSection",1,["cli::types::ConfigSection"]],["impl UnwindSafe for CrateDependencyInfo",1,["cli::types::CrateDependencyInfo"]],["impl UnwindSafe for CrateInfo",1,["cli::types::CrateInfo"]],["impl UnwindSafe for EnvFileInfo",1,["cli::types::EnvFileInfo"]],["impl UnwindSafe for EnvInfo",1,["cli::types::EnvInfo"]],["impl UnwindSafe for EnvValueConditioned",1,["cli::types::EnvValueConditioned"]],["impl UnwindSafe for EnvValueDecode",1,["cli::types::EnvValueDecode"]],["impl UnwindSafe for EnvValuePathGlob",1,["cli::types::EnvValuePathGlob"]],["impl UnwindSafe for EnvValueScript",1,["cli::types::EnvValueScript"]],["impl UnwindSafe for EnvValueUnset",1,["cli::types::EnvValueUnset"]],["impl UnwindSafe for ExecutionPlan",1,["cli::types::ExecutionPlan"]],["impl UnwindSafe for ExtendOptions",1,["cli::types::ExtendOptions"]],["impl UnwindSafe for ExternalConfig",1,["cli::types::ExternalConfig"]],["impl UnwindSafe for FileScriptValue",1,["cli::types::FileScriptValue"]],["impl UnwindSafe for FilesFilesModifiedCondition",1,["cli::types::FilesFilesModifiedCondition"]],["impl UnwindSafe for FlowInfo",1,["cli::types::FlowInfo"]],["impl UnwindSafe for FlowState",1,["cli::types::FlowState"]],["impl UnwindSafe for GlobalConfig",1,["cli::types::GlobalConfig"]],["impl UnwindSafe for InstallCargoPluginInfo",1,["cli::types::InstallCargoPluginInfo"]],["impl UnwindSafe for InstallCrateInfo",1,["cli::types::InstallCrateInfo"]],["impl UnwindSafe for InstallRustupComponentInfo",1,["cli::types::InstallRustupComponentInfo"]],["impl UnwindSafe for ModifyConfig",1,["cli::types::ModifyConfig"]],["impl UnwindSafe for PackageInfo",1,["cli::types::PackageInfo"]],["impl UnwindSafe for PlatformOverrideTask",1,["cli::types::PlatformOverrideTask"]],["impl UnwindSafe for RunTaskDetails",1,["cli::types::RunTaskDetails"]],["impl UnwindSafe for RunTaskRoutingInfo",1,["cli::types::RunTaskRoutingInfo"]],["impl UnwindSafe for RustVersionCondition",1,["cli::types::RustVersionCondition"]],["impl UnwindSafe for ScriptSections",1,["cli::types::ScriptSections"]],["impl UnwindSafe for Step",1,["cli::types::Step"]],["impl UnwindSafe for Task",1,["cli::types::Task"]],["impl UnwindSafe for TaskCondition",1,["cli::types::TaskCondition"]],["impl UnwindSafe for TaskIdentifier",1,["cli::types::TaskIdentifier"]],["impl UnwindSafe for TestArg",1,["cli::types::TestArg"]],["impl UnwindSafe for ToolchainBoundedSpecifier",1,["cli::types::ToolchainBoundedSpecifier"]],["impl UnwindSafe for WatchOptions",1,["cli::types::WatchOptions"]],["impl UnwindSafe for Workspace",1,["cli::types::Workspace"]],["impl<T> !UnwindSafe for SuccessOrCargoMakeError<T>",1,["cli::error::SuccessOrCargoMakeError"]],["impl<T> UnwindSafe for MaybeArray<T>
    where\n T: UnwindSafe,
    ",1,["cli::types::MaybeArray"]]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[21076]} \ No newline at end of file diff --git a/docs/api/trait.impl/serde/de/trait.Deserialize.js b/docs/api/trait.impl/serde/de/trait.Deserialize.js index be0a706e..55abc662 100644 --- a/docs/api/trait.impl/serde/de/trait.Deserialize.js +++ b/docs/api/trait.impl/serde/de/trait.Deserialize.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl<'de> Deserialize<'de> for ConditionScriptValue"],["impl<'de> Deserialize<'de> for ConditionType"],["impl<'de> Deserialize<'de> for CrateDependency"],["impl<'de> Deserialize<'de> for DependencyIdentifier"],["impl<'de> Deserialize<'de> for DeprecationInfo"],["impl<'de> Deserialize<'de> for EnvFile"],["impl<'de> Deserialize<'de> for EnvValue"],["impl<'de> Deserialize<'de> for Extend"],["impl<'de> Deserialize<'de> for InstallCrate"],["impl<'de> Deserialize<'de> for RunTaskInfo"],["impl<'de> Deserialize<'de> for RunTaskName"],["impl<'de> Deserialize<'de> for ScriptValue"],["impl<'de> Deserialize<'de> for TaskWatchOptions"],["impl<'de> Deserialize<'de> for ToolchainSpecifier"],["impl<'de> Deserialize<'de> for UnstableFeature"],["impl<'de> Deserialize<'de> for Cache"],["impl<'de> Deserialize<'de> for Config"],["impl<'de> Deserialize<'de> for ConfigSection"],["impl<'de> Deserialize<'de> for CrateDependencyInfo"],["impl<'de> Deserialize<'de> for CrateInfo"],["impl<'de> Deserialize<'de> for EnvFileInfo"],["impl<'de> Deserialize<'de> for EnvValueConditioned"],["impl<'de> Deserialize<'de> for EnvValueDecode"],["impl<'de> Deserialize<'de> for EnvValuePathGlob"],["impl<'de> Deserialize<'de> for EnvValueScript"],["impl<'de> Deserialize<'de> for EnvValueUnset"],["impl<'de> Deserialize<'de> for ExtendOptions"],["impl<'de> Deserialize<'de> for ExternalConfig"],["impl<'de> Deserialize<'de> for FileScriptValue"],["impl<'de> Deserialize<'de> for FilesFilesModifiedCondition"],["impl<'de> Deserialize<'de> for GlobalConfig"],["impl<'de> Deserialize<'de> for InstallCargoPluginInfo"],["impl<'de> Deserialize<'de> for InstallCrateInfo"],["impl<'de> Deserialize<'de> for InstallRustupComponentInfo"],["impl<'de> Deserialize<'de> for ModifyConfig"],["impl<'de> Deserialize<'de> for PackageInfo"],["impl<'de> Deserialize<'de> for PlatformOverrideTask"],["impl<'de> Deserialize<'de> for RunTaskDetails"],["impl<'de> Deserialize<'de> for RunTaskRoutingInfo"],["impl<'de> Deserialize<'de> for RustVersionCondition"],["impl<'de> Deserialize<'de> for ScriptSections"],["impl<'de> Deserialize<'de> for Task"],["impl<'de> Deserialize<'de> for TaskCondition"],["impl<'de> Deserialize<'de> for TaskIdentifier"],["impl<'de> Deserialize<'de> for TestArg"],["impl<'de> Deserialize<'de> for ToolchainBoundedSpecifier"],["impl<'de> Deserialize<'de> for WatchOptions"],["impl<'de> Deserialize<'de> for Workspace"],["impl<'de, T> Deserialize<'de> for MaybeArray<T>
    where\n T: Deserialize<'de>,
    "]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl<'de> Deserialize<'de> for ConditionScriptValue"],["impl<'de> Deserialize<'de> for ConditionType"],["impl<'de> Deserialize<'de> for CrateDependency"],["impl<'de> Deserialize<'de> for DependencyIdentifier"],["impl<'de> Deserialize<'de> for DeprecationInfo"],["impl<'de> Deserialize<'de> for EnvFile"],["impl<'de> Deserialize<'de> for EnvValue"],["impl<'de> Deserialize<'de> for Extend"],["impl<'de> Deserialize<'de> for InstallCrate"],["impl<'de> Deserialize<'de> for RunTaskInfo"],["impl<'de> Deserialize<'de> for RunTaskName"],["impl<'de> Deserialize<'de> for ScriptValue"],["impl<'de> Deserialize<'de> for TaskWatchOptions"],["impl<'de> Deserialize<'de> for ToolchainSpecifier"],["impl<'de> Deserialize<'de> for UnstableFeature"],["impl<'de> Deserialize<'de> for Cache"],["impl<'de> Deserialize<'de> for Config"],["impl<'de> Deserialize<'de> for ConfigSection"],["impl<'de> Deserialize<'de> for CrateDependencyInfo"],["impl<'de> Deserialize<'de> for CrateInfo"],["impl<'de> Deserialize<'de> for EnvFileInfo"],["impl<'de> Deserialize<'de> for EnvValueConditioned"],["impl<'de> Deserialize<'de> for EnvValueDecode"],["impl<'de> Deserialize<'de> for EnvValuePathGlob"],["impl<'de> Deserialize<'de> for EnvValueScript"],["impl<'de> Deserialize<'de> for EnvValueUnset"],["impl<'de> Deserialize<'de> for ExtendOptions"],["impl<'de> Deserialize<'de> for ExternalConfig"],["impl<'de> Deserialize<'de> for FileScriptValue"],["impl<'de> Deserialize<'de> for FilesFilesModifiedCondition"],["impl<'de> Deserialize<'de> for GlobalConfig"],["impl<'de> Deserialize<'de> for InstallCargoPluginInfo"],["impl<'de> Deserialize<'de> for InstallCrateInfo"],["impl<'de> Deserialize<'de> for InstallRustupComponentInfo"],["impl<'de> Deserialize<'de> for ModifyConfig"],["impl<'de> Deserialize<'de> for PackageInfo"],["impl<'de> Deserialize<'de> for PlatformOverrideTask"],["impl<'de> Deserialize<'de> for RunTaskDetails"],["impl<'de> Deserialize<'de> for RunTaskRoutingInfo"],["impl<'de> Deserialize<'de> for RustVersionCondition"],["impl<'de> Deserialize<'de> for ScriptSections"],["impl<'de> Deserialize<'de> for Task"],["impl<'de> Deserialize<'de> for TaskCondition"],["impl<'de> Deserialize<'de> for TaskIdentifier"],["impl<'de> Deserialize<'de> for TestArg"],["impl<'de> Deserialize<'de> for ToolchainBoundedSpecifier"],["impl<'de> Deserialize<'de> for WatchOptions"],["impl<'de> Deserialize<'de> for Workspace"],["impl<'de, T> Deserialize<'de> for MaybeArray<T>
    where\n T: Deserialize<'de>,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[15260]} \ No newline at end of file diff --git a/docs/api/trait.impl/serde/ser/trait.Serialize.js b/docs/api/trait.impl/serde/ser/trait.Serialize.js index 42411751..1796f1f4 100644 --- a/docs/api/trait.impl/serde/ser/trait.Serialize.js +++ b/docs/api/trait.impl/serde/ser/trait.Serialize.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Serialize for ConditionScriptValue"],["impl Serialize for ConditionType"],["impl Serialize for CrateDependency"],["impl Serialize for DependencyIdentifier"],["impl Serialize for DeprecationInfo"],["impl Serialize for EnvFile"],["impl Serialize for EnvValue"],["impl Serialize for Extend"],["impl Serialize for InstallCrate"],["impl Serialize for RunTaskInfo"],["impl Serialize for RunTaskName"],["impl Serialize for ScriptValue"],["impl Serialize for TaskWatchOptions"],["impl Serialize for ToolchainSpecifier"],["impl Serialize for UnstableFeature"],["impl Serialize for Cache"],["impl Serialize for Config"],["impl Serialize for ConfigSection"],["impl Serialize for CrateDependencyInfo"],["impl Serialize for EnvFileInfo"],["impl Serialize for EnvValueConditioned"],["impl Serialize for EnvValueDecode"],["impl Serialize for EnvValuePathGlob"],["impl Serialize for EnvValueScript"],["impl Serialize for EnvValueUnset"],["impl Serialize for ExtendOptions"],["impl Serialize for ExternalConfig"],["impl Serialize for FileScriptValue"],["impl Serialize for FilesFilesModifiedCondition"],["impl Serialize for GlobalConfig"],["impl Serialize for InstallCargoPluginInfo"],["impl Serialize for InstallCrateInfo"],["impl Serialize for InstallRustupComponentInfo"],["impl Serialize for ModifyConfig"],["impl Serialize for PackageInfo"],["impl Serialize for PlatformOverrideTask"],["impl Serialize for RunTaskDetails"],["impl Serialize for RunTaskRoutingInfo"],["impl Serialize for RustVersionCondition"],["impl Serialize for ScriptSections"],["impl Serialize for Step"],["impl Serialize for Task"],["impl Serialize for TaskCondition"],["impl Serialize for TaskIdentifier"],["impl Serialize for TestArg"],["impl Serialize for ToolchainBoundedSpecifier"],["impl Serialize for WatchOptions"],["impl Serialize for Workspace"],["impl<T> Serialize for MaybeArray<T>
    where\n T: Serialize,
    "]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Serialize for ConditionScriptValue"],["impl Serialize for ConditionType"],["impl Serialize for CrateDependency"],["impl Serialize for DependencyIdentifier"],["impl Serialize for DeprecationInfo"],["impl Serialize for EnvFile"],["impl Serialize for EnvValue"],["impl Serialize for Extend"],["impl Serialize for InstallCrate"],["impl Serialize for RunTaskInfo"],["impl Serialize for RunTaskName"],["impl Serialize for ScriptValue"],["impl Serialize for TaskWatchOptions"],["impl Serialize for ToolchainSpecifier"],["impl Serialize for UnstableFeature"],["impl Serialize for Cache"],["impl Serialize for Config"],["impl Serialize for ConfigSection"],["impl Serialize for CrateDependencyInfo"],["impl Serialize for EnvFileInfo"],["impl Serialize for EnvValueConditioned"],["impl Serialize for EnvValueDecode"],["impl Serialize for EnvValuePathGlob"],["impl Serialize for EnvValueScript"],["impl Serialize for EnvValueUnset"],["impl Serialize for ExtendOptions"],["impl Serialize for ExternalConfig"],["impl Serialize for FileScriptValue"],["impl Serialize for FilesFilesModifiedCondition"],["impl Serialize for GlobalConfig"],["impl Serialize for InstallCargoPluginInfo"],["impl Serialize for InstallCrateInfo"],["impl Serialize for InstallRustupComponentInfo"],["impl Serialize for ModifyConfig"],["impl Serialize for PackageInfo"],["impl Serialize for PlatformOverrideTask"],["impl Serialize for RunTaskDetails"],["impl Serialize for RunTaskRoutingInfo"],["impl Serialize for RustVersionCondition"],["impl Serialize for ScriptSections"],["impl Serialize for Step"],["impl Serialize for Task"],["impl Serialize for TaskCondition"],["impl Serialize for TaskIdentifier"],["impl Serialize for TestArg"],["impl Serialize for ToolchainBoundedSpecifier"],["impl Serialize for WatchOptions"],["impl Serialize for Workspace"],["impl<T> Serialize for MaybeArray<T>
    where\n T: Serialize,
    "]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[13962]} \ No newline at end of file diff --git a/docs/api/trait.impl/std/process/trait.Termination.js b/docs/api/trait.impl/std/process/trait.Termination.js index 3872f23b..7fc090d6 100644 --- a/docs/api/trait.impl/std/process/trait.Termination.js +++ b/docs/api/trait.impl/std/process/trait.Termination.js @@ -1,3 +1,9 @@ -(function() {var implementors = { -"cli":[["impl Termination for CargoMakeError"],["impl<T: Any> Termination for SuccessOrCargoMakeError<T>"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file +(function() { + var implementors = Object.fromEntries([["cli",[["impl Termination for CargoMakeError"],["impl<T: Any> Termination for SuccessOrCargoMakeError<T>"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[762]} \ No newline at end of file