summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-04-07 13:12:40 +0200
committermo8it <mo8it@proton.me>2024-04-07 13:12:40 +0200
commit2db86833a9f3fae4dc5410aac828b3071dda1984 (patch)
treef70a2ef5c192b29f429b9da58966f1e27dbd1a07 /src
parentb0a475062445705853b4f861ee9e3135065f0660 (diff)
Fix lifetimes
Diffstat (limited to 'src')
-rw-r--r--src/list.rs20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/list.rs b/src/list.rs
index bb5ba1c..5153e01 100644
--- a/src/list.rs
+++ b/src/list.rs
@@ -16,27 +16,31 @@ use std::io;
use crate::{exercise::Exercise, state::State};
-fn rows<'s, 'e>(state: &'s State, exercises: &'e [Exercise]) -> impl Iterator<Item = Row<'e>> + 's
+fn rows<'s, 'e, 'i>(
+ state: &'s State,
+ exercises: &'e [Exercise],
+) -> impl Iterator<Item = Row<'e>> + 'i
where
- 'e: 's,
+ 's: 'i,
+ 'e: 'i,
{
exercises
.iter()
.zip(state.progress())
.enumerate()
.map(|(ind, (exercise, done))| {
- let exercise_state = if *done {
- "DONE".green()
- } else {
- "PENDING".yellow()
- };
-
let next = if ind == state.next_exercise_ind() {
">>>>".bold().red()
} else {
Span::default()
};
+ let exercise_state = if *done {
+ "DONE".green()
+ } else {
+ "PENDING".yellow()
+ };
+
Row::new([
next,
exercise_state,