use thiserror::Error;
#[derive(Debug, Error)]
pub enum RustokuError {
#[error("Clues must be between 17 and 81 for a valid Sudoku puzzle")]
InvalidClueCount,
#[error("Input string must be exactly 81 characters long")]
InvalidInputLength,
#[error("Input string must contain only digits '0'-'9'")]
InvalidInputCharacter,
#[error("Initial board contains duplicates")]
DuplicateValues,
#[error("Puzzle generation failed ")]
GenerateFailure,
}