//! Defines the [`Heuristic`] trait which is used to compute a lower bound on the length of an
//! optimal solution of a puzzle.
pubmodmanhattan;usenum_traits::{PrimInt, Unsigned};usecrate::puzzle::sliding_puzzle::SlidingPuzzle;/// Provides a function returning a lower bound on the number of moves needed to solve a puzzle.
pubtraitHeuristic<P: SlidingPuzzle, T: PrimInt + Unsigned> {/// Returns a lower bound on the number of moves needed to solve `puzzle`.
#[must_use]fnbound(&self, puzzle:&P)-> T;}