From 6127a5bff14e7ed1d4a6923679d869b577a643e4 Mon Sep 17 00:00:00 2001 From: LukeMathWalker <20745048+LukeMathWalker@users.noreply.github.com> Date: Wed, 18 Jun 2025 20:59:52 +0200 Subject: [PATCH] Be more defensive when determining which files are exercises --- koans-framework/src/lib.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/koans-framework/src/lib.rs b/koans-framework/src/lib.rs index e644a16..6aee6c1 100644 --- a/koans-framework/src/lib.rs +++ b/koans-framework/src/lib.rs @@ -60,9 +60,16 @@ impl KoanCollection { &configuration.koans_path() ); let directory_name = entry.file_name(); - read_dir(entry.path()) - .unwrap() - .map(move |f| (directory_name.to_owned(), f.unwrap().file_name())) + read_dir(entry.path()).unwrap().filter_map(move |f| { + let name = f.unwrap().file_name(); + let name_str = name.clone().into_string().unwrap(); + if name_str.ends_with(".rs") && u32::from_str_radix(&name_str[..2], 10).is_ok() + { + Some((directory_name.to_owned(), name)) + } else { + None + } + }) }) .flatten() .collect();