random/weighted_bag/weight.rs
1/// A trait representing a type that can be used as a weight in a `WeightedBag`.
2///
3/// # Implemented for
4/// - [u8]
5/// - [u16]
6/// - [u32]
7/// - [u64]
8/// - [u128]
9pub trait Weight:
10 rand::distributions::uniform::SampleUniform
11 + num_traits::Unsigned
12 + num_traits::Zero
13 + num_traits::One
14 + std::fmt::Debug
15 + std::ops::AddAssign
16 + Clone
17 + PartialOrd
18{
19}
20
21impl<
22 T: rand::distributions::uniform::SampleUniform
23 + num_traits::Unsigned
24 + num_traits::Zero
25 + num_traits::One
26 + std::fmt::Debug
27 + std::ops::AddAssign
28 + Clone
29 + PartialOrd,
30 > Weight for T
31{
32}