#![allow(unused_imports)] use std::{ collections::{BTreeMap, BTreeSet, HashMap, HashSet}, fmt::Debug, num::Wrapping, }; use structdiff::{Difference, StructDiff}; // Trying to come up with all the edge cases that might be relevant #[allow(dead_code)] #[cfg(not(any(feature = "serde", feature = "nanoserde")))] #[derive(Difference)] // #[difference(setters)] pub struct TestDeriveAll< 'a, 'b: 'a, A: PartialEq + 'static, const C: usize, B, D, LM: Ord = Option, const N: usize = 4, > where A: core::hash::Hash + std::cmp::Eq + Default, LM: Ord + IntoIterator, [A; N]: Default, [B; C]: Default, [i32; N]: Default, [B; N]: Default, dyn Fn(&B): PartialEq + Clone + core::fmt::Debug, (dyn core::fmt::Debug + Send + 'static): Debug, { f1: (), f2: [A; N], f3: [i32; N], f4: BTreeMap::Item>>, f5: Option<(A, Option<&'a ::Item>)>, f6: HashMap>, f7: Box<(Vec, HashSet, [i128; u8::MIN as usize])>, f8: BTreeSet>, #[difference(skip)] f9: [B; C], f10: [B; N], r#f11: Option<&'b Option>, #[difference(skip)] f12: Option>, #[difference(skip)] f13: Vec !>, #[difference(skip)] f14: Vec Box i32>>>, #[difference(skip)] f15: Vec, }