From cf6c285d0960526843f849a9033ff1895fc8cab7 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sun, 12 Jan 2020 06:36:06 +0100 Subject: Fix borrow mustakes --- src/solvers/gpu/output.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/solvers/gpu/output.rs') diff --git a/src/solvers/gpu/output.rs b/src/solvers/gpu/output.rs index a716340..b35d072 100644 --- a/src/solvers/gpu/output.rs +++ b/src/solvers/gpu/output.rs @@ -26,14 +26,20 @@ impl InBuffer { { Message::ResultMessage(results) => { if let Some(result_walls) = self.row_requests.get(&results.id) { - return Some(Self::calc_results(results.valid_walls(), result_walls)); + return Some(Self::calc_results( + results.valid_walls().as_ref(), + result_walls, + )); } else { self.results_requests.insert(results.id, results); } } Message::OutputMessage((id, output)) => { if let Some(results) = self.results_requests.get(&id) { - return Some(Self::calc_results(results.valid_walls(), output.as_ref())); + return Some(Self::calc_results( + results.valid_walls().as_ref(), + output.as_ref(), + )); } else { self.row_requests.insert(id, output); } @@ -48,10 +54,10 @@ impl InBuffer { } } fn calc_results(res_req: &[Vec], row_req: &[Vec]) -> Vec { - let out = Vec::new(); + let mut out = Vec::new(); for (rows, perms) in row_req.iter().zip(res_req.iter()) { for p in perms { - let new = rows.clone(); + let mut new = rows.clone(); new.push(*p); out.push(RowResult::new(new)); } @@ -66,7 +72,7 @@ pub struct RowResult { } impl RowResult { - fn new(rows: Vec) -> Self { + fn new(mut rows: Vec) -> Self { rows.push(0); Self { rows } } @@ -117,6 +123,7 @@ impl Output { for wall in self.results { wall.output() } + return; } } } -- cgit v1.2.3-54-g00ecf