mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-05-06 20:20:03 +00:00
Optimize Download::and_visit_tar
: Use trait object to avoid monomorphization (#644)
by removing method `TarEntriesVisitor::finish` and associated type `TarEntriesVisitor::Target`. Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
1ab979cde8
commit
959b465d81
4 changed files with 30 additions and 37 deletions
|
@ -52,7 +52,11 @@ pub async fn fetch_crate_cratesio(
|
|||
|
||||
let manifest_dir_path: PathBuf = format!("{name}-{version_name}").into();
|
||||
|
||||
Ok(Download::new(client, Url::parse(&crate_url)?)
|
||||
.and_visit_tar(TarBasedFmt::Tgz, ManifestVisitor::new(manifest_dir_path))
|
||||
.await?)
|
||||
let mut manifest_visitor = ManifestVisitor::new(manifest_dir_path);
|
||||
|
||||
Download::new(client, Url::parse(&crate_url)?)
|
||||
.and_visit_tar(TarBasedFmt::Tgz, &mut manifest_visitor)
|
||||
.await?;
|
||||
|
||||
manifest_visitor.load_manifest()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue