@@ -149,12 +149,10 @@ pub fn find_closest_pnp_manifest_path<P: AsRef<Path>>(p: P) -> Option<PathBuf> {
149
149
150
150
if pnp_path. exists ( ) {
151
151
Some ( pnp_path)
152
+ } else if let Some ( directory_path) = p. as_ref ( ) . parent ( ) {
153
+ find_closest_pnp_manifest_path ( directory_path)
152
154
} else {
153
- if let Some ( directory_path) = p. as_ref ( ) . parent ( ) {
154
- find_closest_pnp_manifest_path ( directory_path)
155
- } else {
156
- None
157
- }
155
+ None
158
156
}
159
157
}
160
158
@@ -233,7 +231,7 @@ pub fn init_pnp_manifest<P: AsRef<Path>>(manifest: &mut Manifest, p: P) {
233
231
}
234
232
235
233
pub fn find_pnp_manifest ( parent : & Path ) -> Result < Option < Manifest > , Error > {
236
- find_closest_pnp_manifest_path ( parent) . map_or ( Ok ( None ) , |p| Ok ( Some ( load_pnp_manifest ( & p) ?) ) )
234
+ find_closest_pnp_manifest_path ( parent) . map_or ( Ok ( None ) , |p| Ok ( Some ( load_pnp_manifest ( p) ?) ) )
237
235
}
238
236
239
237
pub fn find_locator < ' a , P : AsRef < Path > > ( manifest : & ' a Manifest , path : & P ) -> Option < & ' a PackageLocator > {
@@ -270,8 +268,8 @@ pub fn is_excluded_from_fallback(manifest: &Manifest, locator: &PackageLocator)
270
268
pub fn resolve_to_unqualified_via_manifest < P : AsRef < Path > > ( manifest : & Manifest , specifier : & str , parent : P ) -> Result < Resolution , Error > {
271
269
let ( ident, module_path) = parse_bare_identifier ( specifier) ?;
272
270
273
- if let Some ( parent_locator) = find_locator ( & manifest, & parent) {
274
- let parent_pkg = get_package ( & manifest, parent_locator) ?;
271
+ if let Some ( parent_locator) = find_locator ( manifest, & parent) {
272
+ let parent_pkg = get_package ( manifest, parent_locator) ?;
275
273
276
274
let mut reference_or_alias: Option < PackageDependency > = None ;
277
275
let mut is_set = false ;
@@ -283,7 +281,7 @@ pub fn resolve_to_unqualified_via_manifest<P: AsRef<Path>>(manifest: &Manifest,
283
281
}
284
282
}
285
283
286
- if !is_set && manifest. enable_top_level_fallback && !is_excluded_from_fallback ( & manifest, parent_locator) {
284
+ if !is_set && manifest. enable_top_level_fallback && !is_excluded_from_fallback ( manifest, parent_locator) {
287
285
if let Some ( fallback_resolution) = manifest. fallback_pool . get ( & ident) {
288
286
reference_or_alias = fallback_resolution. clone ( ) ;
289
287
is_set = true ;
@@ -296,13 +294,13 @@ pub fn resolve_to_unqualified_via_manifest<P: AsRef<Path>>(manifest: &Manifest,
296
294
297
295
if let Some ( resolution) = reference_or_alias {
298
296
let dependency_pkg = match resolution {
299
- PackageDependency :: Reference ( reference) => get_package ( & manifest, & PackageLocator { name : ident, reference } ) ,
300
- PackageDependency :: Alias ( name, reference) => get_package ( & manifest, & PackageLocator { name, reference } ) ,
297
+ PackageDependency :: Reference ( reference) => get_package ( manifest, & PackageLocator { name : ident, reference } ) ,
298
+ PackageDependency :: Alias ( name, reference) => get_package ( manifest, & PackageLocator { name, reference } ) ,
301
299
} ?;
302
300
303
- Ok ( Resolution :: Package ( dependency_pkg. package_location . clone ( ) , module_path. clone ( ) ) )
301
+ Ok ( Resolution :: Package ( dependency_pkg. package_location . clone ( ) , module_path) )
304
302
} else {
305
- return Err ( Error :: FailedResolution ) ;
303
+ Err ( Error :: FailedResolution )
306
304
}
307
305
} else {
308
306
Ok ( Resolution :: Specifier ( specifier. to_string ( ) ) )
@@ -311,7 +309,7 @@ pub fn resolve_to_unqualified_via_manifest<P: AsRef<Path>>(manifest: &Manifest,
311
309
312
310
pub fn resolve_to_unqualified < P : AsRef < Path > > ( specifier : & str , parent : P , config : & ResolutionConfig ) -> Result < Resolution , Error > {
313
311
if let Some ( manifest) = ( config. host . find_pnp_manifest ) ( parent. as_ref ( ) ) ? {
314
- resolve_to_unqualified_via_manifest ( & manifest, & specifier, & parent)
312
+ resolve_to_unqualified_via_manifest ( & manifest, specifier, & parent)
315
313
} else {
316
314
Ok ( Resolution :: Specifier ( specifier. to_string ( ) ) )
317
315
}
0 commit comments