File tree Expand file tree Collapse file tree 1 file changed +21
-14
lines changed Expand file tree Collapse file tree 1 file changed +21
-14
lines changed Original file line number Diff line number Diff line change @@ -483,20 +483,27 @@ impl Config {
483483 // TODO: needs improving!
484484
485485 pub fn find_is_type_dev_for_path ( & self , relative_path : & Path ) -> bool {
486- if let Some ( relative_parent) = relative_path. parent ( ) . map ( |p| Path :: new ( p) ) {
487- if let Some ( sources) = & self . sources {
488- match sources {
489- OneOrMore :: Single ( Source :: Qualified ( package_source) ) => {
490- Path :: new ( & package_source. dir ) == relative_parent && package_source. is_type_dev ( )
491- }
492- _ => false ,
493- }
494- } else {
495- false
496- }
497- } else {
498- false
499- }
486+ let relative_parent = match relative_path. parent ( ) {
487+ None => return false ,
488+ Some ( parent) => Path :: new ( parent) ,
489+ } ;
490+
491+ let package_sources = match self . sources . as_ref ( ) {
492+ None => vec ! [ ] ,
493+ Some ( OneOrMore :: Single ( Source :: Shorthand ( _) ) ) => vec ! [ ] ,
494+ Some ( OneOrMore :: Single ( Source :: Qualified ( source) ) ) => vec ! [ source] ,
495+ Some ( OneOrMore :: Multiple ( multiple) ) => multiple
496+ . iter ( )
497+ . filter_map ( |source| match source {
498+ Source :: Shorthand ( _) => None ,
499+ Source :: Qualified ( package_source) => Some ( package_source) ,
500+ } )
501+ . collect ( ) ,
502+ } ;
503+
504+ package_sources. iter ( ) . any ( |package_source| {
505+ Path :: new ( & package_source. dir ) == relative_parent && package_source. is_type_dev ( )
506+ } )
500507 }
501508}
502509
You can’t perform that action at this time.
0 commit comments