//! The module facilitates the compile-time value checking in `where` clauses.
//!
//! Usage example. Allow `myfunction` only for positive values of SOME_PARAM:
//! ```
//! #![feature(generic_const_exprs)]
//! #![feature(adt_const_params)]
//!
//! # use ranged_integers::value_check::*;
//!
//! const fn myfunction_allowed(some_param: i32) -> OperationPossibility {
//! OperationPossibility::allow_if(some_param>0)
//! }
//!
//! fn myfunction<const SOME_PARAM: i32>()
//! where
//! Assert<{myfunction_allowed(SOME_PARAM)}>: IsAllowed,
//! {
//! // code
//! }
//! ```
//!
// This enum is used instead of `bool` for better compile error handling