//! Scopone scientifico errors. //! //! Most failure modes are game-independent and live in //! [`tavolo_platform::errors`]; only genuinely scopone-specific errors are //! defined here. The Rust platform folds every game error into a single //! [`GameError`] value carrying an `"illegal_move"` code, so a Python-style //! exception hierarchy is unnecessary; this module keeps named constructors so //! call sites (and tests) stay readable. use tavolo_platform::errors::GameError; /// The played card is not held by the player. pub fn card_not_in_hand(code: &str) -> GameError { GameError::illegal_move(format!("card {code} is not in your hand")) }