#![forbid(unsafe_code)]
#![no_std]
#[derive(Debug)]
pub enum Enum2<T0, T1> {
T0(T0),
T1(T1),
}
impl<T, T0, T1> AsMut<T> for Enum2<T0, T1>
where
T0: AsMut<T>,
T1: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
}
}
}
impl<T, T0, T1> AsRef<T> for Enum2<T0, T1>
where
T0: AsRef<T>,
T1: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum3<T0, T1, T2> {
T0(T0),
T1(T1),
T2(T2),
}
impl<T, T0, T1, T2> AsMut<T> for Enum3<T0, T1, T2>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2> AsRef<T> for Enum3<T0, T1, T2>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum4<T0, T1, T2, T3> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
}
impl<T, T0, T1, T2, T3> AsMut<T> for Enum4<T0, T1, T2, T3>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3> AsRef<T> for Enum4<T0, T1, T2, T3>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum5<T0, T1, T2, T3, T4> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
}
impl<T, T0, T1, T2, T3, T4> AsMut<T> for Enum5<T0, T1, T2, T3, T4>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4> AsRef<T> for Enum5<T0, T1, T2, T3, T4>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum6<T0, T1, T2, T3, T4, T5> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
}
impl<T, T0, T1, T2, T3, T4, T5> AsMut<T> for Enum6<T0, T1, T2, T3, T4, T5>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5> AsRef<T> for Enum6<T0, T1, T2, T3, T4, T5>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum7<T0, T1, T2, T3, T4, T5, T6> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
}
impl<T, T0, T1, T2, T3, T4, T5, T6> AsMut<T> for Enum7<T0, T1, T2, T3, T4, T5, T6>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6> AsRef<T> for Enum7<T0, T1, T2, T3, T4, T5, T6>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum8<T0, T1, T2, T3, T4, T5, T6, T7> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
T7(T7),
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7> AsMut<T> for Enum8<T0, T1, T2, T3, T4, T5, T6, T7>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
T7: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
Self::T7(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7> AsRef<T> for Enum8<T0, T1, T2, T3, T4, T5, T6, T7>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
T7: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
Self::T7(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum9<T0, T1, T2, T3, T4, T5, T6, T7, T8> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
T7(T7),
T8(T8),
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8> AsMut<T> for Enum9<T0, T1, T2, T3, T4, T5, T6, T7, T8>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
T7: AsMut<T>,
T8: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
Self::T7(t) => t.as_mut(),
Self::T8(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8> AsRef<T> for Enum9<T0, T1, T2, T3, T4, T5, T6, T7, T8>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
T7: AsRef<T>,
T8: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
Self::T7(t) => t.as_ref(),
Self::T8(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
T7(T7),
T8(T8),
T9(T9),
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> AsMut<T>
for Enum10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
T7: AsMut<T>,
T8: AsMut<T>,
T9: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
Self::T7(t) => t.as_mut(),
Self::T8(t) => t.as_mut(),
Self::T9(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> AsRef<T>
for Enum10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
T7: AsRef<T>,
T8: AsRef<T>,
T9: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
Self::T7(t) => t.as_ref(),
Self::T8(t) => t.as_ref(),
Self::T9(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
T7(T7),
T8(T8),
T9(T9),
T10(T10),
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> AsMut<T>
for Enum11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
T7: AsMut<T>,
T8: AsMut<T>,
T9: AsMut<T>,
T10: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
Self::T7(t) => t.as_mut(),
Self::T8(t) => t.as_mut(),
Self::T9(t) => t.as_mut(),
Self::T10(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> AsRef<T>
for Enum11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
T7: AsRef<T>,
T8: AsRef<T>,
T9: AsRef<T>,
T10: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
Self::T7(t) => t.as_ref(),
Self::T8(t) => t.as_ref(),
Self::T9(t) => t.as_ref(),
Self::T10(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
T7(T7),
T8(T8),
T9(T9),
T10(T10),
T11(T11),
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> AsMut<T>
for Enum12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
T7: AsMut<T>,
T8: AsMut<T>,
T9: AsMut<T>,
T10: AsMut<T>,
T11: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
Self::T7(t) => t.as_mut(),
Self::T8(t) => t.as_mut(),
Self::T9(t) => t.as_mut(),
Self::T10(t) => t.as_mut(),
Self::T11(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> AsRef<T>
for Enum12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
T7: AsRef<T>,
T8: AsRef<T>,
T9: AsRef<T>,
T10: AsRef<T>,
T11: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
Self::T7(t) => t.as_ref(),
Self::T8(t) => t.as_ref(),
Self::T9(t) => t.as_ref(),
Self::T10(t) => t.as_ref(),
Self::T11(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
T7(T7),
T8(T8),
T9(T9),
T10(T10),
T11(T11),
T12(T12),
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> AsMut<T>
for Enum13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
T7: AsMut<T>,
T8: AsMut<T>,
T9: AsMut<T>,
T10: AsMut<T>,
T11: AsMut<T>,
T12: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
Self::T7(t) => t.as_mut(),
Self::T8(t) => t.as_mut(),
Self::T9(t) => t.as_mut(),
Self::T10(t) => t.as_mut(),
Self::T11(t) => t.as_mut(),
Self::T12(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> AsRef<T>
for Enum13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
T7: AsRef<T>,
T8: AsRef<T>,
T9: AsRef<T>,
T10: AsRef<T>,
T11: AsRef<T>,
T12: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
Self::T7(t) => t.as_ref(),
Self::T8(t) => t.as_ref(),
Self::T9(t) => t.as_ref(),
Self::T10(t) => t.as_ref(),
Self::T11(t) => t.as_ref(),
Self::T12(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
T7(T7),
T8(T8),
T9(T9),
T10(T10),
T11(T11),
T12(T12),
T13(T13),
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> AsMut<T>
for Enum14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
T7: AsMut<T>,
T8: AsMut<T>,
T9: AsMut<T>,
T10: AsMut<T>,
T11: AsMut<T>,
T12: AsMut<T>,
T13: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
Self::T7(t) => t.as_mut(),
Self::T8(t) => t.as_mut(),
Self::T9(t) => t.as_mut(),
Self::T10(t) => t.as_mut(),
Self::T11(t) => t.as_mut(),
Self::T12(t) => t.as_mut(),
Self::T13(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> AsRef<T>
for Enum14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
T7: AsRef<T>,
T8: AsRef<T>,
T9: AsRef<T>,
T10: AsRef<T>,
T11: AsRef<T>,
T12: AsRef<T>,
T13: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
Self::T7(t) => t.as_ref(),
Self::T8(t) => t.as_ref(),
Self::T9(t) => t.as_ref(),
Self::T10(t) => t.as_ref(),
Self::T11(t) => t.as_ref(),
Self::T12(t) => t.as_ref(),
Self::T13(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum15<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
T7(T7),
T8(T8),
T9(T9),
T10(T10),
T11(T11),
T12(T12),
T13(T13),
T14(T14),
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> AsMut<T>
for Enum15<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
T7: AsMut<T>,
T8: AsMut<T>,
T9: AsMut<T>,
T10: AsMut<T>,
T11: AsMut<T>,
T12: AsMut<T>,
T13: AsMut<T>,
T14: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
Self::T7(t) => t.as_mut(),
Self::T8(t) => t.as_mut(),
Self::T9(t) => t.as_mut(),
Self::T10(t) => t.as_mut(),
Self::T11(t) => t.as_mut(),
Self::T12(t) => t.as_mut(),
Self::T13(t) => t.as_mut(),
Self::T14(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> AsRef<T>
for Enum15<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
T7: AsRef<T>,
T8: AsRef<T>,
T9: AsRef<T>,
T10: AsRef<T>,
T11: AsRef<T>,
T12: AsRef<T>,
T13: AsRef<T>,
T14: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
Self::T7(t) => t.as_ref(),
Self::T8(t) => t.as_ref(),
Self::T9(t) => t.as_ref(),
Self::T10(t) => t.as_ref(),
Self::T11(t) => t.as_ref(),
Self::T12(t) => t.as_ref(),
Self::T13(t) => t.as_ref(),
Self::T14(t) => t.as_ref(),
}
}
}
#[derive(Debug)]
pub enum Enum16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> {
T0(T0),
T1(T1),
T2(T2),
T3(T3),
T4(T4),
T5(T5),
T6(T6),
T7(T7),
T8(T8),
T9(T9),
T10(T10),
T11(T11),
T12(T12),
T13(T13),
T14(T14),
T15(T15),
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> AsMut<T>
for Enum16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
where
T0: AsMut<T>,
T1: AsMut<T>,
T2: AsMut<T>,
T3: AsMut<T>,
T4: AsMut<T>,
T5: AsMut<T>,
T6: AsMut<T>,
T7: AsMut<T>,
T8: AsMut<T>,
T9: AsMut<T>,
T10: AsMut<T>,
T11: AsMut<T>,
T12: AsMut<T>,
T13: AsMut<T>,
T14: AsMut<T>,
T15: AsMut<T>,
{
fn as_mut(&mut self) -> &mut T {
match self {
Self::T0(t) => t.as_mut(),
Self::T1(t) => t.as_mut(),
Self::T2(t) => t.as_mut(),
Self::T3(t) => t.as_mut(),
Self::T4(t) => t.as_mut(),
Self::T5(t) => t.as_mut(),
Self::T6(t) => t.as_mut(),
Self::T7(t) => t.as_mut(),
Self::T8(t) => t.as_mut(),
Self::T9(t) => t.as_mut(),
Self::T10(t) => t.as_mut(),
Self::T11(t) => t.as_mut(),
Self::T12(t) => t.as_mut(),
Self::T13(t) => t.as_mut(),
Self::T14(t) => t.as_mut(),
Self::T15(t) => t.as_mut(),
}
}
}
impl<T, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> AsRef<T>
for Enum16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
where
T0: AsRef<T>,
T1: AsRef<T>,
T2: AsRef<T>,
T3: AsRef<T>,
T4: AsRef<T>,
T5: AsRef<T>,
T6: AsRef<T>,
T7: AsRef<T>,
T8: AsRef<T>,
T9: AsRef<T>,
T10: AsRef<T>,
T11: AsRef<T>,
T12: AsRef<T>,
T13: AsRef<T>,
T14: AsRef<T>,
T15: AsRef<T>,
{
fn as_ref(&self) -> &T {
match self {
Self::T0(t) => t.as_ref(),
Self::T1(t) => t.as_ref(),
Self::T2(t) => t.as_ref(),
Self::T3(t) => t.as_ref(),
Self::T4(t) => t.as_ref(),
Self::T5(t) => t.as_ref(),
Self::T6(t) => t.as_ref(),
Self::T7(t) => t.as_ref(),
Self::T8(t) => t.as_ref(),
Self::T9(t) => t.as_ref(),
Self::T10(t) => t.as_ref(),
Self::T11(t) => t.as_ref(),
Self::T12(t) => t.as_ref(),
Self::T13(t) => t.as_ref(),
Self::T14(t) => t.as_ref(),
Self::T15(t) => t.as_ref(),
}
}
}