minor: Fix compile error in crates/cfg tests due to tt feature
#20836
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.rsdepend on thettfeature 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
ttfeature: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 cfgorcd 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 madetta required dependency ofcfg, removing the feature.I looked at all the places where thiscfgcrate is used, and it seems everywhere inherits the dependency spec from the workspace, and so enables thettfeature.If it turns out havingttas an optional dependency is important, I'm up for making all the tests conditionally compiled, or potentially applying a workaround to enable thettfeature when compiling tests.Having
ttas an optional dependency is important, so instead this PR will enable thettfeature when compiling tests. There is not direct support in Cargo for doing this, so this is done by depending on ourselves by path with the feature enabled in thedev-dependenciessection.