@@ -45,8 +45,6 @@ def write_rust_analyzer_spec_file(ctx, attrs, owner, base_info):
4545 RustAnalyzerInfo: Info with the embedded spec file.
4646 """
4747 crate_spec = ctx .actions .declare_file ("{}.rust_analyzer_crate_spec.json" .format (owner .name ))
48- proc_macro_dylibs = [base_info .proc_macro_dylib ] if base_info .proc_macro_dylib else None
49- build_info_out_dirs = [base_info .build_info .out_dir ] if base_info .build_info != None and base_info .build_info .out_dir != None else None
5048
5149 # Recreate the provider with the spec file embedded in it.
5250 rust_analyzer_info = RustAnalyzerInfo (
@@ -56,8 +54,8 @@ def write_rust_analyzer_spec_file(ctx, attrs, owner, base_info):
5654 env = base_info .env ,
5755 deps = base_info .deps ,
5856 crate_specs = depset (direct = [crate_spec ], transitive = [base_info .crate_specs ]),
59- proc_macro_dylibs = depset (direct = proc_macro_dylibs , transitive = [base_info .proc_macro_dylibs ]),
60- build_info_out_dirs = depset (direct = build_info_out_dirs , transitive = [base_info .build_info_out_dirs ]),
57+ proc_macro_dylibs = depset (transitive = [base_info .proc_macro_dylibs ]),
58+ build_info_out_dirs = depset (transitive = [base_info .build_info_out_dirs ]),
6159 proc_macro_dylib = base_info .proc_macro_dylib ,
6260 build_info = base_info .build_info ,
6361 )
@@ -140,6 +138,8 @@ def _rust_analyzer_aspect_impl(target, ctx):
140138 aliases [labels_to_rais [aliased_target .label ]] = aliased_name
141139
142140 proc_macro_dylib = find_proc_macro_dylib (toolchain , target )
141+ proc_macro_dylibs = [proc_macro_dylib ] if proc_macro_dylib else None
142+ build_info_out_dirs = [build_info .out_dir ] if build_info != None and build_info .out_dir != None else None
143143
144144 rust_analyzer_info = write_rust_analyzer_spec_file (ctx , ctx .rule .attr , ctx .label , RustAnalyzerInfo (
145145 aliases = aliases ,
@@ -148,8 +148,8 @@ def _rust_analyzer_aspect_impl(target, ctx):
148148 env = crate_info .rustc_env ,
149149 deps = dep_infos ,
150150 crate_specs = depset (transitive = [dep .crate_specs for dep in dep_infos ]),
151- proc_macro_dylibs = depset (transitive = [dep .proc_macro_dylibs for dep in dep_infos ]),
152- build_info_out_dirs = depset (transitive = [dep .build_info_out_dirs for dep in dep_infos ]),
151+ proc_macro_dylibs = depset (direct = proc_macro_dylibs , transitive = [dep .proc_macro_dylibs for dep in dep_infos ]),
152+ build_info_out_dirs = depset (direct = build_info_out_dirs , transitive = [dep .build_info_out_dirs for dep in dep_infos ]),
153153 proc_macro_dylib = proc_macro_dylib ,
154154 build_info = build_info ,
155155 ))
0 commit comments