File tree 6 files changed +9
-2
lines changed
crates/resolver-tests/src
6 files changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -112,6 +112,7 @@ pub fn resolve_with_config_raw(
112
112
let matched = match kind {
113
113
QueryKind :: Exact => dep. matches ( summary) ,
114
114
QueryKind :: Fuzzy => true ,
115
+ QueryKind :: Normalized => true ,
115
116
} ;
116
117
if matched {
117
118
self . used . insert ( summary. package_id ( ) ) ;
Original file line number Diff line number Diff line change @@ -707,7 +707,7 @@ fn select_package(
707
707
MaybeWorkspace :: Other ( query) => {
708
708
let possibilities = loop {
709
709
// Exact to avoid returning all for path/git
710
- match registry. query_vec ( & query, QueryKind :: Exact ) {
710
+ match registry. query_vec ( & query, QueryKind :: Normalized ) {
711
711
std:: task:: Poll :: Ready ( res) => {
712
712
break res?;
713
713
}
@@ -934,7 +934,7 @@ fn populate_available_features(
934
934
}
935
935
936
936
let possibilities = loop {
937
- match registry. query_vec ( & query, QueryKind :: Exact ) {
937
+ match registry. query_vec ( & query, QueryKind :: Normalized ) {
938
938
std:: task:: Poll :: Ready ( res) => {
939
939
break res?;
940
940
}
Original file line number Diff line number Diff line change @@ -109,6 +109,7 @@ impl<'cfg> Source for DirectorySource<'cfg> {
109
109
let matches = packages. filter ( |pkg| match kind {
110
110
QueryKind :: Exact => dep. matches ( pkg. summary ( ) ) ,
111
111
QueryKind :: Fuzzy => true ,
112
+ QueryKind :: Normalized => dep. matches ( pkg. summary ( ) ) ,
112
113
} ) ;
113
114
for summary in matches. map ( |pkg| pkg. summary ( ) . clone ( ) ) {
114
115
f ( IndexSummary :: Candidate ( summary) ) ;
Original file line number Diff line number Diff line change @@ -555,6 +555,7 @@ impl<'cfg> Source for PathSource<'cfg> {
555
555
let matched = match kind {
556
556
QueryKind :: Exact => dep. matches ( s) ,
557
557
QueryKind :: Fuzzy => true ,
558
+ QueryKind :: Normalized => dep. matches ( s) ,
558
559
} ;
559
560
if matched {
560
561
f ( IndexSummary :: Candidate ( s. clone ( ) ) )
Original file line number Diff line number Diff line change @@ -782,6 +782,7 @@ impl<'cfg> Source for RegistrySource<'cfg> {
782
782
let matched = match kind {
783
783
QueryKind :: Exact => dep. matches( s. as_summary( ) ) ,
784
784
QueryKind :: Fuzzy => true ,
785
+ QueryKind :: Normalized => true ,
785
786
} ;
786
787
// Next filter out all yanked packages. Some yanked packages may
787
788
// leak through if they're in a whitelist (aka if they were
Original file line number Diff line number Diff line change @@ -180,6 +180,9 @@ pub enum QueryKind {
180
180
/// whereas an `Registry` source may return dependencies that have the same
181
181
/// canonicalization.
182
182
Fuzzy ,
183
+ /// Match a denpendency in all ways and will normalize the package name.
184
+ /// Each source defines what normalizing means.
185
+ Normalized ,
183
186
}
184
187
185
188
/// A download status that represents if a [`Package`] has already been
You can’t perform that action at this time.
0 commit comments