Clarify use $crate
restriction
#2010
Draft
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.
The previous wording for this restriction was pretty confusing to me. I don't remember what I was thinking when I wrote it, and I can't find any historical explanation either.
use
paths can use$crate
as long as they have more than one segment (use $crate::foo
is obviously OK).I have rewritten this to make it clear it is specifically about
use $crate
. One could say that restriction is already covered by the previous point that saysuse crate;
requires anas
, but for some reasonuse $crate as foo
doesn't work either. So I have left this as a separate rule for now.cc rust-lang/rust#146972 (comment) for context.