Skip to content

Conversation

sunshowers
Copy link
Contributor

@sunshowers sunshowers commented Jul 28, 2025

While looking at build performance I realized that we weren't unifying feature sets across rust-analyzer builds and ones done on the command line. Switching from traversal-excludes (i.e. omitted while computing the set of features for each package) to final-excludes (removed at the very end) addresses this issue.

This doesn't completely unify all feature sets (e.g. we have a few testing features within the workspace that can't be unified), but it does ensure that third-party dependencies are shared across all builds.

With this change, after running a cargo check within rust-analyzer:

% cargo check --all-targets
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.91s

Created using spr 1.3.6-beta.1
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.

1 participant