Update rules_rust

Several changes I made in 971-Robot-Code first have been upstreamed,
including finished a few pieces that I now want to use.

Change-Id: Iac6317989c1d3a0c7886c7d4a5798c6dbcedf2a9
Signed-off-by: Brian Silverman <bsilver16384@gmail.com>
diff --git a/tools/lint/BUILD b/tools/lint/BUILD
index 55cccff..fedead2 100644
--- a/tools/lint/BUILD
+++ b/tools/lint/BUILD
@@ -15,7 +15,7 @@
     name = "rustfmt",
     srcs = ["rustfmt.sh"],
     data = [
-        "@rust//:rustfmt",
+        "@rust__x86_64-unknown-linux-gnu_tools//:rustfmt",
     ],
     deps = [
         "@bazel_tools//tools/bash/runfiles",
diff --git a/tools/lint/run-ci.sh b/tools/lint/run-ci.sh
index 5e48da6..33a3bf9 100755
--- a/tools/lint/run-ci.sh
+++ b/tools/lint/run-ci.sh
@@ -66,8 +66,8 @@
 
 cargo_raze() {
     local -r cargo_raze="$(readlink -f external/cargo_raze/impl/cargo_raze_bin)"
-    export CARGO="$(readlink -f external/rust/bin/cargo)"
-    export RUSTC="$(readlink -f external/rust/bin/rustc)"
+    export CARGO="$(readlink -f external/rust__x86_64-unknown-linux-gnu_tools/bin/cargo)"
+    export RUSTC="$(readlink -f external/rust__x86_64-unknown-linux-gnu_tools/bin/rustc)"
     cd "${BUILD_WORKSPACE_DIRECTORY}"
     # Note we don't run with --generate-lockfile here. If there's a new
     # dependency, we don't want to download it, just failing with an error
diff --git a/tools/lint/rustfmt.sh b/tools/lint/rustfmt.sh
index 57ce64f..42bb654 100755
--- a/tools/lint/rustfmt.sh
+++ b/tools/lint/rustfmt.sh
@@ -11,7 +11,7 @@
   { echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e
 # --- end runfiles.bash initialization v2 ---
 
-readonly RUSTFMT="$(rlocation rust/bin/rustfmt)"
+readonly RUSTFMT="$(rlocation rust__x86_64-unknown-linux-gnu_tools/bin/rustfmt)"
 
 # Run everything from the root of the tree.
 cd "${BUILD_WORKSPACE_DIRECTORY}"
diff --git a/tools/rust/BUILD b/tools/rust/BUILD
index a5a2f89..a2d9317 100644
--- a/tools/rust/BUILD
+++ b/tools/rust/BUILD
@@ -16,7 +16,7 @@
         "@platforms//os:linux",
         "@platforms//cpu:x86_64",
     ],
-    toolchain = "@rust//:toolchain_for_x86_64-unknown-linux-gnu_impl",
+    toolchain = "@rust__x86_64-unknown-linux-gnu_tools//:rust_toolchain",
     toolchain_type = "@rules_rust//rust:toolchain",
 )
 
@@ -33,7 +33,7 @@
         # subtle order dependencies.
         "//tools/platforms/hardware:raspberry_pi",
     ],
-    toolchain = "@rust//:toolchain_for_armv7-unknown-linux-gnueabihf_impl",
+    toolchain = "@rust__armv7-unknown-linux-gnueabihf_tools//:rust_toolchain",
     toolchain_type = "@rules_rust//rust:toolchain",
 )
 
@@ -47,7 +47,7 @@
         "@platforms//os:linux",
         "@platforms//cpu:arm64",
     ],
-    toolchain = "@rust//:toolchain_for_aarch64-unknown-linux-gnu_impl",
+    toolchain = "@rust__aarch64-unknown-linux-gnu_tools//:rust_toolchain",
     toolchain_type = "@rules_rust//rust:toolchain",
 )
 
@@ -62,7 +62,7 @@
         "@platforms//cpu:armv7",
         "//tools/platforms/hardware:roborio",
     ],
-    toolchain = "@rust//:toolchain_for_arm-unknown-linux-gnueabi_impl",
+    toolchain = "@rust__arm-unknown-linux-gnueabi_tools//:rust_toolchain",
     toolchain_type = "@rules_rust//rust:toolchain",
 )