To use the Rust rules, add the following to your
WORKSPACE file to add the external repositories for the Rust toolchain:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # To find additional information on this release or newer ones visit: # https://github.com/bazelbuild/rules_rust/releases http_archive( name = "rules_rust", sha256 = "39655ab175e3c6b979f362f55f58085528f1647957b0e9b3a07f81d8a9c3ea0a", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_rust/releases/download/0.2.0/rules_rust-v0.2.0.tar.gz", "https://github.com/bazelbuild/rules_rust/releases/download/0.2.0/rules_rust-v0.2.0.tar.gz", ], ) load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains") rules_rust_dependencies() rust_register_toolchains()
The rules are under active development, as such the lastest commit on the
main branch should be used.
main is only tested against
4.0.0 as the
minimum supported version of Bazel. Though previous versions may still be
functional in certain environments.
You can also browse the full API in one page.
rust-project.jsonfiles for rust-analyzer
To build with a particular version of the Rust compiler, pass that version to
rust_register_toolchains(version = "1.59.0", edition="2018")
As well as an exact version,
version can be set to
"beta". If set to these values,
iso_date must also be set:
rust_register_toolchains(version = "nightly", iso_date = "2022-02-23", edition="2018")
rustfmt_version may also be configured:
rust_register_toolchains(rustfmt_version = "1.59.0")