@@ -26,11 +26,11 @@ fn handle_epipe(res: Result<()>) -> Result<()> {
2626pub fn main ( ) -> Result < ( ) > {
2727 crate :: self_update:: cleanup_self_updater ( ) ?;
2828
29- let ref matches = cli ( ) . get_matches ( ) ;
29+ let matches = cli ( ) . get_matches ( ) ;
3030 let verbose = matches. is_present ( "verbose" ) ;
31- let ref cfg = common:: set_globals ( verbose) ?;
31+ let cfg = & common:: set_globals ( verbose) ?;
3232
33- if maybe_upgrade_data ( cfg, matches) ? {
33+ if maybe_upgrade_data ( cfg, & matches) ? {
3434 return Ok ( ( ) ) ;
3535 }
3636
@@ -408,7 +408,7 @@ pub fn cli() -> App<'static, 'static> {
408408 )
409409 . args (
410410 & DOCS_DATA
411- . into_iter ( )
411+ . iter ( )
412412 . map ( |( name, help_msg, _) | Arg :: with_name ( name) . long ( name) . help ( help_msg) )
413413 . collect :: < Vec < _ > > ( ) ,
414414 )
@@ -421,7 +421,7 @@ pub fn cli() -> App<'static, 'static> {
421421 . group (
422422 ArgGroup :: with_name ( "page" ) . args (
423423 & DOCS_DATA
424- . into_iter ( )
424+ . iter ( )
425425 . map ( |( name, _, _) | * name)
426426 . collect :: < Vec < _ > > ( ) ,
427427 ) ,
@@ -497,7 +497,7 @@ fn update_bare_triple_check(cfg: &Cfg, name: &str) -> Result<()> {
497497 warn ! ( "(partial) target triple specified instead of toolchain name" ) ;
498498 let installed_toolchains = cfg. list_toolchains ( ) ?;
499499 let default = cfg. find_default ( ) ?;
500- let default_name = default. map ( |t| t. name ( ) . to_string ( ) ) . unwrap_or ( "" . into ( ) ) ;
500+ let default_name = default. map ( |t| t. name ( ) . to_string ( ) ) . unwrap_or_default ( ) ;
501501 let mut candidates = vec ! [ ] ;
502502 for t in installed_toolchains {
503503 if t == default_name {
@@ -545,11 +545,11 @@ fn default_bare_triple_check(cfg: &Cfg, name: &str) -> Result<()> {
545545 if let Some ( triple) = PartialTargetTriple :: from_str ( name) {
546546 warn ! ( "(partial) target triple specified instead of toolchain name" ) ;
547547 let default = cfg. find_default ( ) ?;
548- let default_name = default. map ( |t| t. name ( ) . to_string ( ) ) . unwrap_or ( "" . into ( ) ) ;
548+ let default_name = default. map ( |t| t. name ( ) . to_string ( ) ) . unwrap_or_default ( ) ;
549549 if let Ok ( mut desc) = PartialToolchainDesc :: from_str ( & default_name) {
550550 desc. target = triple;
551551 let maybe_toolchain = format ! ( "{}" , desc) ;
552- let ref toolchain = cfg. get_toolchain ( maybe_toolchain. as_ref ( ) , false ) ?;
552+ let toolchain = cfg. get_toolchain ( maybe_toolchain. as_ref ( ) , false ) ?;
553553 if toolchain. name ( ) == default_name {
554554 warn ! (
555555 "(partial) triple '{}' resolves to a toolchain that is already default" ,
@@ -569,9 +569,9 @@ fn default_bare_triple_check(cfg: &Cfg, name: &str) -> Result<()> {
569569
570570fn default_ ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
571571 if m. is_present ( "toolchain" ) {
572- let ref toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
572+ let toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
573573 default_bare_triple_check ( cfg, toolchain) ?;
574- let ref toolchain = cfg. get_toolchain ( toolchain, false ) ?;
574+ let toolchain = cfg. get_toolchain ( toolchain, false ) ?;
575575
576576 let status = if !toolchain. is_custom ( ) {
577577 Some ( toolchain. install_from_dist_if_not_installed ( ) ?)
@@ -634,7 +634,7 @@ fn update(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> {
634634}
635635
636636fn run ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
637- let ref toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
637+ let toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
638638 let args = m. values_of ( "command" ) . unwrap ( ) ;
639639 let args: Vec < _ > = args. collect ( ) ;
640640 let cmd = cfg. create_command_for_toolchain ( toolchain, m. is_present ( "install" ) , args[ 0 ] ) ?;
@@ -669,9 +669,9 @@ fn show(cfg: &Cfg) -> Result<()> {
669669 writeln ! ( t) ?;
670670 }
671671
672- let ref cwd = utils:: current_dir ( ) ?;
672+ let cwd = utils:: current_dir ( ) ?;
673673 let installed_toolchains = cfg. list_toolchains ( ) ?;
674- let active_toolchain = cfg. find_override_toolchain_or_default ( cwd) ;
674+ let active_toolchain = cfg. find_override_toolchain_or_default ( & cwd) ;
675675
676676 // active_toolchain will carry the reason we don't have one in its detail.
677677 let active_targets = if let Ok ( ref at) = active_toolchain {
@@ -791,8 +791,8 @@ fn show(cfg: &Cfg) -> Result<()> {
791791}
792792
793793fn show_active_toolchain ( cfg : & Cfg ) -> Result < ( ) > {
794- let ref cwd = utils:: current_dir ( ) ?;
795- if let Some ( ( toolchain, reason) ) = cfg. find_override_toolchain_or_default ( cwd) ? {
794+ let cwd = utils:: current_dir ( ) ?;
795+ if let Some ( ( toolchain, reason) ) = cfg. find_override_toolchain_or_default ( & cwd) ? {
796796 if reason. is_some ( ) {
797797 println ! ( "{} ({})" , toolchain. name( ) , reason. unwrap( ) ) ;
798798 } else {
@@ -895,18 +895,20 @@ fn explicit_or_dir_toolchain<'a>(cfg: &'a Cfg, m: &ArgMatches<'_>) -> Result<Too
895895 return Ok ( toolchain) ;
896896 }
897897
898- let ref cwd = utils:: current_dir ( ) ?;
899- let ( toolchain, _) = cfg. toolchain_for_dir ( cwd) ?;
898+ let cwd = utils:: current_dir ( ) ?;
899+ let ( toolchain, _) = cfg. toolchain_for_dir ( & cwd) ?;
900900
901901 Ok ( toolchain)
902902}
903903
904904fn toolchain_link ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
905- let ref toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
906- let ref path = m. value_of ( "path" ) . expect ( "" ) ;
905+ let toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
906+ let path = m. value_of ( "path" ) . expect ( "" ) ;
907907 let toolchain = cfg. get_toolchain ( toolchain, true ) ?;
908908
909- Ok ( toolchain. install_from_dir ( Path :: new ( path) , true ) ?)
909+ toolchain
910+ . install_from_dir ( Path :: new ( path) , true )
911+ . map_err ( |e| e. into ( ) )
910912}
911913
912914fn toolchain_remove ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
@@ -918,7 +920,7 @@ fn toolchain_remove(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> {
918920}
919921
920922fn override_add ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
921- let ref toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
923+ let toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
922924 let toolchain = cfg. get_toolchain ( toolchain, false ) ?;
923925
924926 let status = if !toolchain. is_custom ( ) {
@@ -957,12 +959,10 @@ fn override_remove(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> {
957959 info ! ( "no nonexistent paths detected" ) ;
958960 }
959961 list
962+ } else if m. is_present ( "path" ) {
963+ vec ! [ m. value_of( "path" ) . unwrap( ) . to_string( ) ]
960964 } else {
961- if m. is_present ( "path" ) {
962- vec ! [ m. value_of( "path" ) . unwrap( ) . to_string( ) ]
963- } else {
964- vec ! [ utils:: current_dir( ) ?. to_str( ) . unwrap( ) . to_string( ) ]
965- }
965+ vec ! [ utils:: current_dir( ) ?. to_str( ) . unwrap( ) . to_string( ) ]
966966 } ;
967967
968968 for path in paths {
@@ -984,7 +984,7 @@ fn override_remove(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> {
984984 Ok ( ( ) )
985985}
986986
987- const DOCS_DATA : & [ ( & ' static str , & ' static str , & ' static str , ) ] = & [
987+ const DOCS_DATA : & [ ( & str , & str , & str , ) ] = & [
988988 // flags can be used to open specific documents, e.g. `rustup doc --nomicon`
989989 // tuple elements: document name used as flag, help message, document index path
990990 ( "alloc" , "The Rust core allocation and collections library" , "alloc/index.html" ) ,
@@ -1006,21 +1006,19 @@ const DOCS_DATA: &[(&'static str, &'static str, &'static str,)] = &[
10061006fn doc ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
10071007 let toolchain = explicit_or_dir_toolchain ( cfg, m) ?;
10081008
1009- let doc_url = if let Some ( ( _, _, path) ) = DOCS_DATA
1010- . into_iter ( )
1011- . find ( |( name, _, _) | m. is_present ( name) )
1012- {
1013- path
1014- } else {
1015- "index.html"
1016- } ;
1009+ let doc_url =
1010+ if let Some ( ( _, _, path) ) = DOCS_DATA . iter ( ) . find ( |( name, _, _) | m. is_present ( name) ) {
1011+ path
1012+ } else {
1013+ "index.html"
1014+ } ;
10171015
10181016 if m. is_present ( "path" ) {
10191017 let doc_path = toolchain. doc_path ( doc_url) ?;
10201018 println ! ( "{}" , doc_path. display( ) ) ;
10211019 Ok ( ( ) )
10221020 } else {
1023- Ok ( toolchain. open_docs ( doc_url) ? )
1021+ toolchain. open_docs ( doc_url) . map_err ( Into :: into )
10241022 }
10251023}
10261024
0 commit comments