Added Rust 1.66.0 (#1705)

* Added Rust 1.66.0

* Regenerate documentation
diff --git a/cargo/cargo_build_script_runner/bin.rs b/cargo/cargo_build_script_runner/bin.rs
index 9e40fef..9be28dc 100644
--- a/cargo/cargo_build_script_runner/bin.rs
+++ b/cargo/cargo_build_script_runner/bin.rs
@@ -32,7 +32,7 @@
     let exec_root = env::current_dir().expect("Failed to get current directory");
     let manifest_dir_env = env::var("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR was not set");
     let rustc_env = env::var("RUSTC").expect("RUSTC was not set");
-    let manifest_dir = exec_root.join(&manifest_dir_env);
+    let manifest_dir = exec_root.join(manifest_dir_env);
     let rustc = exec_root.join(&rustc_env);
     let Options {
         progname,
@@ -48,7 +48,7 @@
         input_dep_env_paths,
     } = parse_args()?;
 
-    let out_dir_abs = exec_root.join(&out_dir);
+    let out_dir_abs = exec_root.join(out_dir);
     // For some reason Google's RBE does not create the output directory, force create it.
     create_dir_all(&out_dir_abs)
         .unwrap_or_else(|_| panic!("Failed to make output directory: {:?}", out_dir_abs));
@@ -56,7 +56,7 @@
     let target_env_vars =
         get_target_env_vars(&rustc_env).expect("Error getting target env vars from rustc");
 
-    let mut command = Command::new(exec_root.join(&progname));
+    let mut command = Command::new(exec_root.join(progname));
     command
         .current_dir(&manifest_dir)
         .envs(target_env_vars)
diff --git a/crate_universe/src/context.rs b/crate_universe/src/context.rs
index 912cd80..e67706b 100644
--- a/crate_universe/src/context.rs
+++ b/crate_universe/src/context.rs
@@ -51,9 +51,8 @@
         let crates: BTreeMap<CrateId, CrateContext> = annotations
             .metadata
             .crates
-            .iter()
-            // Convert the crate annotations into more renderable contexts
-            .map(|(_, annotation)| {
+            .values()
+            .map(|annotation| {
                 let context = CrateContext::new(
                     annotation,
                     &annotations.metadata.packages,
@@ -281,8 +280,8 @@
     pub fn flat_workspace_member_deps(&self) -> BTreeMap<CrateId, Option<String>> {
         let workspace_member_dependencies: BTreeSet<CrateDependency> = self
             .workspace_members
-            .iter()
-            .map(|(id, _)| &self.crates[id])
+            .keys()
+            .map(|id| &self.crates[id])
             .flat_map(|ctx| {
                 // Build an interator of all dependency CrateIds.
                 // TODO: This expansion is horribly verbose and should be refactored but closures
diff --git a/crate_universe/src/rendering/template_engine.rs b/crate_universe/src/rendering/template_engine.rs
index 0c1c8ca..72982b3 100644
--- a/crate_universe/src/rendering/template_engine.rs
+++ b/crate_universe/src/rendering/template_engine.rs
@@ -239,8 +239,8 @@
         context.insert("context", ctx);
 
         ctx.crates
-            .iter()
-            .map(|(id, _)| {
+            .keys()
+            .map(|id| {
                 let aliases = ctx.crate_aliases(id, false, false);
                 let build_aliases = ctx.crate_aliases(id, true, false);
 
diff --git a/crate_universe/src/splicing/splicer.rs b/crate_universe/src/splicing/splicer.rs
index bc16a3c..50d9f71 100644
--- a/crate_universe/src/splicing/splicer.rs
+++ b/crate_universe/src/splicing/splicer.rs
@@ -396,7 +396,7 @@
                 fs::create_dir_all(&dot_cargo_dir)?;
             }
 
-            fs::copy(cargo_config_path, &dot_cargo_dir.join("config.toml"))?;
+            fs::copy(cargo_config_path, dot_cargo_dir.join("config.toml"))?;
         }
 
         Ok(())
@@ -488,8 +488,8 @@
         // Load all manifests
         let manifests = splicing_manifest
             .manifests
-            .iter()
-            .map(|(path, _)| {
+            .keys()
+            .map(|path| {
                 let m = read_manifest(path)
                     .with_context(|| format!("Failed to read manifest at {}", path.display()))?;
                 Ok((path.clone(), m))
@@ -615,7 +615,7 @@
     }
 
     // TODO(https://gitlab.com/crates.rs/cargo_toml/-/issues/3)
-    let value = toml::Value::try_from(&manifest)?;
+    let value = toml::Value::try_from(manifest)?;
     fs::write(path, toml::to_string(&value)?)
         .context(format!("Failed to write manifest to {}", path.display()))
 }
@@ -1165,7 +1165,7 @@
         fs::create_dir_all(external_manifest.parent().unwrap()).unwrap();
         fs::write(
             &external_manifest,
-            &textwrap::dedent(
+            textwrap::dedent(
                 r#"
                 [package]
                 name = "external_workspace_member"
@@ -1211,8 +1211,8 @@
 
         // Modify the root manifest to remove the rendered package
         fs::write(
-            &cache_dir.as_ref().join("Cargo.toml"),
-            &textwrap::dedent(
+            cache_dir.as_ref().join("Cargo.toml"),
+            textwrap::dedent(
                 r#"
                 [workspace]
                 members = [
diff --git a/crate_universe/src/utils/starlark/label.rs b/crate_universe/src/utils/starlark/label.rs
index be692e2..af1ed1f 100644
--- a/crate_universe/src/utils/starlark/label.rs
+++ b/crate_universe/src/utils/starlark/label.rs
@@ -304,8 +304,8 @@
         let actual_file = subdir.join("greatgrandchild");
         create_dir_all(subdir).unwrap();
         {
-            File::create(&workspace).unwrap();
-            File::create(&build_file).unwrap();
+            File::create(workspace).unwrap();
+            File::create(build_file).unwrap();
             File::create(&actual_file).unwrap();
         }
         let label = Label::from_absolute_path(&actual_file).unwrap();
@@ -322,7 +322,7 @@
         let actual_file = subdir.join("greatgrandchild");
         create_dir_all(subdir).unwrap();
         {
-            File::create(&build_file).unwrap();
+            File::create(build_file).unwrap();
             File::create(&actual_file).unwrap();
         }
         let err = Label::from_absolute_path(&actual_file)
@@ -340,7 +340,7 @@
         let actual_file = subdir.join("greatgrandchild");
         create_dir_all(subdir).unwrap();
         {
-            File::create(&workspace).unwrap();
+            File::create(workspace).unwrap();
             File::create(&actual_file).unwrap();
         }
         let err = Label::from_absolute_path(&actual_file)
diff --git a/docs/cargo.md b/docs/cargo.md
index b90a62e..6370a42 100644
--- a/docs/cargo.md
+++ b/docs/cargo.md
@@ -36,7 +36,7 @@
 | <a id="cargo_bootstrap_repository-rust_toolchain_rustc_template"></a>rust_toolchain_rustc_template |  The template to use for finding the host <code>rustc</code> binary. <code>{version}</code> (eg. '1.53.0'), <code>{triple}</code> (eg. 'x86_64-unknown-linux-gnu'), <code>{arch}</code> (eg. 'aarch64'), <code>{vendor}</code> (eg. 'unknown'), <code>{system}</code> (eg. 'darwin'), <code>{channel}</code> (eg. 'stable'), and <code>{tool}</code> (eg. 'rustc.exe') will be replaced in the string if present.   | String | optional | <code>"@rust_{system}_{arch}__{triple}__{channel}_tools//:bin/{tool}"</code> |
 | <a id="cargo_bootstrap_repository-srcs"></a>srcs |  Souce files of the crate to build. Passing source files here can be used to trigger rebuilds when changes are made   | <a href="https://bazel.build/concepts/labels">List of labels</a> | optional | <code>[]</code> |
 | <a id="cargo_bootstrap_repository-timeout"></a>timeout |  Maximum duration of the Cargo build command in seconds   | Integer | optional | <code>600</code> |
-| <a id="cargo_bootstrap_repository-version"></a>version |  The version of cargo the resolver should use   | String | optional | <code>"1.65.0"</code> |
+| <a id="cargo_bootstrap_repository-version"></a>version |  The version of cargo the resolver should use   | String | optional | <code>"1.66.0"</code> |
 
 
 <a id="cargo_dep_env"></a>
diff --git a/docs/crate_universe.md b/docs/crate_universe.md
index 0884ce2..ade8840 100644
--- a/docs/crate_universe.md
+++ b/docs/crate_universe.md
@@ -292,7 +292,7 @@
 | <a id="crates_repository-repo_mapping"></a>repo_mapping |  A dictionary from local repository name to global repository name. This allows controls over workspace dependency resolution for dependencies of this repository.&lt;p&gt;For example, an entry <code>"@foo": "@bar"</code> declares that, for any time this repository depends on <code>@foo</code> (such as a dependency on <code>@foo//some:target</code>, it should actually resolve that dependency within globally-declared <code>@bar</code> (<code>@bar//some:target</code>).   | <a href="https://bazel.build/rules/lib/dict">Dictionary: String -> String</a> | required |  |
 | <a id="crates_repository-rust_toolchain_cargo_template"></a>rust_toolchain_cargo_template |  The template to use for finding the host <code>cargo</code> binary. <code>{version}</code> (eg. '1.53.0'), <code>{triple}</code> (eg. 'x86_64-unknown-linux-gnu'), <code>{arch}</code> (eg. 'aarch64'), <code>{vendor}</code> (eg. 'unknown'), <code>{system}</code> (eg. 'darwin'), <code>{cfg}</code> (eg. 'exec'), <code>{channel}</code> (eg. 'stable'), and <code>{tool}</code> (eg. 'rustc.exe') will be replaced in the string if present.   | String | optional | <code>"@rust_{system}_{arch}__{triple}__{channel}_tools//:bin/{tool}"</code> |
 | <a id="crates_repository-rust_toolchain_rustc_template"></a>rust_toolchain_rustc_template |  The template to use for finding the host <code>rustc</code> binary. <code>{version}</code> (eg. '1.53.0'), <code>{triple}</code> (eg. 'x86_64-unknown-linux-gnu'), <code>{arch}</code> (eg. 'aarch64'), <code>{vendor}</code> (eg. 'unknown'), <code>{system}</code> (eg. 'darwin'), <code>{cfg}</code> (eg. 'exec'), <code>{channel}</code> (eg. 'stable'), and <code>{tool}</code> (eg. 'cargo.exe') will be replaced in the string if present.   | String | optional | <code>"@rust_{system}_{arch}__{triple}__{channel}_tools//:bin/{tool}"</code> |
-| <a id="crates_repository-rust_version"></a>rust_version |  The version of Rust the currently registered toolchain is using. Eg. <code>1.56.0</code>, or <code>nightly/2021-09-08</code>   | String | optional | <code>"1.65.0"</code> |
+| <a id="crates_repository-rust_version"></a>rust_version |  The version of Rust the currently registered toolchain is using. Eg. <code>1.56.0</code>, or <code>nightly/2021-09-08</code>   | String | optional | <code>"1.66.0"</code> |
 | <a id="crates_repository-splicing_config"></a>splicing_config |  The configuration flags to use for splicing Cargo maniests. Use <code>//crate_universe:defs.bzl\%rsplicing_config</code> to generate the value for this field. If unset, the defaults defined there will be used.   | String | optional | <code>""</code> |
 | <a id="crates_repository-supported_platform_triples"></a>supported_platform_triples |  A set of all platform triples to consider when generating dependencies.   | List of strings | optional | <code>["i686-apple-darwin", "i686-pc-windows-msvc", "i686-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-pc-windows-msvc", "x86_64-unknown-linux-gnu", "aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-pc-windows-msvc", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-unknown-linux-gnueabi", "armv7-linux-androideabi", "i686-linux-android", "i686-unknown-freebsd", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf"]</code> |
 
@@ -623,7 +623,7 @@
 
 | Name  | Description | Default Value |
 | :------------- | :------------- | :------------- |
-| <a id="crate_universe_dependencies-rust_version"></a>rust_version |  The version of rust to use when generating dependencies.   |  `"1.65.0"` |
+| <a id="crate_universe_dependencies-rust_version"></a>rust_version |  The version of rust to use when generating dependencies.   |  `"1.66.0"` |
 | <a id="crate_universe_dependencies-bootstrap"></a>bootstrap |  If true, a <code>cargo_bootstrap_repository</code> target will be generated.   |  `False` |
 
 
diff --git a/docs/flatten.md b/docs/flatten.md
index f93418a..bc02139 100644
--- a/docs/flatten.md
+++ b/docs/flatten.md
@@ -102,7 +102,7 @@
 | <a id="cargo_bootstrap_repository-rust_toolchain_rustc_template"></a>rust_toolchain_rustc_template |  The template to use for finding the host <code>rustc</code> binary. <code>{version}</code> (eg. '1.53.0'), <code>{triple}</code> (eg. 'x86_64-unknown-linux-gnu'), <code>{arch}</code> (eg. 'aarch64'), <code>{vendor}</code> (eg. 'unknown'), <code>{system}</code> (eg. 'darwin'), <code>{channel}</code> (eg. 'stable'), and <code>{tool}</code> (eg. 'rustc.exe') will be replaced in the string if present.   | String | optional | <code>"@rust_{system}_{arch}__{triple}__{channel}_tools//:bin/{tool}"</code> |
 | <a id="cargo_bootstrap_repository-srcs"></a>srcs |  Souce files of the crate to build. Passing source files here can be used to trigger rebuilds when changes are made   | <a href="https://bazel.build/concepts/labels">List of labels</a> | optional | <code>[]</code> |
 | <a id="cargo_bootstrap_repository-timeout"></a>timeout |  Maximum duration of the Cargo build command in seconds   | Integer | optional | <code>600</code> |
-| <a id="cargo_bootstrap_repository-version"></a>version |  The version of cargo the resolver should use   | String | optional | <code>"1.65.0"</code> |
+| <a id="cargo_bootstrap_repository-version"></a>version |  The version of cargo the resolver should use   | String | optional | <code>"1.66.0"</code> |
 
 
 <a id="cargo_dep_env"></a>
diff --git a/examples/crate_universe/cargo_aliases/cargo-bazel-lock.json b/examples/crate_universe/cargo_aliases/cargo-bazel-lock.json
index 3c4ebd8..2cb5c80 100644
--- a/examples/crate_universe/cargo_aliases/cargo-bazel-lock.json
+++ b/examples/crate_universe/cargo_aliases/cargo-bazel-lock.json
@@ -1,5 +1,5 @@
 {
-  "checksum": "6dcd6fba667c2a840bf66b00bccf9b13845e9f1fc9052d45a17e472e4dc449e2",
+  "checksum": "65c0eb8b3b139244ffb2542508ffa52acac2de117584247b90ab67c3bd9ba1ba",
   "crates": {
     "aho-corasick 0.7.20": {
       "name": "aho-corasick",
diff --git a/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json b/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json
index 0be5edb..375ed9a 100644
--- a/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json
+++ b/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json
@@ -1,5 +1,5 @@
 {
-  "checksum": "d4bb99369d5f0fa1d593884a4d0ced3d54c8b952d130be207b8b679fcb6ea19f",
+  "checksum": "b819ab7a9515daeda37fef72ae16248adc6932c0e099da7064a227fb0dd096d0",
   "crates": {
     "ansi_term 0.12.1": {
       "name": "ansi_term",
diff --git a/examples/crate_universe/multi_package/cargo-bazel-lock.json b/examples/crate_universe/multi_package/cargo-bazel-lock.json
index ce1810e..5b29f58 100644
--- a/examples/crate_universe/multi_package/cargo-bazel-lock.json
+++ b/examples/crate_universe/multi_package/cargo-bazel-lock.json
@@ -1,5 +1,5 @@
 {
-  "checksum": "e6c182632c28e4441c118b555f41b59a7232e59082e633fdc39f4331836e74a9",
+  "checksum": "0c935c42cf606198258d84ea1786a3186c83117c21fc2952d76059d41546602d",
   "crates": {
     "aho-corasick 0.7.20": {
       "name": "aho-corasick",
diff --git a/examples/crate_universe/no_cargo_manifests/cargo-bazel-lock.json b/examples/crate_universe/no_cargo_manifests/cargo-bazel-lock.json
index 844e11c..e106196 100644
--- a/examples/crate_universe/no_cargo_manifests/cargo-bazel-lock.json
+++ b/examples/crate_universe/no_cargo_manifests/cargo-bazel-lock.json
@@ -1,5 +1,5 @@
 {
-  "checksum": "65a10454f6e5293f5ff1bb6771bc382118c0b7caa6b14220ed2698c84d5ce536",
+  "checksum": "776479ec32348cbf58d045fceee729c2ac70cc3762e85c265995be0e59effd1e",
   "crates": {
     "async-trait 0.1.59": {
       "name": "async-trait",
diff --git a/examples/ios_build/WORKSPACE.bazel b/examples/ios_build/WORKSPACE.bazel
index 6805734..fbd5e4a 100644
--- a/examples/ios_build/WORKSPACE.bazel
+++ b/examples/ios_build/WORKSPACE.bazel
@@ -29,6 +29,7 @@
     # `generator` is not necessary in official releases.
     # See load satement for `cargo_bazel_bootstrap`.
     generator = "@cargo_bazel_bootstrap//:cargo-bazel",
+    isolated = False,
     lockfile = "//:cargo-bazel-lock.json",
     manifests = ["//:Cargo.toml"],
     splicing_config = splicing_config(
diff --git a/examples/ios_build/cargo-bazel-lock.json b/examples/ios_build/cargo-bazel-lock.json
index fed84a3..65a29f5 100644
--- a/examples/ios_build/cargo-bazel-lock.json
+++ b/examples/ios_build/cargo-bazel-lock.json
@@ -1,5 +1,5 @@
 {
-  "checksum": "a64dac953b35f3e09de8c81bd6d35b5d57c20f7e18c33ef8dd50bba33b975525",
+  "checksum": "4cf0cbe3b1870c2664b9e9cb3131b366ca35bacb548f07357958cf2030c8e0ea",
   "crates": {
     "cc 1.0.77": {
       "name": "cc",
diff --git a/rust/known_shas.bzl b/rust/known_shas.bzl
index 142d49c..fb19ce7 100644
--- a/rust/known_shas.bzl
+++ b/rust/known_shas.bzl
@@ -2974,6 +2974,140 @@
     "2022-11-02/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz": "4aaeed0608883732f392ea847cdbf4d4e7a6cda5d7d9f29ee2dd21900b552eb5",
     "2022-11-02/rustfmt-nightly-x86_64-unknown-linux-musl.tar.gz": "78e45dc8e0f9b5cb11812367bc9956b532f2afc61f1be668ab060da94568f5b4",
     "2022-11-02/rustfmt-nightly-x86_64-unknown-linux-musl.tar.xz": "ee5831d7df701038471e57859775777de8a631f93991c7597dde0d1c4006344e",
+    "2022-12-15/cargo-nightly-aarch64-apple-darwin.tar.gz": "ca8ff595c7a7ab5b9292f9d9765c09f8ab28c21253f82fd818d539311d1ad2bc",
+    "2022-12-15/cargo-nightly-aarch64-apple-darwin.tar.xz": "ce3bdeab0cdd143c53586c61fe541bf8f7572f39a9d2789f358fea345e55bbdb",
+    "2022-12-15/cargo-nightly-aarch64-pc-windows-msvc.tar.gz": "5f94be472672431aa059813e4df6cf1b355825170620199b2da0d2d430cc54ad",
+    "2022-12-15/cargo-nightly-aarch64-pc-windows-msvc.tar.xz": "c45c3d09bbd4aa74f763c1f1c51a689f080c36fa62f9aba18f1433fd845301c8",
+    "2022-12-15/cargo-nightly-aarch64-unknown-linux-gnu.tar.gz": "6f31b08f8c415fdd85fc5ece78f11e051e6032d50f430f268aa9af5ad378f38d",
+    "2022-12-15/cargo-nightly-aarch64-unknown-linux-gnu.tar.xz": "932d6150cb3e68b812cb8aba9b8af5e01cbe190a2f11ef32231b9b2704dc23ab",
+    "2022-12-15/cargo-nightly-aarch64-unknown-linux-musl.tar.gz": "398a1d0f722f031e1dc215684107dee7b4fe3c21c3f2a8683ac640bacc1261e5",
+    "2022-12-15/cargo-nightly-aarch64-unknown-linux-musl.tar.xz": "e51aab5f362b336727a7ac6d03369d5d7f9194f75a1f2d0390c6df9eac001b35",
+    "2022-12-15/cargo-nightly-x86_64-apple-darwin.tar.gz": "55dbd7fdfa04945c0db8cbcd445608fbc07c0b386f4489ef96ff6a410a745276",
+    "2022-12-15/cargo-nightly-x86_64-apple-darwin.tar.xz": "d8f87f98a2c66e1ac3d68c318fdda5965f6352c898ca3f6aa823005aa983f64a",
+    "2022-12-15/cargo-nightly-x86_64-pc-windows-msvc.tar.gz": "d5e3590cc3991cd408f08bc7d985a23cf0decb49bb9d1b4d2e03bbe893aafdd4",
+    "2022-12-15/cargo-nightly-x86_64-pc-windows-msvc.tar.xz": "8b33fbbe8e3b72da94bf8666f61ca3fcc2bca04c0086a8a8f08324a0097b8555",
+    "2022-12-15/cargo-nightly-x86_64-unknown-freebsd.tar.gz": "04db786b71d9a0707fe7cd086f64d50c8d1f2c4ce7806bceaed5134d27d52efd",
+    "2022-12-15/cargo-nightly-x86_64-unknown-freebsd.tar.xz": "7da502630e353e9ca423f9f06ffb156fc83248db731c3e6f13097d55fb821050",
+    "2022-12-15/cargo-nightly-x86_64-unknown-linux-gnu.tar.gz": "4b511f6e581af246a9284157df98bbb0dc3b3dda8399c33afa6febfd7fdd6e17",
+    "2022-12-15/cargo-nightly-x86_64-unknown-linux-gnu.tar.xz": "cc7a797979b2ed376b75420e17ac211fb748a243d2df526e4069d1d1db5045b1",
+    "2022-12-15/cargo-nightly-x86_64-unknown-linux-musl.tar.gz": "cc1b0d084044ff52d5f435aff3dadb80fb8114ee68dd415f73f24ffa88ad0105",
+    "2022-12-15/cargo-nightly-x86_64-unknown-linux-musl.tar.xz": "ecfc48dbe61ae76ddef7457ff583e9a9bc69307a7b37d0c9ba8c4d15399f4af5",
+    "2022-12-15/clippy-nightly-aarch64-apple-darwin.tar.gz": "3fb214e54cac91bccf6d201800e8e762bb12fa61f89a028a40180909109923c7",
+    "2022-12-15/clippy-nightly-aarch64-apple-darwin.tar.xz": "829de01162bfe4abd8327b4d5ac913f496c97afef3aab0779ac0e1164bed3437",
+    "2022-12-15/clippy-nightly-aarch64-pc-windows-msvc.tar.gz": "d27c2774c54fb515f805877ee11ba46daeb79650b88d402e4f081b9c8cf5aeeb",
+    "2022-12-15/clippy-nightly-aarch64-pc-windows-msvc.tar.xz": "109498c8cb95afc6d5c79f26e940bd2f632e9c03237e5432489b23561431257f",
+    "2022-12-15/clippy-nightly-aarch64-unknown-linux-gnu.tar.gz": "b3d76340ec6bd4e694dd00f6d5b4025bfedf3bb4767c6feb502aef162029bf5c",
+    "2022-12-15/clippy-nightly-aarch64-unknown-linux-gnu.tar.xz": "fc6c8062b11cc13128610c4ebe2af531f4a47919539c32a50b44eabb61442386",
+    "2022-12-15/clippy-nightly-aarch64-unknown-linux-musl.tar.gz": "b18e0932903738591cd29ec22258103d6c66c50022d545e1e701d8bf952c97d0",
+    "2022-12-15/clippy-nightly-aarch64-unknown-linux-musl.tar.xz": "20783cca7bf89aadd72ee5c5e1e3da1efd1de066ece5cece43e51a3971388bee",
+    "2022-12-15/clippy-nightly-x86_64-apple-darwin.tar.gz": "ef44046dbfeb2c37c56bebeaef241c0193500dff810de8122c1a8dd3fdc1b4cf",
+    "2022-12-15/clippy-nightly-x86_64-apple-darwin.tar.xz": "13deac3a0c1dab8c52cfdfcd9bde6564fd23e7344697f36d6605d031e887c84c",
+    "2022-12-15/clippy-nightly-x86_64-pc-windows-msvc.tar.gz": "604d0df1f7cd90082a70342ee338ba086d4d1745f3892685e05fe61c87e42cbf",
+    "2022-12-15/clippy-nightly-x86_64-pc-windows-msvc.tar.xz": "a50c3866756497f64232cb68bdc4a13361d33ac788761b0421998d176f54f07b",
+    "2022-12-15/clippy-nightly-x86_64-unknown-freebsd.tar.gz": "94647ee6eb0df0808121ff48cc2c21cbd5e86c9b482360825b3de1f094621e6b",
+    "2022-12-15/clippy-nightly-x86_64-unknown-freebsd.tar.xz": "7c965d3f327cd6b44948c91136159034e05f9035ee254bac13743dbc646699b5",
+    "2022-12-15/clippy-nightly-x86_64-unknown-linux-gnu.tar.gz": "5b15bb3e326f1f2c7da2961634f75ff72c58600becc287795dc234ad470ae513",
+    "2022-12-15/clippy-nightly-x86_64-unknown-linux-gnu.tar.xz": "b870685d1940c1cfb9dc9bd9b999e2743e97930957126f7e560f86a7454dc6a6",
+    "2022-12-15/clippy-nightly-x86_64-unknown-linux-musl.tar.gz": "97ad4763a0144a17a0331cd6793cfef2007fd1ef7035fe79231bb1371ee05287",
+    "2022-12-15/clippy-nightly-x86_64-unknown-linux-musl.tar.xz": "62f63f3a5b944ffabe31f242e3c644543da175c5560b0a1bc809d5affd23798a",
+    "2022-12-15/llvm-tools-nightly-aarch64-apple-darwin.tar.gz": "526e1ee71c12edbe40dd13592bd39a2530f4dd216362b24e8072b998a41c7f0e",
+    "2022-12-15/llvm-tools-nightly-aarch64-apple-darwin.tar.xz": "47a6b421e4801099ca9c82d2e1240362a984b40bad780f02c91919f355726f27",
+    "2022-12-15/llvm-tools-nightly-aarch64-pc-windows-msvc.tar.gz": "2856cb9bd4c4d1b5c704823fc48834ffd02c9d65d2192dacc3c94428c65b07a2",
+    "2022-12-15/llvm-tools-nightly-aarch64-pc-windows-msvc.tar.xz": "0fca62e50a1d9dc16aef8e9983eda7ea57cc768de4a2bec6fbfc93f441ca1081",
+    "2022-12-15/llvm-tools-nightly-aarch64-unknown-linux-gnu.tar.gz": "bfccb55d7e2cd38b7c9484435ec4241b76b1744308e4479959f5988df81fca10",
+    "2022-12-15/llvm-tools-nightly-aarch64-unknown-linux-gnu.tar.xz": "5eaa1c27ca70e00e3775e50427947b7919ccd9f1a4f5c1a63f3e97bbc6ab154b",
+    "2022-12-15/llvm-tools-nightly-aarch64-unknown-linux-musl.tar.gz": "c24d2d029e1f7efef8941f12df671cf1c6e6a38f35f55c7f573f17e5f15a9dfa",
+    "2022-12-15/llvm-tools-nightly-aarch64-unknown-linux-musl.tar.xz": "f32961a322ad3aa494eb664a4728e6d5cd95624812b35ee8c2d7b9091ea57c49",
+    "2022-12-15/llvm-tools-nightly-x86_64-apple-darwin.tar.gz": "bc6cf3474e1d92c8581e01041ef3d13b56975863cfa120635e02874581239a4d",
+    "2022-12-15/llvm-tools-nightly-x86_64-apple-darwin.tar.xz": "6938a1d7a6a3e53911ede5c1d0cd850c1c1504c3385c0de9acf2fc70e15fbc32",
+    "2022-12-15/llvm-tools-nightly-x86_64-pc-windows-msvc.tar.gz": "92f95b046f1e0ad45713d9e4965b253d650483de6dd54f6d64e017d577a55833",
+    "2022-12-15/llvm-tools-nightly-x86_64-pc-windows-msvc.tar.xz": "81822c9d3b30d1262afe4d4cfd1783573885f64058855d8da30282694fb10526",
+    "2022-12-15/llvm-tools-nightly-x86_64-unknown-freebsd.tar.gz": "af6708e0d92e3daf010fa78cf260440cd4f0fd3b094e257f3739fb0305fb54df",
+    "2022-12-15/llvm-tools-nightly-x86_64-unknown-freebsd.tar.xz": "78223a903fee00f7489804132ca3819f884d75b14517359101e3461e1ab513ac",
+    "2022-12-15/llvm-tools-nightly-x86_64-unknown-linux-gnu.tar.gz": "0c5831b7e9c2e99514d3d56ac5538a25565028ea7db4ae0367f9522117140a1e",
+    "2022-12-15/llvm-tools-nightly-x86_64-unknown-linux-gnu.tar.xz": "ed1f1b9e216901678de506fe074b190a4b13be422e70a6cd96636825866b329d",
+    "2022-12-15/llvm-tools-nightly-x86_64-unknown-linux-musl.tar.gz": "e28e99b444713c55463dcf5774367665f5e60b4dd1aee8d0d4f8be386d163a30",
+    "2022-12-15/llvm-tools-nightly-x86_64-unknown-linux-musl.tar.xz": "6e2821b69fe1e25179082f53018cf58e006798ca62b8b633fea2f44fc6bdb41a",
+    "2022-12-15/rust-nightly-aarch64-apple-darwin.tar.gz": "4293a8a42fffbc6c193410b8772a5a5ac0ef0d29b6f82bcdd7e4f1e119517146",
+    "2022-12-15/rust-nightly-aarch64-apple-darwin.tar.xz": "cf60c64aa882e5592925ab72c205ae9ce831ea5f4eb3dd84c9a4c5f2296ad124",
+    "2022-12-15/rust-nightly-aarch64-pc-windows-msvc.tar.gz": "c3cbebf5e9d7eca866ecfbf3de8cbe5caea34083e5985492c3c07d9392d2cbd0",
+    "2022-12-15/rust-nightly-aarch64-pc-windows-msvc.tar.xz": "2ae24a9ec847fd0306fcb63bf31b55b82dae9f0240a86a53e528ac51b7cfb4ea",
+    "2022-12-15/rust-nightly-aarch64-unknown-linux-gnu.tar.gz": "7c8de97995d1742530259d1c16ef40ea5c6548ad897cf7dec122381e00d9e05f",
+    "2022-12-15/rust-nightly-aarch64-unknown-linux-gnu.tar.xz": "702d01b7bf0e238822536a36ad896cb26bde5ba46c48111b239a3c34d4845c9b",
+    "2022-12-15/rust-nightly-aarch64-unknown-linux-musl.tar.gz": "718853c87ae1d8f675442bf2063672b4dec48ab6dc8a5667a74825009c43142f",
+    "2022-12-15/rust-nightly-aarch64-unknown-linux-musl.tar.xz": "8bbf898615de4ea5b8cd7ebc230583c484dbd8c25f762c4b871c324b42103a72",
+    "2022-12-15/rust-nightly-x86_64-apple-darwin.tar.gz": "6050e45027513353cc33189361b9eab3be61826650fbc04949e0af062e148372",
+    "2022-12-15/rust-nightly-x86_64-apple-darwin.tar.xz": "230f6ac29610c376d26450c2b559aeaac317552778db48e5cee3e3c19387bc01",
+    "2022-12-15/rust-nightly-x86_64-pc-windows-msvc.tar.gz": "88935c44fd47d6f8cf96b2d5a98a96697125abe68265606e095f51b0a48caee2",
+    "2022-12-15/rust-nightly-x86_64-pc-windows-msvc.tar.xz": "d97245a901c2a8d1cf49a5aec9870668954df177b1efdce986a1c73de7fc68c5",
+    "2022-12-15/rust-nightly-x86_64-unknown-freebsd.tar.gz": "7da32a177d2644bd0085a3291a5d4b073e99a1f525d38610c7f491b237c209f9",
+    "2022-12-15/rust-nightly-x86_64-unknown-freebsd.tar.xz": "e04f0dbbce675feeeb4c7a371ec851fba9d28d35d99aa0d0db771141ff92b5a2",
+    "2022-12-15/rust-nightly-x86_64-unknown-linux-gnu.tar.gz": "74979ff33d68bc72efb53eaf1063977d5ae2f04399a8d2f33f6bc299983eda24",
+    "2022-12-15/rust-nightly-x86_64-unknown-linux-gnu.tar.xz": "3d837bb9722d11bbee227037ab5fea611a87f022b65b447f2e6d4e5e16b1a411",
+    "2022-12-15/rust-nightly-x86_64-unknown-linux-musl.tar.gz": "6ca00892107bd4f4606be86c8c7c1bfcc87f633770b4637e7abb6392ae2f668d",
+    "2022-12-15/rust-nightly-x86_64-unknown-linux-musl.tar.xz": "e39c2a7db337a6c50c270f4f51fb66fa277c0fbe86e584358a2f857b894e57c0",
+    "2022-12-15/rust-std-nightly-aarch64-apple-darwin.tar.gz": "36284f2162ace10664e9d939ba99f1626f6d66dab77c2a293c71e5b1051e505e",
+    "2022-12-15/rust-std-nightly-aarch64-apple-darwin.tar.xz": "f665873e13f8305885843c8f3ae3b6a584b8206e15b5eaf9f100fe01efb9974b",
+    "2022-12-15/rust-std-nightly-aarch64-pc-windows-msvc.tar.gz": "a37775c312362746f00f25db18a379bdece73c6c0dff9bf1764c1051010756c2",
+    "2022-12-15/rust-std-nightly-aarch64-pc-windows-msvc.tar.xz": "ad624ce948eb4ce686083ff02140568676d3d6836e0da55f4590201fbbc13db2",
+    "2022-12-15/rust-std-nightly-aarch64-unknown-linux-gnu.tar.gz": "611ff9b725a4b14a731cac35cdb6d5edf105c0fe4f5a62347a48622de5e74ac9",
+    "2022-12-15/rust-std-nightly-aarch64-unknown-linux-gnu.tar.xz": "917c8e6eeb11e169a4c966bd3c38613b09c29ab57fedd893bb25a7cf755dd5f4",
+    "2022-12-15/rust-std-nightly-aarch64-unknown-linux-musl.tar.gz": "a80f9f94f48da1af73adb66ae4debf2fc3d7d43c9074a9042359a4bd8ce33d8c",
+    "2022-12-15/rust-std-nightly-aarch64-unknown-linux-musl.tar.xz": "f7855f6d74da041080b6430e8e8351e752da2586ee7abf2ea22a4937eb4e7db2",
+    "2022-12-15/rust-std-nightly-riscv32imc-unknown-none-elf.tar.gz": "00c43194ef3946497c05e1477d1e2583e0f4c6062ced38c389bd4a271921182d",
+    "2022-12-15/rust-std-nightly-riscv32imc-unknown-none-elf.tar.xz": "053b5b1b38a7f742fd6559dccb40d62038f3cb5dab26bca8476b7337e95ae793",
+    "2022-12-15/rust-std-nightly-riscv64gc-unknown-none-elf.tar.gz": "0312447fad748f08a4dc190523c5370cbc466f677ee245bd00614d59e81cb06c",
+    "2022-12-15/rust-std-nightly-riscv64gc-unknown-none-elf.tar.xz": "3194acbcb068cf014cd4bfcfc017233f547c0ae81507dc23ed8e447b0d96449e",
+    "2022-12-15/rust-std-nightly-wasm32-unknown-unknown.tar.gz": "aa0e1d2647913042d31221de174132ca7a71d9259cf9ee5a6dbcf96b272ae29b",
+    "2022-12-15/rust-std-nightly-wasm32-unknown-unknown.tar.xz": "7607b4c3dbe962f83abc0c12397a0bb4f25752d9ae79afa88ec2b7bb799a7423",
+    "2022-12-15/rust-std-nightly-wasm32-wasi.tar.gz": "d6d32b70bb09846537e410f07763767d2c9634716d0bc0a88af29e6cb69c68a0",
+    "2022-12-15/rust-std-nightly-wasm32-wasi.tar.xz": "5592712761843d2274c3be3772775a646714e72726c462338bf9d2521032c307",
+    "2022-12-15/rust-std-nightly-x86_64-apple-darwin.tar.gz": "efcd00858cb3e14216e5da4f8735789fa8673a6046d508d88dfd573f45cff04a",
+    "2022-12-15/rust-std-nightly-x86_64-apple-darwin.tar.xz": "70078c8077542476785126d226f6fbf42490d20f5ad3491cfa79e354f82126cf",
+    "2022-12-15/rust-std-nightly-x86_64-pc-windows-msvc.tar.gz": "f092ee5cc10f12b8f6c4f43f0271ac1ffe214f73bf98dde3dcd08753b2b81077",
+    "2022-12-15/rust-std-nightly-x86_64-pc-windows-msvc.tar.xz": "8d6980edd490c809f3c7ef10d1686167e72e43c6ab52c1f6961cc16d49a07705",
+    "2022-12-15/rust-std-nightly-x86_64-unknown-freebsd.tar.gz": "29320cb86de396fb240525520d4cf526e99795b2611eb67676ef714851565c54",
+    "2022-12-15/rust-std-nightly-x86_64-unknown-freebsd.tar.xz": "41a86b0dd34817093c95deeb1f5371d6b6b29d4af6e9f776d6c42940179d0eea",
+    "2022-12-15/rust-std-nightly-x86_64-unknown-linux-gnu.tar.gz": "f544b1779fd26bbefd83ddf11acc3f986293805f70e4f8330634ff2c1b7ff052",
+    "2022-12-15/rust-std-nightly-x86_64-unknown-linux-gnu.tar.xz": "3556a7f2fb123b6eb594ad2c88adc2cbfe09dbf58896f9a5fd670248bb520868",
+    "2022-12-15/rust-std-nightly-x86_64-unknown-linux-musl.tar.gz": "e197945d71f52d66803782cf387a986af9d6fbed204037bd111ad7e99cdc0f04",
+    "2022-12-15/rust-std-nightly-x86_64-unknown-linux-musl.tar.xz": "2da335bc5d316a9cb04e07aff8e637e3887a1f10b8679997e9af5511922330b3",
+    "2022-12-15/rustc-nightly-aarch64-apple-darwin.tar.gz": "033e6405367eae302e7a5f0f579409981b93d892e1ad8a6253ac766cdef58840",
+    "2022-12-15/rustc-nightly-aarch64-apple-darwin.tar.xz": "b9de3353a34eb6c42dedf3e8d8ed17ee106d78f20003dd5b5b599b393bf6defd",
+    "2022-12-15/rustc-nightly-aarch64-pc-windows-msvc.tar.gz": "2c2b131f1b56114cd77b25988595ea0ef9c49186dc6e27a61cdd2a62476043ca",
+    "2022-12-15/rustc-nightly-aarch64-pc-windows-msvc.tar.xz": "e7f15efa310064da61aa268d10855e9836683d7d82e226c2f25a2ad48ba3ec2d",
+    "2022-12-15/rustc-nightly-aarch64-unknown-linux-gnu.tar.gz": "22db05bcfb0303ae5be900a1936b9af264bb2051e84e7d7ae93427f7092a6399",
+    "2022-12-15/rustc-nightly-aarch64-unknown-linux-gnu.tar.xz": "afed0bae69b968c67f9dabc2dd051157b6f37a6e5fa8485f21b67524a035b256",
+    "2022-12-15/rustc-nightly-aarch64-unknown-linux-musl.tar.gz": "d9d6da9b89b4d32fdc8f9536a902e9f4778f206382314a98b17db3eb02681d89",
+    "2022-12-15/rustc-nightly-aarch64-unknown-linux-musl.tar.xz": "ff9ac0ae2e24a26a4f6f92d625b4e2449c89d2dd2c0b271d812db90686772e02",
+    "2022-12-15/rustc-nightly-x86_64-apple-darwin.tar.gz": "f16a600664bff491a63b05f8bb9dfe9b95a6e6472a8256fd66f0cc34ae9cad8f",
+    "2022-12-15/rustc-nightly-x86_64-apple-darwin.tar.xz": "010e520042e93b9e7bfa686ac3b2976e659464d212cd205e1364b18f5d299e81",
+    "2022-12-15/rustc-nightly-x86_64-pc-windows-msvc.tar.gz": "3ab57fa4d09168ed272526d12564c722f38819336b3dfc18e59d466cd28ae2ab",
+    "2022-12-15/rustc-nightly-x86_64-pc-windows-msvc.tar.xz": "62fac2a172931971dffdeb1d4e2836bf55e7ee4e602506cbd3655f8c23d23263",
+    "2022-12-15/rustc-nightly-x86_64-unknown-freebsd.tar.gz": "1d976431d5226c9b93e056c56171a00ceebe02fb22806c1c4ad5fc5b9ea667fb",
+    "2022-12-15/rustc-nightly-x86_64-unknown-freebsd.tar.xz": "df31b9041900c64fbb56988d60a583c587ed7b98417ede520d710f170e30c066",
+    "2022-12-15/rustc-nightly-x86_64-unknown-linux-gnu.tar.gz": "49eed9189c0550b3077507f45e222d0a5ca67666d4514470b0ce6a64ee70394a",
+    "2022-12-15/rustc-nightly-x86_64-unknown-linux-gnu.tar.xz": "ae87018695ec88a6f17940ad9faf06aeec09c54c7697e35231114df42d855b28",
+    "2022-12-15/rustc-nightly-x86_64-unknown-linux-musl.tar.gz": "212243e22c7925362310b0c70380c3c82e2d4619da86809307067788359bf527",
+    "2022-12-15/rustc-nightly-x86_64-unknown-linux-musl.tar.xz": "ed4991c4a9c82dea95e68b44e7a515f10f6d5cc9050314119a73039cb3a053d6",
+    "2022-12-15/rustfmt-nightly-aarch64-apple-darwin.tar.gz": "b33ba81978282744187a54a9e2f3df9de68d7bc88515997dc77b0c0decd8ca10",
+    "2022-12-15/rustfmt-nightly-aarch64-apple-darwin.tar.xz": "e99603ed1a7b79ac428afb66b5c229e5f7d585194f868f954a59802b38b3b584",
+    "2022-12-15/rustfmt-nightly-aarch64-pc-windows-msvc.tar.gz": "f33ff3e620afa88154afb3543c2c1a84d90ca50d0c2d342f9f052d8e89dc4a00",
+    "2022-12-15/rustfmt-nightly-aarch64-pc-windows-msvc.tar.xz": "2f15d270313837049957cbd3448a50ab3c131147411fb59ae77a459994452bcc",
+    "2022-12-15/rustfmt-nightly-aarch64-unknown-linux-gnu.tar.gz": "2742c313ccf1c41d1b0bab0b91a2fea01c15eab1ad1efd0bef985b40f8feddc4",
+    "2022-12-15/rustfmt-nightly-aarch64-unknown-linux-gnu.tar.xz": "d8229dfde0d5f69c180280ea76d946c03670b039828e4e14786bd33d9c464298",
+    "2022-12-15/rustfmt-nightly-aarch64-unknown-linux-musl.tar.gz": "a27473f7e5e57e691a40a338f7bdec8e8f5046f275c8dd9172d6926603f73e6e",
+    "2022-12-15/rustfmt-nightly-aarch64-unknown-linux-musl.tar.xz": "60f5c73702961b8942c77f32c5a500be28b7b9e672ec60fbbfd5be1be61a4769",
+    "2022-12-15/rustfmt-nightly-x86_64-apple-darwin.tar.gz": "747acc8cef0b5169d5c4043049fcab31e1390b2b9802afd7d0b51908c8bb72e1",
+    "2022-12-15/rustfmt-nightly-x86_64-apple-darwin.tar.xz": "cd9ce8e33f9627c13f56b8b6c751a6e7b632d7fc92d90ce500c80f4d75c483f2",
+    "2022-12-15/rustfmt-nightly-x86_64-pc-windows-msvc.tar.gz": "54e4f678567beaab83d9242770649cbd4fa0f4ba88f8ce50897b74ba4e2717b7",
+    "2022-12-15/rustfmt-nightly-x86_64-pc-windows-msvc.tar.xz": "07162698913eac18a870fcabb36c1866c98d6f59bbc027f1c0dd7d3606e21bb7",
+    "2022-12-15/rustfmt-nightly-x86_64-unknown-freebsd.tar.gz": "fbf21a42db6d4f9401ca60468111c02581f14068cfefa93bc8f0fbadec745593",
+    "2022-12-15/rustfmt-nightly-x86_64-unknown-freebsd.tar.xz": "a57162b66ae118eb852153e25aa95f936676c6fe740d8388db2e6537add6b672",
+    "2022-12-15/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.gz": "acd3084a6aef0faff825abd88f7113b1f8c0c2912777e4d56dc2bd713b1468c7",
+    "2022-12-15/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz": "171bf834de62254e145c5cda40e26b9995ebf723afa0f25dab6c02844bb370f4",
+    "2022-12-15/rustfmt-nightly-x86_64-unknown-linux-musl.tar.gz": "e83cf093d93b13ab6135ce4dd401c2f700c933cf71648764ec0c6ce17029a9e9",
+    "2022-12-15/rustfmt-nightly-x86_64-unknown-linux-musl.tar.xz": "f5531ce8da58d28bc39e32faac995f60769c404e4193366b25da15c6e2fe515b",
     "cargo-1.48.0-aarch64-unknown-linux-gnu.tar.gz": "71347016f0da96d4250225f7b52701274df958870b1a65482badb87d661035f9",
     "cargo-1.48.0-aarch64-unknown-linux-gnu.tar.xz": "9ea440709cf51cf28110847fd769e7fc937a01d03500edec5232408c4459fc80",
     "cargo-1.48.0-aarch64-unknown-linux-musl.tar.gz": "873883a9f6eb2e0cae7dafdc6c4262157298b7bc6ac5c3ed899ed1f55cad7e82",
@@ -3366,6 +3500,24 @@
     "cargo-1.65.0-x86_64-unknown-linux-gnu.tar.xz": "82547aacaf42fc3c2970ec31b96751dfbeba3dffe1a042a3780bd670c29a89bf",
     "cargo-1.65.0-x86_64-unknown-linux-musl.tar.gz": "43a7154520914663c0d291284621e40cf116ad3b5fea6274ea7cfdd4b9e7368f",
     "cargo-1.65.0-x86_64-unknown-linux-musl.tar.xz": "7b2b3632205310b867d8d70403aa7ea3a879972033442628fa59483e4ecf0d8b",
+    "cargo-1.66.0-aarch64-apple-darwin.tar.gz": "34c679fb81ab89d2f64fd4845661a05480b2feafc120ab4c2866807f62d39f4b",
+    "cargo-1.66.0-aarch64-apple-darwin.tar.xz": "ac059af1d5cf99dd02f9a5a7d16a425a5a82c60f63c86c63914e519de3ea0da4",
+    "cargo-1.66.0-aarch64-pc-windows-msvc.tar.gz": "39b06f7a6e2557de38e78b940cc2569cfde54e88cced0a5c4c4f25c436bea7aa",
+    "cargo-1.66.0-aarch64-pc-windows-msvc.tar.xz": "ba78e7f45d0286d4ded77c6802846ad0c6395da10105fe46fd2488b1b545ab76",
+    "cargo-1.66.0-aarch64-unknown-linux-gnu.tar.gz": "87c32a5281a96abd04dda530e12f03c845a2057e072f14a4f6f90aa4425f337c",
+    "cargo-1.66.0-aarch64-unknown-linux-gnu.tar.xz": "a3eab153986641f88c4c9bbee6d44cfea5d98f0467027d10dac88bdb271e9b0a",
+    "cargo-1.66.0-aarch64-unknown-linux-musl.tar.gz": "e74d6ce6054cebbfc1ef251d4ff9a957cad2707242c9dd2d412ece94a505697d",
+    "cargo-1.66.0-aarch64-unknown-linux-musl.tar.xz": "70051d335bc74a3b42b244c384b7af99e80d569c50cd4a07efa8ac191b88de15",
+    "cargo-1.66.0-x86_64-apple-darwin.tar.gz": "b5e3bee5a5c421426395b22ea6716e28321448b2a9194f8e4e5a75125bb69e09",
+    "cargo-1.66.0-x86_64-apple-darwin.tar.xz": "8393d8d2f5a7df6fa5a58e37db4ff5e7ad9fb370e35a0aad4add88a835d0b4d9",
+    "cargo-1.66.0-x86_64-pc-windows-msvc.tar.gz": "847ebe14f1afd93a2ebf5a596dc3d0ca4d769e8d18bac57e05481d08bc29d068",
+    "cargo-1.66.0-x86_64-pc-windows-msvc.tar.xz": "5df5868289982231b883e1fd49985d874b0b262bf4e191fc28b774d010e023a7",
+    "cargo-1.66.0-x86_64-unknown-freebsd.tar.gz": "8db306460ba9b0927c6cc94deeb3bea9cddaaea1c1a17d0208daad7905c183d9",
+    "cargo-1.66.0-x86_64-unknown-freebsd.tar.xz": "04205dc837d6b2ccfefaa7f13812da535ed20332085ea8209c2221524616bba7",
+    "cargo-1.66.0-x86_64-unknown-linux-gnu.tar.gz": "587080f377f7e259ab97fbf78cb0a5ef9094f3f333af25368d8d3346c192f13d",
+    "cargo-1.66.0-x86_64-unknown-linux-gnu.tar.xz": "bede77d09248fbcf036ff54ab84768696cdb093d52fb3653b77eeb05dac2b464",
+    "cargo-1.66.0-x86_64-unknown-linux-musl.tar.gz": "a32576adbdb8f960c3d7faea7924650ad01a0f1ec957da0b654be6fcea40f65b",
+    "cargo-1.66.0-x86_64-unknown-linux-musl.tar.xz": "9777088bafb48f5fed3ab3e087bc3202e31d9679b6cdafaa3b3673488bc2de44",
     "clippy-1.48.0-aarch64-unknown-linux-gnu.tar.gz": "2cc894bf75d938c0f7b96c7711d93b6d5a0befed5c09232cdd8413a57942ed88",
     "clippy-1.48.0-aarch64-unknown-linux-gnu.tar.xz": "ff5fc4d3b4f1b6147f782d28669fa0e847b3660185fa147e4ebf4d9ace61cd4e",
     "clippy-1.48.0-aarch64-unknown-linux-musl.tar.gz": "b3d740358470df6f4c1881a40db16c6fce4082bd251b012963147fdadab96879",
@@ -3758,6 +3910,24 @@
     "clippy-1.65.0-x86_64-unknown-linux-gnu.tar.xz": "30e16e478a82b4f538b73cd253324f8580293000cf2b3a81a46021a0c7c5c80e",
     "clippy-1.65.0-x86_64-unknown-linux-musl.tar.gz": "56d3ec666e5070d049a72c72d1cc421f6e5a210e6b556acbc5ff78cab9ef2a0c",
     "clippy-1.65.0-x86_64-unknown-linux-musl.tar.xz": "547a04943e8c4973f5d7d3e78c59db353b14496c9473111904493aeb339ea4c3",
+    "clippy-1.66.0-aarch64-apple-darwin.tar.gz": "3a6ff527797152d39cdfba7a766fd1439f600ebd2700537d25f2ec530dc674c4",
+    "clippy-1.66.0-aarch64-apple-darwin.tar.xz": "06fff901b9c52e557360efa39e43bbbe91257608c7ae6d69bda32c65c4159129",
+    "clippy-1.66.0-aarch64-pc-windows-msvc.tar.gz": "d7ed0d1dd886b48b17173e5a1a47a7dfe256057086280dccd0525312951f8c83",
+    "clippy-1.66.0-aarch64-pc-windows-msvc.tar.xz": "ff074d5e112da69490dc460f85d8a9d272cc5338346913ede724c33498c878c3",
+    "clippy-1.66.0-aarch64-unknown-linux-gnu.tar.gz": "a55c47a0a242f0a8659949e69a8c1688bcd9f9b702229372a73d36090e8fe1d8",
+    "clippy-1.66.0-aarch64-unknown-linux-gnu.tar.xz": "9ecd3b11216370e0cefc0ea1be9e1ca2a5e8bf56a4c6e4a51f1fb15df98717e1",
+    "clippy-1.66.0-aarch64-unknown-linux-musl.tar.gz": "4bf669a388e0509b7115e1bcc7e5af66acd322e9b0eb1ffbdfbf17353a15b42b",
+    "clippy-1.66.0-aarch64-unknown-linux-musl.tar.xz": "933299ad0594d8f57e22e6998f53e1b220bf022c3dceb62c18c24c3151f29627",
+    "clippy-1.66.0-x86_64-apple-darwin.tar.gz": "f379d53e4d26b549d9a6eabcf8380625c521c793f386d44d7b89bd8a125f0ca7",
+    "clippy-1.66.0-x86_64-apple-darwin.tar.xz": "c3653c8b0a7c3a45c4df69d38d30bc45542507720d9871a9ef7e4f2a536fd130",
+    "clippy-1.66.0-x86_64-pc-windows-msvc.tar.gz": "90bcd2976904d4d1bffe9e40f8d5b0b6bd5e46279d758640d3e08a9ab4a08255",
+    "clippy-1.66.0-x86_64-pc-windows-msvc.tar.xz": "2e41279902f28f581b3e0a10339a71ee1a00bdc06a787cfd1020f613e2891450",
+    "clippy-1.66.0-x86_64-unknown-freebsd.tar.gz": "bbbe88b6d3aa0e5b16702850a742ae356d8410f53d8e4a08b8192564268eb335",
+    "clippy-1.66.0-x86_64-unknown-freebsd.tar.xz": "14ee2548e199481f4e57a1a9f5e7ec4087418effb10719223822cc92f05b682c",
+    "clippy-1.66.0-x86_64-unknown-linux-gnu.tar.gz": "64f9ce7b078a596316a20680347b4e1154445d6f28ed8e3c1e324f620964140b",
+    "clippy-1.66.0-x86_64-unknown-linux-gnu.tar.xz": "3b27d28eaa2843a7834631517ba5a8f77c831e82034d99f5bdb08c4361e7ed72",
+    "clippy-1.66.0-x86_64-unknown-linux-musl.tar.gz": "14d5aa641b6a9ebdc19aa645bd8476914575823bb21322a8858febee46419bbc",
+    "clippy-1.66.0-x86_64-unknown-linux-musl.tar.xz": "5a9b65493c8473f6a639fa9b468d9a24fd58b3109b8e0937c92eb3a723f8b07f",
     "llvm-tools-1.36.0-aarch64-unknown-linux-gnu.tar.gz": "942856e49837a1c3b9c7d48b52cf0ac0fcb2bb31bb691fe53bfb934afb561c7f",
     "llvm-tools-1.36.0-aarch64-unknown-linux-gnu.tar.xz": "e2671f3710f65642779023e46ad7402cc3bdaa15861ccfd6b48f1607e0b76ae1",
     "llvm-tools-1.36.0-x86_64-apple-darwin.tar.gz": "ed702a4174a27fcf118f301e79835c3da205d3d98adb4acc294b72293a2ec790",
@@ -4294,6 +4464,24 @@
     "llvm-tools-1.65.0-x86_64-unknown-linux-gnu.tar.xz": "d1db04658e7a8292d19c40b50ca1fed233ee82fc6642e90b80d6cf55d77a7803",
     "llvm-tools-1.65.0-x86_64-unknown-linux-musl.tar.gz": "f20ca08f5ffa84c6f42cd47a7292e555c71e656b28c6fefa13bcea3a9aea807b",
     "llvm-tools-1.65.0-x86_64-unknown-linux-musl.tar.xz": "57e005f30404add38867b129c67ac90465edef507a178ba7086943ff82476a17",
+    "llvm-tools-1.66.0-aarch64-apple-darwin.tar.gz": "c776d55b80dc92d9b7423ec60e357c39bd674c109c37ec78251d494bbeb9f0b7",
+    "llvm-tools-1.66.0-aarch64-apple-darwin.tar.xz": "6b281f92761e0182ede299c28c231bb69e7b718f51b960a91078c46d5e80ea75",
+    "llvm-tools-1.66.0-aarch64-pc-windows-msvc.tar.gz": "3ebc7ce53a1bd293394d962342ddbbcdeb61e912dfcc00a3fa08af22c89b27e5",
+    "llvm-tools-1.66.0-aarch64-pc-windows-msvc.tar.xz": "bae9e8e2f50c561eb283ef7ffcb82eecc8f395039321f9ffe3fb7621a057fcd2",
+    "llvm-tools-1.66.0-aarch64-unknown-linux-gnu.tar.gz": "69e319c04ada0018ccc4584c97014e8aac0ecb6a74a0b57890e935de21c4a2dc",
+    "llvm-tools-1.66.0-aarch64-unknown-linux-gnu.tar.xz": "c701c04127f5dde6a8ee501c9b60854519afc7820b3fb78180e7e978677ad646",
+    "llvm-tools-1.66.0-aarch64-unknown-linux-musl.tar.gz": "32537ced4b29d471a4a092c07cfba5d623021b000c59152c6187fc76e3850abf",
+    "llvm-tools-1.66.0-aarch64-unknown-linux-musl.tar.xz": "c37b3e7bf59a008ef3691e84aaf9141cffdbc0c750d485412099bd28dabefc63",
+    "llvm-tools-1.66.0-x86_64-apple-darwin.tar.gz": "167dd3c69f32fbd7535cc10e2c96ad51f0a1d6ac6482247bc43a5f994309fcdc",
+    "llvm-tools-1.66.0-x86_64-apple-darwin.tar.xz": "179a3b79d833e3c8fa7bc0bf41d9c96af85428565d3a24480b33c57ef45b2571",
+    "llvm-tools-1.66.0-x86_64-pc-windows-msvc.tar.gz": "51132815a57b1a88ea2a0a478264adfc2eda3c70981d5e99d56cbc6fec786156",
+    "llvm-tools-1.66.0-x86_64-pc-windows-msvc.tar.xz": "501a165f3a98aa9deb782a31ec4e784e7910bbca8ca86d3229bad01912f0e584",
+    "llvm-tools-1.66.0-x86_64-unknown-freebsd.tar.gz": "9cade36c8dca2dbe89f57627243177b9b9165583f4d8a65a4e4d8641b408c1f6",
+    "llvm-tools-1.66.0-x86_64-unknown-freebsd.tar.xz": "50763a868d790cfc0804805b034b6defa5fb6b02603863fb04dbac838f07a538",
+    "llvm-tools-1.66.0-x86_64-unknown-linux-gnu.tar.gz": "f28d4734e8a4909f7a4a8edfaf49ead7aa03047fda2dfa7bb342996957857d36",
+    "llvm-tools-1.66.0-x86_64-unknown-linux-gnu.tar.xz": "6975d3a409ae1f85ff7481bc2cb1832b0bc4468dba394e448181891147c9d988",
+    "llvm-tools-1.66.0-x86_64-unknown-linux-musl.tar.gz": "46138b8b632a18d151b995c535b83ae130ab54059e92ba21573390b3304a3790",
+    "llvm-tools-1.66.0-x86_64-unknown-linux-musl.tar.xz": "364d42a9d40c3bc51895d357d3f7389afe6cb274953dcd2535c2177d2866c78e",
     "rust-1.26.0-aarch64-unknown-linux-gnu.tar.gz": "e12dc84bdb569cdb382268a5fe6ae6a8e2e53810cb890ec3a7133c20ba8451ac",
     "rust-1.26.0-aarch64-unknown-linux-gnu.tar.xz": "773560f577d4bfc34efa69f035b0d397fc8f4d55835d163416bc4f2012a57a4a",
     "rust-1.26.0-x86_64-apple-darwin.tar.gz": "38708803c3096b8f101d1919ee2d7e723b0adf1bc1bb986b060973b57d8c7c28",
@@ -5012,6 +5200,24 @@
     "rust-1.65.0-x86_64-unknown-linux-gnu.tar.xz": "9455cab767f7b9f46259aac8d953f15f11b3d65513384e2b0a5e77d0432ae82f",
     "rust-1.65.0-x86_64-unknown-linux-musl.tar.gz": "716984def5509a844c2dde1c7be42bfadeb179f751d5c1a30c9c7198c8c089cd",
     "rust-1.65.0-x86_64-unknown-linux-musl.tar.xz": "2cee08c224722e520433e69f086f3ceaa0405ca66a99ae02f7f3c11991e168ce",
+    "rust-1.66.0-aarch64-apple-darwin.tar.gz": "98e6528c46054d08f94d97cd0641031bb3bf7da97d514ff2b2aa862f9a52b304",
+    "rust-1.66.0-aarch64-apple-darwin.tar.xz": "e85a62a031c820e819963f4510a9f88d705bbfbf9e9159452f127f321982cc63",
+    "rust-1.66.0-aarch64-pc-windows-msvc.tar.gz": "87e276edf01988406b80332096fe14bebd77c18140c9638dbf296451f83c6293",
+    "rust-1.66.0-aarch64-pc-windows-msvc.tar.xz": "3e72338e12ebc68c5285edd1a01dbfe0051a659d87ddfdab48fbe757756cbc5d",
+    "rust-1.66.0-aarch64-unknown-linux-gnu.tar.gz": "9783cefe5e513964ff12f65bbe855bdaaaa8c7e695097f8915e316de7d3ad73a",
+    "rust-1.66.0-aarch64-unknown-linux-gnu.tar.xz": "e8d853383355aa17fd8d7efae740ac0f18b3a5f452c9ac62f5042fc96ebda3e9",
+    "rust-1.66.0-aarch64-unknown-linux-musl.tar.gz": "7c3fc0d4a53a6c17aa0e76e0c8c7f09312727b24e0bc54c3809a80e2583c401b",
+    "rust-1.66.0-aarch64-unknown-linux-musl.tar.xz": "b8e69ca978fd7cac8066d64a68284aee3edb6c1cc28bbafe0eb02b9c5c645566",
+    "rust-1.66.0-x86_64-apple-darwin.tar.gz": "288ea7bded3483e087119051cfdc033d2b15e978632ea3faf9e8aa27e0337bda",
+    "rust-1.66.0-x86_64-apple-darwin.tar.xz": "14f9909c9478615c0c461fcea4806be76add715fbdba6e5069b0549bfe9dba4e",
+    "rust-1.66.0-x86_64-pc-windows-msvc.tar.gz": "55659a0864470b5a68cbe0ca0287ee46cae73e3776ec1a5b8d0a17d6dbf17d9c",
+    "rust-1.66.0-x86_64-pc-windows-msvc.tar.xz": "870d7047123ef5300d2920ccce857a04b812a19ce3a3afd80c79250a2e3fddab",
+    "rust-1.66.0-x86_64-unknown-freebsd.tar.gz": "4218a0bcc1f0edefc496768113fbc0fb38ce42e1db36b49d0c5a766605fbfb1a",
+    "rust-1.66.0-x86_64-unknown-freebsd.tar.xz": "79152306047d3461a7cedb11810fb56dff41fae493ffbd096b2543359074c0c8",
+    "rust-1.66.0-x86_64-unknown-linux-gnu.tar.gz": "f6ff8b7a38bab7d8f3cb7b70c7201494a5485c2cf12e84a13c9e232fa51ebfe7",
+    "rust-1.66.0-x86_64-unknown-linux-gnu.tar.xz": "a656328e1cd36b253bf39807b5a3eacdf0ce7d982fc9fb51a026f273386de84a",
+    "rust-1.66.0-x86_64-unknown-linux-musl.tar.gz": "1435302fc928701290e6c05a5068bcc6ecfeb41f40dc3c9b68211a86dfb5afef",
+    "rust-1.66.0-x86_64-unknown-linux-musl.tar.xz": "8e190901552956d25622b27e6c4b824d6fdbc35ebe750b453c3d5480c1ea3d78",
     "rust-src-1.26.0.tar.gz": "d02fe6fd5c0f330656e9ff0a290ebf23cab7c909f96ce1838247fadc117eb1dd",
     "rust-src-1.26.0.tar.xz": "7d313fdecb23afd07826b62360f63c40ca8c12730b00b7cecf2c53098039e326",
     "rust-src-1.26.1.tar.gz": "19ef8113ae53ec7ea8f6772a5c9ce5a3dfc28b1bddd800841fb5bbec33fa3619",
@@ -5116,6 +5322,8 @@
     "rust-src-1.64.0.tar.xz": "0d16b1af409123627a16b4101421efb5792a866e32d7a0d04781fd1169754938",
     "rust-src-1.65.0.tar.gz": "f25e88ea945fcc9e0d81e0d30cb39daa154a2cbf1b14be59cefc8d5edae93821",
     "rust-src-1.65.0.tar.xz": "7dfdbecad68d9fbc64574eb403aa4815adef563dd6fb1d8a1be3b9fff364deb2",
+    "rust-src-1.66.0.tar.gz": "9ef3f1bd4b2b75f303049ed33309fe1e20d3711beb93d530d62f693b90a74347",
+    "rust-src-1.66.0.tar.xz": "782d392e8401518a75914a39b958be0a210b254d5d39127839739f5d4d51a2eb",
     "rust-std-1.26.0-aarch64-unknown-linux-gnu.tar.gz": "a583ddc2d4b5f9516bf136f781268ae0e813295d1d145fab4b46a4220f448923",
     "rust-std-1.26.0-aarch64-unknown-linux-gnu.tar.xz": "85615b5a109d4c12e9d0910020fceece8f0535848c137c8b8662d38de3d8ca37",
     "rust-std-1.26.0-aarch64-unknown-linux-musl.tar.gz": "6a112ecd4cdefee2688bf69fdceb785a4d08cea33ba32296539abe3cb7f5eae1",
@@ -6290,6 +6498,32 @@
     "rust-std-1.65.0-x86_64-unknown-linux-gnu.tar.xz": "2b588cd2d49688c0c33b7466614123e8fe4c910f4d802fc0ff0662b1772816a9",
     "rust-std-1.65.0-x86_64-unknown-linux-musl.tar.gz": "fbf8b5a2c388710cc7f4cc045d93cf05ebdd2d497936f54f995ccb44d346d85b",
     "rust-std-1.65.0-x86_64-unknown-linux-musl.tar.xz": "55abeb1b55aeebc46a4af2f304271361397df58d12f7eb23fb262bc3132c6056",
+    "rust-std-1.66.0-aarch64-apple-darwin.tar.gz": "e8a596af41fe0040ca04daddf98a5e9938e38e5f877f2f72e9c0cfd18b9de658",
+    "rust-std-1.66.0-aarch64-apple-darwin.tar.xz": "155e7d78d34ccdfdbe79aac417a191d7dc52f738fb386dd4e10dbda2e95112ae",
+    "rust-std-1.66.0-aarch64-pc-windows-msvc.tar.gz": "c640ef95592e2f19b40e2b97ed9090d5652bdb4f03d35b454043a0e51e4ee1b4",
+    "rust-std-1.66.0-aarch64-pc-windows-msvc.tar.xz": "e72bbb97aba6362467406bf7da6e0b5ecd3d6f27fe72ae8c55f76127b40589b7",
+    "rust-std-1.66.0-aarch64-unknown-linux-gnu.tar.gz": "2518ec4539b3de01a47d26b737aa243eb515d2e512f1a2b3361699daa4acc7d6",
+    "rust-std-1.66.0-aarch64-unknown-linux-gnu.tar.xz": "b5ac5985a8fefd2a0de67197f7c2549aacee502cc784a3c3c93921b005aa31fa",
+    "rust-std-1.66.0-aarch64-unknown-linux-musl.tar.gz": "c60dfac48548a03ca9b923b543044d6843e571f6939aed45969d1c22bbf2c53c",
+    "rust-std-1.66.0-aarch64-unknown-linux-musl.tar.xz": "ca62347018d1ace5e13a4a2f898dd2b19d5cb96db41482119418538f6482e2db",
+    "rust-std-1.66.0-riscv32imc-unknown-none-elf.tar.gz": "17912512cf83fa0ae615b8efa65c5a25dad0943fbf696162c6a18be4c59350f4",
+    "rust-std-1.66.0-riscv32imc-unknown-none-elf.tar.xz": "eca9c211f79b02e08127f14b77adf99ee612318c93515d1bec4aeae2b95ebd8f",
+    "rust-std-1.66.0-riscv64gc-unknown-none-elf.tar.gz": "0ba12bcb4557fa01afeef0201fc944a7b428535681cb0c8db71cb98a9b9cd9e9",
+    "rust-std-1.66.0-riscv64gc-unknown-none-elf.tar.xz": "3f6f8bc61c336f7ed1d5a2ff9dc1f3e39c2907acb3422dc81125d1425db3a8d9",
+    "rust-std-1.66.0-wasm32-unknown-unknown.tar.gz": "df2c1a042ca4246181af9182d51d6c2921c2e5cbc536a160352ed019079c5474",
+    "rust-std-1.66.0-wasm32-unknown-unknown.tar.xz": "c4ef8e5351a6d19bba2d6c4b3901cb820b341c2f9c0737c648ea002eb4c48e47",
+    "rust-std-1.66.0-wasm32-wasi.tar.gz": "6457aa7584378023308beffce908a8def177cb2d3edc49dc8f3356ca9825c54c",
+    "rust-std-1.66.0-wasm32-wasi.tar.xz": "849a83d1564bb4b139fe9e1cad4cc28ad37a38cdb276381261b557c713105ae1",
+    "rust-std-1.66.0-x86_64-apple-darwin.tar.gz": "cef1d662b4b2d60c7de7961253d766ed889ce45b275c297e66fefd71e672175a",
+    "rust-std-1.66.0-x86_64-apple-darwin.tar.xz": "80ff9ace6f9523984fbebc2a7a8166f2386b39039739f7213ffa43e75920655b",
+    "rust-std-1.66.0-x86_64-pc-windows-msvc.tar.gz": "995511669814cea5374208b9f43f72ea76bc9a32fe4094b1f75b77ebaaa01dfa",
+    "rust-std-1.66.0-x86_64-pc-windows-msvc.tar.xz": "aa05e84b13d478f5fbb4be7a57573436f393d15d2352f4a845cca051b6026cb4",
+    "rust-std-1.66.0-x86_64-unknown-freebsd.tar.gz": "0a2637f39a576ec74092debd15f161af75db72d75967abdec5c9e2505078ddd6",
+    "rust-std-1.66.0-x86_64-unknown-freebsd.tar.xz": "f85264b7b639b7521f2544341e5c6bd91d88b39f8d2df644f47b77dd6a026ff8",
+    "rust-std-1.66.0-x86_64-unknown-linux-gnu.tar.gz": "0449a5219eaf05c53a141ee664afcb46c75c78b6500d0b082b544baa72a78cbb",
+    "rust-std-1.66.0-x86_64-unknown-linux-gnu.tar.xz": "c59ca7959a019f3f660c1f46bea3c13e7769b67732731469c0c42d02f28d08e7",
+    "rust-std-1.66.0-x86_64-unknown-linux-musl.tar.gz": "728d0ffbddcd0428e0a4d7d67f760ac9aba372f9def90a6d487ce0d8aaa320fd",
+    "rust-std-1.66.0-x86_64-unknown-linux-musl.tar.xz": "b4dbc07eb417f77d9b794546d647f014d1650e1e0c0e76ff3d878dc09479e320",
     "rustc-1.26.0-aarch64-unknown-linux-gnu.tar.gz": "ddddaddb585b95d81854171ac4e02d07790505853cee3034f199c8b7897f32e2",
     "rustc-1.26.0-aarch64-unknown-linux-gnu.tar.xz": "859daf94bd0f9c14aa58af41c30b5105c49f28860bcebba3ddcd9699813954cb",
     "rustc-1.26.0-x86_64-apple-darwin.tar.gz": "5cb67314656d16cf2a1bdc84213aaaf6afdb5811825c7afba916e2d42d3d641f",
@@ -7008,6 +7242,24 @@
     "rustc-1.65.0-x86_64-unknown-linux-gnu.tar.xz": "62b89786e195fc5a8a262f83118d6689832b24228c9d303cba8ac14dc1e9adc8",
     "rustc-1.65.0-x86_64-unknown-linux-musl.tar.gz": "afcb7bcec9b128d641224ca476dc5f9e5ab74b6ff82235b95dd305e882e46def",
     "rustc-1.65.0-x86_64-unknown-linux-musl.tar.xz": "06960685fcf39f24993525cb804649343b8f3c953ad740163edee16d9c9645bd",
+    "rustc-1.66.0-aarch64-apple-darwin.tar.gz": "13ceca3daa0f8375e872d97848d752f2ef81b5bbd5eeaf12ea9cc9c38d27a9e3",
+    "rustc-1.66.0-aarch64-apple-darwin.tar.xz": "2a6cdc7041c20aed7c810fdb8436bc63ab816deb104b4d9b6563496edda2913a",
+    "rustc-1.66.0-aarch64-pc-windows-msvc.tar.gz": "4d10c748d4beb39f2f9b902eed64de05f9b92edeb6ae61f5ea25169930753942",
+    "rustc-1.66.0-aarch64-pc-windows-msvc.tar.xz": "98946db9a4cc34ec4813db44a07ffcdeab759846dc057ae5f6f2468d11f4430f",
+    "rustc-1.66.0-aarch64-unknown-linux-gnu.tar.gz": "e70475d2770a20bc290e233d0dbe871d802fa36ec2fbbc4a80d247febbc92048",
+    "rustc-1.66.0-aarch64-unknown-linux-gnu.tar.xz": "b2b01cc749e59a2101f19cd2b4c5fc5407b91da8aa8ab115d90c9f4ecf468a93",
+    "rustc-1.66.0-aarch64-unknown-linux-musl.tar.gz": "c3775fe82f2c3926030f11496f05a7da2c84429223d5592a6d65bb648a72c7b4",
+    "rustc-1.66.0-aarch64-unknown-linux-musl.tar.xz": "88b50d798fa271ac748c042592fbb63b958ab51448947ce478be745e152fa6f5",
+    "rustc-1.66.0-x86_64-apple-darwin.tar.gz": "50e1a021de9ea1d836cd4b2fb0f43ffa6f1d8d8a16c3dc72cbc001e9bf461fcf",
+    "rustc-1.66.0-x86_64-apple-darwin.tar.xz": "9fa9e5c6f30124bf1fbd0dd034261ddfec7635023547f89e0de4ca3600b259f5",
+    "rustc-1.66.0-x86_64-pc-windows-msvc.tar.gz": "3697327c5f3470d0c8bd74788b5c610e21ac9f528e53d8de96470021a53d60b6",
+    "rustc-1.66.0-x86_64-pc-windows-msvc.tar.xz": "293a31ec6f3dab1f2710e63a483bbd04d8da006ceea9df98abfc0e73fa0f34c1",
+    "rustc-1.66.0-x86_64-unknown-freebsd.tar.gz": "502caf7cbaa4d53b4f2883fea78bdd8d0b998e74102f5d69136e7c84f2aa4d8a",
+    "rustc-1.66.0-x86_64-unknown-freebsd.tar.xz": "316e4360f693ee596b796b06e0f1dca0f0c61d33cad4a8cb47f61967b573bd91",
+    "rustc-1.66.0-x86_64-unknown-linux-gnu.tar.gz": "1c749e7f5b5315977611a158da876589ec062bd07b6c96b73b756163e8a3d2ef",
+    "rustc-1.66.0-x86_64-unknown-linux-gnu.tar.xz": "5d76d653a745cbefcdc13e3976a3e56798af5ca98bf102bb317a0e61702ab90c",
+    "rustc-1.66.0-x86_64-unknown-linux-musl.tar.gz": "d3cea1618d42dcc6b3d2b76b018c626a23e60ca6e416b55c2a94977b3ddbef0f",
+    "rustc-1.66.0-x86_64-unknown-linux-musl.tar.xz": "b073a24afef14e180a55e0a499336f089009abf85533d594705b170a65061eee",
     "rustfmt-1.48.0-aarch64-unknown-linux-gnu.tar.gz": "28f7d1ef37c034033eb0e30a13e5f0ad5bbc506adb8a8a9c03adce2b0d4842d5",
     "rustfmt-1.48.0-aarch64-unknown-linux-gnu.tar.xz": "24f5e32213cd81bbb854f836c4da44e31652b4f6dff3a9b5455d5433bffacf9f",
     "rustfmt-1.48.0-aarch64-unknown-linux-musl.tar.gz": "e6efa0fae347f97dca3b892565302d35b4cedfee7cb6e2b5fcdb2801074fe018",
@@ -7400,4 +7652,22 @@
     "rustfmt-1.65.0-x86_64-unknown-linux-gnu.tar.xz": "388dab67cbd5d1f473f55bb58096d55ff6e7e89a3eac3bc6d7f9b9490c360451",
     "rustfmt-1.65.0-x86_64-unknown-linux-musl.tar.gz": "4f8b3a4c6190406460108af967f7a179e49f856510b707cc6daea6b53e6d8d5a",
     "rustfmt-1.65.0-x86_64-unknown-linux-musl.tar.xz": "94db523ab54e26acfd2beca82fed391d36c641d55027f7d2d95e6a334e54ed56",
+    "rustfmt-1.66.0-aarch64-apple-darwin.tar.gz": "b4f458425a60ca34c5f7cb198aac393291d24eebcb053bdff180f53668cb8d8b",
+    "rustfmt-1.66.0-aarch64-apple-darwin.tar.xz": "479bbbfc0c6d9582d8b73749f771f46b2d901002bad1edc4af22f74f798cf3ef",
+    "rustfmt-1.66.0-aarch64-pc-windows-msvc.tar.gz": "f5091fcbd84d8d1f08362549b2638a376807e8b0307ae5906222a46acf66a722",
+    "rustfmt-1.66.0-aarch64-pc-windows-msvc.tar.xz": "1012a24497b59706ce03ed49c29fff5b77a04236cbcbc9577368946f0ddfab1f",
+    "rustfmt-1.66.0-aarch64-unknown-linux-gnu.tar.gz": "7b23b0d9d6cb3a9f70de724b601f7217d172174df76b1189a574208ec886a7b2",
+    "rustfmt-1.66.0-aarch64-unknown-linux-gnu.tar.xz": "d5da0af7d3c8701c924541711241b1f1900782630fc60e37ce1e5bdc36693e94",
+    "rustfmt-1.66.0-aarch64-unknown-linux-musl.tar.gz": "cb54895be07fa17126c04b42e3419f1a0d4628c436d29f4e79a7c591d00c6881",
+    "rustfmt-1.66.0-aarch64-unknown-linux-musl.tar.xz": "4ca0f4222e07069b95543357a8d313c39602ee5ef117b55e126f5808b9ce135e",
+    "rustfmt-1.66.0-x86_64-apple-darwin.tar.gz": "c466868389fb70e386659ac36f05aaf87372da4fd1d4017e7b1bde832d3f3ded",
+    "rustfmt-1.66.0-x86_64-apple-darwin.tar.xz": "544bfe20e66a011034c698b119c53adc55ac3badceb3cfb00d58755d50e0ee14",
+    "rustfmt-1.66.0-x86_64-pc-windows-msvc.tar.gz": "2369c2b15d979d053944f432787abd49c7c04a0526756f1f8b09795124bc92b9",
+    "rustfmt-1.66.0-x86_64-pc-windows-msvc.tar.xz": "1f9a2767f941739a859686c386a2cb95e88380402e53dedf84924745e58ae8be",
+    "rustfmt-1.66.0-x86_64-unknown-freebsd.tar.gz": "47c832b748491c5b066d1bd8106d765ac361ad5c0745f14549f59913b0c893db",
+    "rustfmt-1.66.0-x86_64-unknown-freebsd.tar.xz": "1e2b798c3a574bce87f641790041be989e05b4e32b9f4a12351ddbd3ea96afab",
+    "rustfmt-1.66.0-x86_64-unknown-linux-gnu.tar.gz": "a50557c38261d4de24b737189999a10565e2ddf1545da8e83dab18a5cbd009bb",
+    "rustfmt-1.66.0-x86_64-unknown-linux-gnu.tar.xz": "6c9107e3851d3b7410a43da33f12c6065d1c28f937126733a921944653aadb1c",
+    "rustfmt-1.66.0-x86_64-unknown-linux-musl.tar.gz": "37d3b76b820c0da27a4ba27601f0f2ddb5f78b7ca79d27ab9b5f15241ea9c10a",
+    "rustfmt-1.66.0-x86_64-unknown-linux-musl.tar.xz": "91dea05d82a72b069930c7097824f9ddae076d4825853947166b0a4173234439",
 }
diff --git a/rust/private/common.bzl b/rust/private/common.bzl
index 20eb40b..e3a3118 100644
--- a/rust/private/common.bzl
+++ b/rust/private/common.bzl
@@ -31,7 +31,9 @@
 #
 # Note: Code in `.github/workflows/crate_universe.yaml` looks for this line, if
 # you remove it or change its format, you will also need to update that code.
-DEFAULT_RUST_VERSION = "1.65.0"
+DEFAULT_RUST_VERSION = "1.66.0"
+
+DEFAULT_NIGHTLY_ISO_DATE = "2022-12-15"
 
 def _create_crate_info(**kwargs):
     """A constructor for a `CrateInfo` provider
diff --git a/rust/repositories.bzl b/rust/repositories.bzl
index 245e0a0..08c8370 100644
--- a/rust/repositories.bzl
+++ b/rust/repositories.bzl
@@ -6,7 +6,7 @@
     "//rust/platform:triple_mappings.bzl",
     "triple_to_constraint_set",
 )
-load("//rust/private:common.bzl", "rust_common")
+load("//rust/private:common.bzl", "DEFAULT_NIGHTLY_ISO_DATE", "rust_common")
 load(
     "//rust/private:repository_utils.bzl",
     "BUILD_for_rust_analyzer_proc_macro_srv",
@@ -42,8 +42,6 @@
     "x86_64-unknown-linux-gnu": "rust_linux_x86_64",
 }
 
-DEFAULT_NIGHTLY_ISO_DATE = "2022-11-02"
-
 def rules_rust_dependencies():
     """Dependencies used in the implementation of `rules_rust`."""
 
diff --git a/test/process_wrapper/rustc_quit_on_rmeta.rs b/test/process_wrapper/rustc_quit_on_rmeta.rs
index 5559508..4fe29d0 100644
--- a/test/process_wrapper/rustc_quit_on_rmeta.rs
+++ b/test/process_wrapper/rustc_quit_on_rmeta.rs
@@ -11,7 +11,7 @@
     fn fake_rustc(process_wrapper_args: &[&'static str]) -> String {
         let r = Runfiles::create().unwrap();
         let fake_rustc = r.rlocation(
-            &[
+            [
                 "rules_rust",
                 "test",
                 "process_wrapper",
@@ -26,7 +26,7 @@
         );
 
         let process_wrapper = r.rlocation(
-            &[
+            [
                 "rules_rust",
                 "util",
                 "process_wrapper",
diff --git a/tools/rust_analyzer/lib.rs b/tools/rust_analyzer/lib.rs
index 4050b26..6aae9df 100644
--- a/tools/rust_analyzer/lib.rs
+++ b/tools/rust_analyzer/lib.rs
@@ -68,7 +68,7 @@
     let r = Runfiles::create()?;
     let path = r.rlocation(toolchain_info_path);
     let toolchain_info: HashMap<String, String> =
-        serde_json::from_str(&std::fs::read_to_string(&path)?)?;
+        serde_json::from_str(&std::fs::read_to_string(path)?)?;
 
     let sysroot_src = &toolchain_info["sysroot_src"];
     let sysroot = &toolchain_info["sysroot"];
diff --git a/tools/rust_analyzer/main.rs b/tools/rust_analyzer/main.rs
index 5fe1407..fb7b69e 100644
--- a/tools/rust_analyzer/main.rs
+++ b/tools/rust_analyzer/main.rs
@@ -49,7 +49,7 @@
         &config.targets,
         execution_root,
         output_base,
-        &workspace_root.join("rust-project.json"),
+        workspace_root.join("rust-project.json"),
     )?;
 
     Ok(())
diff --git a/tools/rust_analyzer/rust_project.rs b/tools/rust_analyzer/rust_project.rs
index f161898..7f931cf 100644
--- a/tools/rust_analyzer/rust_project.rs
+++ b/tools/rust_analyzer/rust_project.rs
@@ -136,7 +136,7 @@
                             let crate_index = *merged_crates_index
                                 .get(dep)
                                 .expect("failed to find dependency on second lookup");
-                            let dep_crate = &project.crates[crate_index as usize];
+                            let dep_crate = &project.crates[crate_index];
                             Dependency {
                                 crate_index,
                                 name: dep_crate
diff --git a/util/fetch_shas_NIGHTLY_ISO_DATES.txt b/util/fetch_shas_NIGHTLY_ISO_DATES.txt
index a3e55a3..424357e 100644
--- a/util/fetch_shas_NIGHTLY_ISO_DATES.txt
+++ b/util/fetch_shas_NIGHTLY_ISO_DATES.txt
@@ -19,3 +19,4 @@
 2022-08-11
 2022-09-21
 2022-11-02
+2022-12-15
diff --git a/util/fetch_shas_VERSIONS.txt b/util/fetch_shas_VERSIONS.txt
index 1cada38..b4e714a 100644
--- a/util/fetch_shas_VERSIONS.txt
+++ b/util/fetch_shas_VERSIONS.txt
@@ -50,3 +50,4 @@
 1.63.0
 1.64.0
 1.65.0
+1.66.0