1use std::*;
2
3use num_traits as nums;
4
5
6pub trait Weight:
8 Copy
9 + nums::NumAssign
10 + nums::NumCast
11 + PartialOrd
12 + iter::Sum
13 + fmt::Debug
14{}
15
16impl<Type> Weight for Type where Type:
18 Copy
19 + nums::NumAssign
20 + nums::NumCast
21 + PartialOrd
22 + iter::Sum
23 + fmt::Debug
24{}
25
26
27#[derive(Debug)]
29pub struct NumCastError(pub(crate) &'static str);
30
31impl std::fmt::Display for NumCastError
32{
33 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result
34 {
35 write!(f, "{}", self.0)
36 }
37}
38
39impl std::error::Error for NumCastError {}