File tree Expand file tree Collapse file tree 5 files changed +8
-1
lines changed
crates/resolver-tests/src Expand file tree Collapse file tree 5 files changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -113,6 +113,7 @@ pub fn resolve_with_config_raw(
113113 let matched = match kind {
114114 QueryKind :: Exact => dep. matches ( summary) ,
115115 QueryKind :: Fuzzy => true ,
116+ QueryKind :: Normalized => true ,
116117 } ;
117118 if matched {
118119 self . used . insert ( summary. package_id ( ) ) ;
Original file line number Diff line number Diff line change @@ -109,6 +109,7 @@ impl<'cfg> Source for DirectorySource<'cfg> {
109109 let matches = packages. filter ( |pkg| match kind {
110110 QueryKind :: Exact => dep. matches ( pkg. summary ( ) ) ,
111111 QueryKind :: Fuzzy => true ,
112+ QueryKind :: Normalized => dep. matches ( pkg. summary ( ) ) ,
112113 } ) ;
113114 for summary in matches. map ( |pkg| pkg. summary ( ) . clone ( ) ) {
114115 f ( IndexSummary :: Candidate ( summary) ) ;
Original file line number Diff line number Diff line change @@ -555,6 +555,7 @@ impl<'cfg> Source for PathSource<'cfg> {
555555 let matched = match kind {
556556 QueryKind :: Exact => dep. matches ( s) ,
557557 QueryKind :: Fuzzy => true ,
558+ QueryKind :: Normalized => dep. matches ( s) ,
558559 } ;
559560 if matched {
560561 f ( IndexSummary :: Candidate ( s. clone ( ) ) )
Original file line number Diff line number Diff line change @@ -793,6 +793,7 @@ impl<'cfg> Source for RegistrySource<'cfg> {
793793 let matched = match kind {
794794 QueryKind :: Exact => dep. matches( s. as_summary( ) ) ,
795795 QueryKind :: Fuzzy => true ,
796+ QueryKind :: Normalized => true ,
796797 } ;
797798 if !matched {
798799 return ;
@@ -831,7 +832,7 @@ impl<'cfg> Source for RegistrySource<'cfg> {
831832 return Poll :: Ready ( Ok ( ( ) ) ) ;
832833 }
833834 let mut any_pending = false ;
834- if kind == QueryKind :: Fuzzy {
835+ if kind == QueryKind :: Fuzzy || kind == QueryKind :: Normalized {
835836 // Attempt to handle misspellings by searching for a chain of related
836837 // names to the original name. The resolver will later
837838 // reject any candidates that have the wrong name, and with this it'll
Original file line number Diff line number Diff line change @@ -180,6 +180,9 @@ pub enum QueryKind {
180180 /// whereas an `Registry` source may return dependencies that have the same
181181 /// canonicalization.
182182 Fuzzy ,
183+ /// Match a denpendency in all ways and will normalize the package name.
184+ /// Each source defines what normalizing means.
185+ Normalized ,
183186}
184187
185188/// A download status that represents if a [`Package`] has already been
You can’t perform that action at this time.
0 commit comments