Skip to content

Fixes BEP path handling for rust analyzer specs#4130

Merged
UebelAndre merged 1 commit into
bazelbuild:mainfrom
csmulhern:bep
Jul 7, 2026
Merged

Fixes BEP path handling for rust analyzer specs#4130
UebelAndre merged 1 commit into
bazelbuild:mainfrom
csmulhern:bep

Conversation

@csmulhern

Copy link
Copy Markdown
Contributor

The rewrite of the Rust Analyzer auto-discovery pipeline (see #4075) introduced a bug for users who use --experimental_convenience_symlinks=ignore (i.e. have no bazel-out symlink in their workspace).

parse_output_group_paths documentation suggests that output paths are always absolute

/// Read a BEP JSONL file and return every path that appears in the named
/// output group of any completed target or aspect, deduplicated. Paths are
/// absolute on the local filesystem.
pub fn parse_output_group_paths(

but that is not true for BEP events that trigger the fallback reconstruction path

// Fallback: reconstruct from pathPrefix + name. Bazel uses this form
// when the file lives in bazel-out and the absolute URI isn't reported.
if let Some(name) = &file.name {

This PR detects those cases and anchors those paths to the execution root, making them also absolute.

@csmulhern

Copy link
Copy Markdown
Contributor Author

cc @UebelAndre

@UebelAndre UebelAndre left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Thank you!

@UebelAndre UebelAndre added this pull request to the merge queue Jul 7, 2026
Merged via the queue into bazelbuild:main with commit 46d67bc Jul 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants