rules_rust icon indicating copy to clipboard operation
rules_rust copied to clipboard

Updated rust-analyzer to use repo vs generated files as crate roots

Open UebelAndre opened this issue 1 year ago • 0 comments

This change updates the rust_analyzer_aspect to attempt to match generated crate root sources to srcs inputs and use the the path of the source file in place of the generated path. The generated path is then added to sources.include_dirs for compatibility. The impact of this can be seen in the following diff of the @rules_rust//:rust-project.json file:

--- rust-project.old.json	2024-06-28 09:00:51
+++ rust-project.json	2024-06-28 09:04:43
@@ -821,10 +821,16 @@
         },
         {
             "display_name": "libgensrc_with_crate_root",
-            "root_module": "/private/var/tmp/_bazel_user/76282c66b0dfe3c5cb9a230bdc913a52/execroot/rules_rust/bazel-out/darwin_arm64-fastbuild/bin/test/generated_inputs/lib.rs",
+            "root_module": "test/generated_inputs/lib.rs",
             "edition": "2018",
             "deps": [],
             "is_workspace_member": true,
+            "source": {
+                "include_dirs": [
+                    "/private/var/tmp/_bazel_user/76282c66b0dfe3c5cb9a230bdc913a52/execroot/rules_rust/bazel-out/darwin_arm64-fastbuild/bin/test/generated_inputs"
+                ],
+                "exclude_dirs": []
+            },
             "cfg": [
                 "test",
                 "debug_assertions"
@@ -850,10 +856,16 @@
...
...
...

closes https://github.com/bazelbuild/rules_rust/issues/2716

UebelAndre avatar Jun 28 '24 15:06 UebelAndre