From: Ian Jackson Date: Sat, 15 May 2021 00:13:20 +0000 (+0100) Subject: bundles: Remove a not-needed layer of references X-Git-Tag: otter-0.6.0~299 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=dc93cff84f77b699eef27e5aa2748fca68c91c7c;p=otter.git bundles: Remove a not-needed layer of references Signed-off-by: Ian Jackson --- diff --git a/src/bundles.rs b/src/bundles.rs index 99acd21f..47d49313 100644 --- a/src/bundles.rs +++ b/src/bundles.rs @@ -830,13 +830,13 @@ impl Uploading { where R: Read, PW: Write { let mut for_progress = progress::ResponseOriginator::new(for_progress); - let mut for_progress: &mut dyn progress::Originator = &mut for_progress; + let for_progress: &mut dyn progress::Originator = &mut for_progress; let Uploading { id, mut file, instance } = self; let tmp = id.path_tmp(&instance); let mut data_reporter = progress::ReadOriginator::new( - &mut for_progress, Phase::Upload, size, data); + for_progress, Phase::Upload, size, data); let copied_size = io::copy(&mut data_reporter, &mut file) .with_context(|| tmp.clone()) diff --git a/src/progress.rs b/src/progress.rs index 5724d1c0..d395224c 100644 --- a/src/progress.rs +++ b/src/progress.rs @@ -108,17 +108,17 @@ impl &mut dyn Originator { } } -pub struct ReadOriginator<'oo,'o,R:Read> { +pub struct ReadOriginator<'o,R:Read> { r: R, total_len: usize, - orig: &'oo mut &'o mut dyn Originator, + orig: &'o mut dyn Originator, // state: counter: usize, last_report: usize, } -impl<'oo,'o,R:Read> ReadOriginator<'oo,'o,R> { - pub fn new<'p,P>(orig: &'oo mut &'o mut dyn Originator, phase: P, +impl<'oo,'o,R:Read> ReadOriginator<'o,R> { + pub fn new<'p,P>(mut orig: &'o mut dyn Originator, phase: P, total_len: usize, r: R) -> Self where P: Into> { @@ -151,7 +151,7 @@ impl<'oo,'o,R:Read> ReadOriginator<'oo,'o,R> { } } -impl Read for ReadOriginator<'_,'_,R> { +impl Read for ReadOriginator<'_,R> { #[throws(io::Error)] fn read(&mut self, buf: &mut [u8]) -> usize { let got = self.r.read(buf)?;