Fix compile error in crates/cfg
tests due to tt
feature
#20836
+2
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
The tests in
crates/cfg/src/tests.rs
depend on thett
feature of that crate, but are not feature-gated behind it.When tests are run from the workspace root, there is no error because the workspace enables the
tt
feature:rust-analyzer/Cargo.toml
Line 57 in c5181db
But there are compile errors when trying to run that specific crate's tests via
cargo test --package cfg
orcd crates/cfg && cargo test
. This also affects running tests via the VSCode "Run Test" inlay buttons or Test Explorer panel.Fix
In this PR, I just made
tt
a required dependency ofcfg
, removing the feature.I looked at all the places where this
cfg
crate is used, and it seems everywhere inherits the dependency spec from the workspace, and so enables thett
feature.If it turns out having
tt
as an optional dependency is important, I'm up for making all the tests conditionally compiled, or potentially applying a workaround to enable thett
feature when compiling tests.