From 03af0cd664b3f079557e1efcdca6661f43269af2 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Tue, 1 Feb 2022 13:57:55 -0500 Subject: [PATCH] Deduplicate input to ctx.expand_location Works around https://github.com/bazelbuild/bazel/issues/14681 --- rust/private/rustc.bzl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rust/private/rustc.bzl b/rust/private/rustc.bzl index 3e2f38e355..5cee1078dd 100644 --- a/rust/private/rustc.bzl +++ b/rust/private/rustc.bzl @@ -628,7 +628,12 @@ def construct_arguments( rustc_flags.add_all(rust_std_paths, before_each = "-L", format_each = "%s") rustc_flags.add_all(rust_flags) - data_paths = getattr(attr, "data", []) + getattr(attr, "compile_data", []) + # Deduplicate data paths due to https://github.com/bazelbuild/bazel/issues/14681 + data_paths = getattr(attr, "data", [])[:] + for extra_data in getattr(attr, "compile_data", []): + if extra_data not in data_paths: + data_paths.append(extra_data) + rustc_flags.add_all( expand_list_element_locations( ctx,