@@ -28,11 +28,11 @@ fn handle_epipe(res: Result<()>) -> Result<()> {
28
28
pub fn main ( ) -> Result < ( ) > {
29
29
crate :: self_update:: cleanup_self_updater ( ) ?;
30
30
31
- let ref matches = cli ( ) . get_matches ( ) ;
31
+ let matches = cli ( ) . get_matches ( ) ;
32
32
let verbose = matches. is_present ( "verbose" ) ;
33
- let ref cfg = common:: set_globals ( verbose) ?;
33
+ let cfg = & common:: set_globals ( verbose) ?;
34
34
35
- if maybe_upgrade_data ( cfg, matches) ? {
35
+ if maybe_upgrade_data ( cfg, & matches) ? {
36
36
return Ok ( ( ) ) ;
37
37
}
38
38
@@ -411,7 +411,7 @@ pub fn cli() -> App<'static, 'static> {
411
411
)
412
412
. args (
413
413
& DOCS_DATA
414
- . into_iter ( )
414
+ . iter ( )
415
415
. map ( |( name, help_msg, _) | Arg :: with_name ( name) . long ( name) . help ( help_msg) )
416
416
. collect :: < Vec < _ > > ( ) ,
417
417
)
@@ -424,7 +424,7 @@ pub fn cli() -> App<'static, 'static> {
424
424
. group (
425
425
ArgGroup :: with_name ( "page" ) . args (
426
426
& DOCS_DATA
427
- . into_iter ( )
427
+ . iter ( )
428
428
. map ( |( name, _, _) | * name)
429
429
. collect :: < Vec < _ > > ( ) ,
430
430
) ,
@@ -558,7 +558,7 @@ fn update_bare_triple_check(cfg: &Cfg, name: &str) -> Result<()> {
558
558
warn ! ( "(partial) target triple specified instead of toolchain name" ) ;
559
559
let installed_toolchains = cfg. list_toolchains ( ) ?;
560
560
let default = cfg. find_default ( ) ?;
561
- let default_name = default. map ( |t| t. name ( ) . to_string ( ) ) . unwrap_or ( "" . into ( ) ) ;
561
+ let default_name = default. map ( |t| t. name ( ) . to_string ( ) ) . unwrap_or_default ( ) ;
562
562
let mut candidates = vec ! [ ] ;
563
563
for t in installed_toolchains {
564
564
if t == default_name {
@@ -606,11 +606,11 @@ fn default_bare_triple_check(cfg: &Cfg, name: &str) -> Result<()> {
606
606
if let Some ( triple) = PartialTargetTriple :: from_str ( name) {
607
607
warn ! ( "(partial) target triple specified instead of toolchain name" ) ;
608
608
let default = cfg. find_default ( ) ?;
609
- let default_name = default. map ( |t| t. name ( ) . to_string ( ) ) . unwrap_or ( "" . into ( ) ) ;
609
+ let default_name = default. map ( |t| t. name ( ) . to_string ( ) ) . unwrap_or_default ( ) ;
610
610
if let Ok ( mut desc) = PartialToolchainDesc :: from_str ( & default_name) {
611
611
desc. target = triple;
612
612
let maybe_toolchain = format ! ( "{}" , desc) ;
613
- let ref toolchain = cfg. get_toolchain ( maybe_toolchain. as_ref ( ) , false ) ?;
613
+ let toolchain = cfg. get_toolchain ( maybe_toolchain. as_ref ( ) , false ) ?;
614
614
if toolchain. name ( ) == default_name {
615
615
warn ! (
616
616
"(partial) triple '{}' resolves to a toolchain that is already default" ,
@@ -630,9 +630,9 @@ fn default_bare_triple_check(cfg: &Cfg, name: &str) -> Result<()> {
630
630
631
631
fn default_ ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
632
632
if m. is_present ( "toolchain" ) {
633
- let ref toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
633
+ let toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
634
634
default_bare_triple_check ( cfg, toolchain) ?;
635
- let ref toolchain = cfg. get_toolchain ( toolchain, false ) ?;
635
+ let toolchain = cfg. get_toolchain ( toolchain, false ) ?;
636
636
637
637
let status = if !toolchain. is_custom ( ) {
638
638
Some ( toolchain. install_from_dist_if_not_installed ( ) ?)
@@ -695,7 +695,7 @@ fn update(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> {
695
695
}
696
696
697
697
fn run ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
698
- let ref toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
698
+ let toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
699
699
let args = m. values_of ( "command" ) . unwrap ( ) ;
700
700
let args: Vec < _ > = args. collect ( ) ;
701
701
let cmd = cfg. create_command_for_toolchain ( toolchain, m. is_present ( "install" ) , args[ 0 ] ) ?;
@@ -730,9 +730,9 @@ fn show(cfg: &Cfg) -> Result<()> {
730
730
writeln ! ( t) ?;
731
731
}
732
732
733
- let ref cwd = utils:: current_dir ( ) ?;
733
+ let cwd = utils:: current_dir ( ) ?;
734
734
let installed_toolchains = cfg. list_toolchains ( ) ?;
735
- let active_toolchain = cfg. find_override_toolchain_or_default ( cwd) ;
735
+ let active_toolchain = cfg. find_override_toolchain_or_default ( & cwd) ;
736
736
737
737
// active_toolchain will carry the reason we don't have one in its detail.
738
738
let active_targets = if let Ok ( ref at) = active_toolchain {
@@ -852,8 +852,8 @@ fn show(cfg: &Cfg) -> Result<()> {
852
852
}
853
853
854
854
fn show_active_toolchain ( cfg : & Cfg ) -> Result < ( ) > {
855
- let ref cwd = utils:: current_dir ( ) ?;
856
- if let Some ( ( toolchain, reason) ) = cfg. find_override_toolchain_or_default ( cwd) ? {
855
+ let cwd = utils:: current_dir ( ) ?;
856
+ if let Some ( ( toolchain, reason) ) = cfg. find_override_toolchain_or_default ( & cwd) ? {
857
857
if reason. is_some ( ) {
858
858
println ! ( "{} ({})" , toolchain. name( ) , reason. unwrap( ) ) ;
859
859
} else {
@@ -956,18 +956,20 @@ fn explicit_or_dir_toolchain<'a>(cfg: &'a Cfg, m: &ArgMatches<'_>) -> Result<Too
956
956
return Ok ( toolchain) ;
957
957
}
958
958
959
- let ref cwd = utils:: current_dir ( ) ?;
960
- let ( toolchain, _) = cfg. toolchain_for_dir ( cwd) ?;
959
+ let cwd = utils:: current_dir ( ) ?;
960
+ let ( toolchain, _) = cfg. toolchain_for_dir ( & cwd) ?;
961
961
962
962
Ok ( toolchain)
963
963
}
964
964
965
965
fn toolchain_link ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
966
- let ref toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
967
- let ref path = m. value_of ( "path" ) . expect ( "" ) ;
966
+ let toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
967
+ let path = m. value_of ( "path" ) . expect ( "" ) ;
968
968
let toolchain = cfg. get_toolchain ( toolchain, true ) ?;
969
969
970
- Ok ( toolchain. install_from_dir ( Path :: new ( path) , true ) ?)
970
+ toolchain
971
+ . install_from_dir ( Path :: new ( path) , true )
972
+ . map_err ( |e| e. into ( ) )
971
973
}
972
974
973
975
fn toolchain_remove ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
@@ -979,7 +981,7 @@ fn toolchain_remove(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> {
979
981
}
980
982
981
983
fn override_add ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
982
- let ref toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
984
+ let toolchain = m. value_of ( "toolchain" ) . expect ( "" ) ;
983
985
let toolchain = cfg. get_toolchain ( toolchain, false ) ?;
984
986
985
987
let status = if !toolchain. is_custom ( ) {
@@ -1018,12 +1020,10 @@ fn override_remove(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> {
1018
1020
info ! ( "no nonexistent paths detected" ) ;
1019
1021
}
1020
1022
list
1023
+ } else if m. is_present ( "path" ) {
1024
+ vec ! [ m. value_of( "path" ) . unwrap( ) . to_string( ) ]
1021
1025
} else {
1022
- if m. is_present ( "path" ) {
1023
- vec ! [ m. value_of( "path" ) . unwrap( ) . to_string( ) ]
1024
- } else {
1025
- vec ! [ utils:: current_dir( ) ?. to_str( ) . unwrap( ) . to_string( ) ]
1026
- }
1026
+ vec ! [ utils:: current_dir( ) ?. to_str( ) . unwrap( ) . to_string( ) ]
1027
1027
} ;
1028
1028
1029
1029
for path in paths {
@@ -1045,7 +1045,7 @@ fn override_remove(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> {
1045
1045
Ok ( ( ) )
1046
1046
}
1047
1047
1048
- const DOCS_DATA : & [ ( & ' static str , & ' static str , & ' static str , ) ] = & [
1048
+ const DOCS_DATA : & [ ( & str , & str , & str , ) ] = & [
1049
1049
// flags can be used to open specific documents, e.g. `rustup doc --nomicon`
1050
1050
// tuple elements: document name used as flag, help message, document index path
1051
1051
( "alloc" , "The Rust core allocation and collections library" , "alloc/index.html" ) ,
@@ -1068,21 +1068,19 @@ const DOCS_DATA: &[(&'static str, &'static str, &'static str,)] = &[
1068
1068
fn doc ( cfg : & Cfg , m : & ArgMatches < ' _ > ) -> Result < ( ) > {
1069
1069
let toolchain = explicit_or_dir_toolchain ( cfg, m) ?;
1070
1070
1071
- let doc_url = if let Some ( ( _, _, path) ) = DOCS_DATA
1072
- . into_iter ( )
1073
- . find ( |( name, _, _) | m. is_present ( name) )
1074
- {
1075
- path
1076
- } else {
1077
- "index.html"
1078
- } ;
1071
+ let doc_url =
1072
+ if let Some ( ( _, _, path) ) = DOCS_DATA . iter ( ) . find ( |( name, _, _) | m. is_present ( name) ) {
1073
+ path
1074
+ } else {
1075
+ "index.html"
1076
+ } ;
1079
1077
1080
1078
if m. is_present ( "path" ) {
1081
1079
let doc_path = toolchain. doc_path ( doc_url) ?;
1082
1080
println ! ( "{}" , doc_path. display( ) ) ;
1083
1081
Ok ( ( ) )
1084
1082
} else {
1085
- Ok ( toolchain. open_docs ( doc_url) ? )
1083
+ toolchain. open_docs ( doc_url) . map_err ( Into :: into )
1086
1084
}
1087
1085
}
1088
1086
0 commit comments