#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
pub enum InvalidArrFnRepr {
#[allow(missing_docs)]
InvalidValue {
input: usize,
value: usize,
max: usize,
},
#[allow(missing_docs)]
RepeatedValue {
first_input: usize,
second_input: usize,
value: usize,
},
}
#[derive(Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
pub struct CycleElementLocation {
pub cycle_index: usize,
pub index: usize,
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
pub enum InvalidCycleRepr {
#[allow(missing_docs)]
InvalidValue {
location: CycleElementLocation,
value: usize,
max: usize,
},
#[allow(missing_docs)]
RepeatedValue {
first_occurrence: CycleElementLocation,
second_occurrence: CycleElementLocation,
value: usize,
},
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
pub enum InvalidSwapRepr {
#[allow(missing_docs)]
InvalidLeftValue {
index: usize,
value: usize,
max: usize,
},
#[allow(missing_docs)]
InvalidRightValue {
index: usize,
value: usize,
max: usize,
},
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
#[allow(missing_docs)]
pub struct TooLongSliceForPermutation {
pub length: usize,
pub max: usize,
}