use typesum::{kinded, sumtype}; #[allow(unused)] #[kinded] #[sumtype(from = false, try_as = false, try_into = false, try_as_mut = false)] enum Big { Usz(usize), Sts(&'static str), A(i64), B(i64), C(i64), D(i64), E(i64), F(i64), G(i64), H(i64), I(i64), J(i64), K(i64), L(i64), M(i64), N(i64), O(i64), P(i64), Q(i64), R(i64), S(i64), T(i64), U(i64), V(i64), W(i64), X(i64), Y(i64), Z(i64), Aa(i64), Ba(i64), Ca(i64), Da(i64), Ea(i64), Fa(i64), Ga(i64), Ha(i64), Ia(i64), Ja(i64), Ka(i64), La(i64), Ma(i64), Na(i64), Oa(i64), Pa(i64), Qa(i64), Ra(i64), Sa(i64), Ta(i64), Ua(i64), Va(i64), Wa(i64), Xa(i64), Ya(i64), Za(i64), Ab(i64), Bb(i64), Cb(i64), Db(i64), Eb(i64), Fb(i64), Gb(i64), Hb(i64), Ib(i64), Jb(i64), Kb(i64), Lb(i64), Mb(i64), Nb(i64), Ob(i64), Pb(i64), Qb(i64), Rb(i64), Sb(i64), Tb(i64), Ub(i64), Vb(i64), Wb(i64), Xb(i64), Yb(i64), Zb(i64), Ac(i64), Bc(i64), Cc(i64), Dc(i64), Ec(i64), Fc(i64), Gc(i64), Hc(i64), Ic(i64), Jc(i64), Kc(i64), Lc(i64), Mc(i64), Nc(i64), Oc(i64), Pc(i64), Qc(i64), Rc(i64), Sc(i64), Tc(i64), Uc(i64), Vc(i64), Wc(i64), Xc(i64), Yc(i64), Zc(i64), Ad(i64), Bd(i64), Cd(i64), Dd(i64), Ed(i64), Fd(i64), Gd(i64), Hd(i64), Id(i64), Jd(i64), Kd(i64), Ld(i64), Md(i64), Nd(i64), Od(i64), Pd(i64), Qd(i64), Rd(i64), Sd(i64), Td(i64), Ud(i64), Vd(i64), Wd(i64), Xd(i64), Yd(i64), Zd(i64), } #[test] fn sumtype() { let s = Big::A(54); assert_eq!(s.as_ab(), None); } #[test] fn kinded() { let s = Big::B(54); assert_eq!(s.kind(), BigKind::B); }