rust_test(crate=foo) inherits foo.aliases (#2965)
Inline tests compile the same set of source files as the original crate.
The set of aliases required will be the same or occasionally a superset.
We shouldn't make users repeat them across targets.
diff --git a/rust/private/rust.bzl b/rust/private/rust.bzl
index 2188172..1b5f59c 100644
--- a/rust/private/rust.bzl
+++ b/rust/private/rust.bzl
@@ -346,6 +346,8 @@
ctx.attr.rustc_env,
data_paths,
))
+ aliases = dict(crate.aliases)
+ aliases.update(ctx.attr.aliases)
# Build the test binary using the dependency's srcs.
crate_info_dict = dict(
@@ -355,7 +357,7 @@
srcs = depset(srcs, transitive = [crate.srcs]),
deps = depset(deps, transitive = [crate.deps]),
proc_macro_deps = depset(proc_macro_deps, transitive = [crate.proc_macro_deps]),
- aliases = ctx.attr.aliases,
+ aliases = aliases,
output = output,
rustc_output = generate_output_diagnostics(ctx, output),
edition = crate.edition,
diff --git a/test/renamed_deps/BUILD.bazel b/test/renamed_deps/BUILD.bazel
index e7dc187..79c2e71 100644
--- a/test/renamed_deps/BUILD.bazel
+++ b/test/renamed_deps/BUILD.bazel
@@ -41,10 +41,6 @@
rust_test(
name = "mod3_test",
- aliases = {
- ":mod1": "alias_a",
- ":mod2": "alias_b",
- },
crate = ":mod3",
edition = "2018",
)