@@ -1540,9 +1540,6 @@ impl Config {
15401540 }
15411541 }
15421542
1543- let file_content = t ! ( fs:: read_to_string( config. src. join( "src/ci/channel" ) ) ) ;
1544- let ci_channel = file_content. trim_end ( ) ;
1545-
15461543 // Give a hard error if `--config` or `RUST_BOOTSTRAP_CONFIG` are set to a missing path,
15471544 // but not if `bootstrap.toml` hasn't been created.
15481545 let mut toml = if !using_default_path || toml_path. exists ( ) {
@@ -1847,16 +1844,20 @@ impl Config {
18471844 let mut lld_enabled = None ;
18481845 let mut std_features = None ;
18491846
1847+ let file_content = t ! ( fs:: read_to_string( config. src. join( "src/ci/channel" ) ) ) ;
1848+ let ci_channel = file_content. trim_end ( ) ;
1849+
18501850 let is_user_configured_rust_channel =
1851- if let Some ( channel ) = toml. rust . as_ref ( ) . and_then ( |r| r. channel . clone ( ) ) {
1852- if channel == "auto-detect" {
1851+ match toml. rust . as_ref ( ) . and_then ( |r| r. channel . clone ( ) ) {
1852+ Some ( channel ) if channel == "auto-detect" => {
18531853 config. channel = ci_channel. into ( ) ;
1854- } else {
1854+ true
1855+ }
1856+ Some ( channel) => {
18551857 config. channel = channel;
1858+ true
18561859 }
1857- true
1858- } else {
1859- false
1860+ None => false ,
18601861 } ;
18611862
18621863 let default = config. channel == "dev" ;
@@ -1882,6 +1883,10 @@ impl Config {
18821883 && config. src . join ( ".cargo/config.toml" ) . exists ( ) ,
18831884 ) ;
18841885
1886+ if !is_user_configured_rust_channel && config. rust_info . is_from_tarball ( ) {
1887+ config. channel = ci_channel. into ( ) ;
1888+ }
1889+
18851890 if let Some ( rust) = toml. rust {
18861891 let Rust {
18871892 optimize : optimize_toml,
@@ -2085,8 +2090,6 @@ impl Config {
20852090
20862091 config. channel = channel;
20872092 }
2088- } else if config. rust_info . is_from_tarball ( ) && !is_user_configured_rust_channel {
2089- ci_channel. clone_into ( & mut config. channel ) ;
20902093 }
20912094
20922095 if let Some ( llvm) = toml. llvm {
0 commit comments