File tree Expand file tree Collapse file tree 1 file changed +6
-7
lines changed Expand file tree Collapse file tree 1 file changed +6
-7
lines changed Original file line number Diff line number Diff line change @@ -580,14 +580,15 @@ impl Cfg {
580580 dir : & Path ,
581581 settings : & Settings ,
582582 ) -> Result < Option < ( OverrideFile , OverrideReason ) > > {
583+ let mut override_ = None ;
584+
583585 let notify = self . notify_handler . as_ref ( ) ;
584- let mut dir = Some ( dir) ;
585586
586- while let Some ( d ) = dir {
587+ for d in std :: iter :: successors ( Some ( dir ) , |d| d . parent ( ) ) {
587588 // First check the override database
588589 if let Some ( name) = settings. dir_override ( d, notify) {
589590 let reason = OverrideReason :: OverrideDB ( d. to_owned ( ) ) ;
590- return Ok ( Some ( ( name. into ( ) , reason) ) ) ;
591+ update_override ( & mut override_ , name. into ( ) , reason) ;
591592 }
592593
593594 // Then look for 'rust-toolchain' or 'rust-toolchain.toml'
@@ -662,13 +663,11 @@ impl Cfg {
662663 }
663664
664665 let reason = OverrideReason :: ToolchainFile ( toolchain_file) ;
665- return Ok ( Some ( ( override_file, reason) ) ) ;
666+ update_override ( & mut override_ , override_file, reason) ;
666667 }
667-
668- dir = d. parent ( ) ;
669668 }
670669
671- Ok ( None )
670+ Ok ( override_ )
672671 }
673672
674673 fn parse_override_file < S : AsRef < str > > (
You can’t perform that action at this time.
0 commit comments