Skip to content

Commit e230748

Browse files
committed
Inline wrapper function
1 parent 5e05b7d commit e230748

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

src/dist/mod.rs

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -750,20 +750,6 @@ pub(crate) async fn update_from_dist(
750750
}
751751
}
752752

753-
let res = update_from_dist_(prefix, opts).await;
754-
// Don't leave behind an empty / broken installation directory
755-
if res.is_err() && fresh_install {
756-
// FIXME Ignoring cascading errors
757-
let _ = utils::remove_dir("toolchain", prefix.path(), opts.dl_cfg.notify_handler);
758-
}
759-
760-
res
761-
}
762-
763-
async fn update_from_dist_(
764-
prefix: &InstallPrefix,
765-
opts: &DistOptions<'_>,
766-
) -> Result<Option<String>> {
767753
let mut fetched = String::new();
768754
let mut first_err = None;
769755
let backtrack = opts.desc.channel == "nightly" && opts.desc.date.is_none();
@@ -811,7 +797,7 @@ async fn update_from_dist_(
811797
};
812798

813799
let mut toolchain = opts.desc.clone();
814-
loop {
800+
let res = loop {
815801
let result = try_update_from_dist_(
816802
opts.dl_cfg,
817803
opts.update_hash,
@@ -829,8 +815,8 @@ async fn update_from_dist_(
829815
.await;
830816

831817
let e = match result {
832-
Ok(v) => return Ok(v),
833-
Err(e) if !backtrack => return Err(e),
818+
Ok(v) => break Ok(v),
819+
Err(e) if !backtrack => break Err(e),
834820
Err(e) => e,
835821
};
836822

@@ -892,7 +878,15 @@ async fn update_from_dist_(
892878
}
893879

894880
toolchain.date = Some(try_next.format("%Y-%m-%d").to_string());
881+
};
882+
883+
// Don't leave behind an empty / broken installation directory
884+
if res.is_err() && fresh_install {
885+
// FIXME Ignoring cascading errors
886+
let _ = utils::remove_dir("toolchain", prefix.path(), opts.dl_cfg.notify_handler);
895887
}
888+
889+
res
896890
}
897891

898892
async fn try_update_from_dist_(

0 commit comments

Comments
 (0)