From ef37952ba00b4c897ecbd5d1a0f3ca08ef6141ab Mon Sep 17 00:00:00 2001 From: Matt Brubeck Date: Wed, 30 Apr 2025 04:28:30 -0700 Subject: [PATCH] Remove dead code in reviews_for_fsrs (#3958) * Clarify logic in reviews_for_fsrs Prior to this change, the second check of `first_of_last_learn_entries` was dead code because the first check would always break out of the loop before it could succeed. Re-order the code for clarity and add a comment to explain the logic. * Update CONTRIBUTORS --- CONTRIBUTORS | 1 + rslib/src/scheduler/fsrs/params.rs | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 8dfeed4cf..ae6817aea 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -224,6 +224,7 @@ rreemmii-dev babofitos Jonathan Schoreels JL710 +Matt Brubeck ******************** diff --git a/rslib/src/scheduler/fsrs/params.rs b/rslib/src/scheduler/fsrs/params.rs index d313a6851..276150676 100644 --- a/rslib/src/scheduler/fsrs/params.rs +++ b/rslib/src/scheduler/fsrs/params.rs @@ -322,8 +322,6 @@ pub(crate) fn reviews_for_fsrs( if user_graded && entry.review_kind == RevlogReviewKind::Learning { first_of_last_learn_entries = Some(index); revlogs_complete = true; - } else if first_of_last_learn_entries.is_some() { - break; } else if matches!( (entry.review_kind, entry.ease_factor), (RevlogReviewKind::Manual, 0) @@ -343,6 +341,10 @@ pub(crate) fn reviews_for_fsrs( } else { return None; } + // Previous versions of Anki didn't add a revlog entry when the card was + // reset. + } else if first_of_last_learn_entries.is_some() { + break; } } if training {