diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-05-10 14:48:22 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-05-11 10:47:59 +0200 |
commit | 2b65556f90a1dd007a435e1aa5a5261da58c6a02 (patch) | |
tree | 93e58c298593cac7f7f918bbc2f5d8ed30cb570a | |
parent | 79fa2aebeb9c5daafd72e061466de97c4fcacc36 (diff) |
Refactor: Use moving iterator for ParsedLog
This patch replaces the ParsedLog::iter() function with ParsedLog::into_iter(),
to use a moving iteration rather than a iteration by reference, because
iterating by reference is not necessary at all.
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-rw-r--r-- | src/commands/build.rs | 5 | ||||
-rw-r--r-- | src/commands/db.rs | 4 | ||||
-rw-r--r-- | src/log/parser.rs | 4 |
3 files changed, 6 insertions, 7 deletions
diff --git a/src/commands/build.rs b/src/commands/build.rs index b8a0727..84a8be6 100644 --- a/src/commands/build.rs +++ b/src/commands/build.rs @@ -408,11 +408,10 @@ pub async fn build( data.1.version.to_string().red() )?; - let parsed_log = crate::log::ParsedLog::from_str(&data.0.log_text)?; let mut last_phase = None; let mut error_catched = false; - let lines = parsed_log - .iter() + let lines = crate::log::ParsedLog::from_str(&data.0.log_text)? + .into_iter() .map(|line_item| match line_item { LogItem::Line(s) => Ok(String::from_utf8(s.to_vec())?.normal()), LogItem::Progress(u) => Ok(format!("#BUTIDO:PROGRESS:{}", u).bright_black()), diff --git a/src/commands/db.rs b/src/commands/db.rs index 062858b..896caa1 100644 --- a/src/commands/db.rs +++ b/src/commands/db.rs @@ -605,7 +605,7 @@ fn job(conn_cfg: DbConnectionConfig, config: &Configuration, matches: &ArgMatche if show_log { let log = parsed_log - .iter() + .into_iter() .map(|line_item| line_item.display().map(|d| d.to_string())) .collect::<Result<Vec<_>>>()? .into_iter() // ugly, but hey... not important right now. @@ -644,7 +644,7 @@ fn log_of(conn_cfg: DbConnectionConfig, matches: &ArgMatches) -> Result<()> { .first::<String>(&conn) .map_err(Error::from) .and_then(|s| crate::log::ParsedLog::from_str(&s))? - .iter() + .into_iter() .map(|line| line.display().and_then(|d| writeln!(lock, "{}", d).map_err(Error::from))) .collect::<Result<Vec<()>>>() .map(|_| ()) diff --git a/src/log/parser.rs b/src/log/parser.rs index 764b732..f83bdfb 100644 --- a/src/log/parser.rs +++ b/src/log/parser.rs @@ -63,8 +63,8 @@ impl ParsedLog { .next() } - pub fn iter(&self) -> impl Iterator<Item = &LogItem> { - self.0.iter() + pub fn into_iter(self) -> impl Iterator<Item = LogItem> { + self.0.into_iter() } } |