From d4be8ddd00326a4252f33796d1de3462d844f8fd Mon Sep 17 00:00:00 2001 From: John-John Tedro Date: Sun, 1 Oct 2023 18:15:43 +0200 Subject: [PATCH] Less permutations when running tests (#638) --- crates/rune-alloc/src/macros.rs | 12 + crates/rune/src/internal_macros.rs | 12 + .../rune/src/module/function_traits/macros.rs | 1062 +++++++++++------ tools/function_traits_permute.py | 49 +- 4 files changed, 750 insertions(+), 385 deletions(-) diff --git a/crates/rune-alloc/src/macros.rs b/crates/rune-alloc/src/macros.rs index 0800463c3..18a6697d8 100644 --- a/crates/rune-alloc/src/macros.rs +++ b/crates/rune-alloc/src/macros.rs @@ -62,17 +62,29 @@ macro_rules! repeat_macro { $macro!(2, A a 0, B b 1); $macro!(3, A a 0, B b 1, C c 2); $macro!(4, A a 0, B b 1, C c 2, D d 3); + #[cfg(not(test))] $macro!(5, A a 0, B b 1, C c 2, D d 3, E e 4); + #[cfg(not(test))] $macro!(6, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5); + #[cfg(not(test))] $macro!(7, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6); + #[cfg(not(test))] $macro!(8, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7); + #[cfg(not(test))] $macro!(9, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8); + #[cfg(not(test))] $macro!(10, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9); + #[cfg(not(test))] $macro!(11, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10); + #[cfg(not(test))] $macro!(12, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11); + #[cfg(not(test))] $macro!(13, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11, M m 12); + #[cfg(not(test))] $macro!(14, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11, M m 12, N n 13); + #[cfg(not(test))] $macro!(15, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11, M m 12, N n 13, O o 14); + #[cfg(not(test))] $macro!(16, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11, M m 12, N n 13, O o 14, P p 15); }; } diff --git a/crates/rune/src/internal_macros.rs b/crates/rune/src/internal_macros.rs index 53c65f490..ec84691fc 100644 --- a/crates/rune/src/internal_macros.rs +++ b/crates/rune/src/internal_macros.rs @@ -44,17 +44,29 @@ macro_rules! repeat_macro { $macro!(2, A a 0, B b 1); $macro!(3, A a 0, B b 1, C c 2); $macro!(4, A a 0, B b 1, C c 2, D d 3); + #[cfg(not(test))] $macro!(5, A a 0, B b 1, C c 2, D d 3, E e 4); + #[cfg(not(test))] $macro!(6, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5); + #[cfg(not(test))] $macro!(7, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6); + #[cfg(not(test))] $macro!(8, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7); + #[cfg(not(test))] $macro!(9, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8); + #[cfg(not(test))] $macro!(10, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9); + #[cfg(not(test))] $macro!(11, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10); + #[cfg(not(test))] $macro!(12, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11); + #[cfg(not(test))] $macro!(13, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11, M m 12); + #[cfg(not(test))] $macro!(14, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11, M m 12, N n 13); + #[cfg(not(test))] $macro!(15, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11, M m 12, N n 13, O o 14); + #[cfg(not(test))] $macro!(16, A a 0, B b 1, C c 2, D d 3, E e 4, F f 5, G g 6, H h 7, I i 8, J j 9, K k 10, L l 11, M m 12, N n 13, O o 14, P p 15); }; } diff --git a/crates/rune/src/module/function_traits/macros.rs b/crates/rune/src/module/function_traits/macros.rs index 400287825..ae824dfdd 100644 --- a/crates/rune/src/module/function_traits/macros.rs +++ b/crates/rune/src/module/function_traits/macros.rs @@ -1,369 +1,693 @@ -// Note: Automatically generated using functions_traits_permute.py -macro_rules! permute { - ($call:path) => { - $call!(0); - $call!(1, {A, a, A, 0, {}, {FromValue}, from_value}); - $call!(1, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(1, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(2, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}); - $call!(2, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(2, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(2, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}); - $call!(2, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(2, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(2, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}); - $call!(2, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(2, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}); - $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}); - $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}); - $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}); - $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}); - $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}); - $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}); - $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}); - $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}); - $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); - $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); - } -} +// Note: Automatically generated using function_traits_permute.py +macro_rules! permute { + ($call:path) => { + $call!(0); + $call!(1, {A, a, A, 0, {}, {FromValue}, from_value}); + $call!(1, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(1, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(2, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}); + $call!(2, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(2, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(2, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}); + $call!(2, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(2, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(2, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}); + $call!(2, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(2, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}); + $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}); + $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}); + $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(3, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}); + $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}); + $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}); + $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(3, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}); + $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}); + $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}); + $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + $call!(3, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(4, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, A, 0, {}, {FromValue}, from_value}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Ref, 0, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, B, 1, {}, {FromValue}, from_value}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Ref, 1, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, C, 2, {}, {FromValue}, from_value}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Ref, 2, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, D, 3, {}, {FromValue}, from_value}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Ref, 3, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, E, 4, {}, {FromValue}, from_value}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Ref, 4, {&}, {?Sized + UnsafeToRef}, unsafe_to_ref}); + #[cfg(not(test))] + $call!(5, {A, a, Mut, 0, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {B, b, Mut, 1, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {C, c, Mut, 2, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {D, d, Mut, 3, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}, {E, e, Mut, 4, {&mut}, {?Sized + UnsafeToMut}, unsafe_to_mut}); + } +} diff --git a/tools/function_traits_permute.py b/tools/function_traits_permute.py index dfe4bd2fa..b246c8fdf 100644 --- a/tools/function_traits_permute.py +++ b/tools/function_traits_permute.py @@ -1,26 +1,43 @@ # helper to generate function_traits/macros.rs import itertools +import pathlib -Owned = lambda var: (var, "", "FromValue", "from_value") -Mut = lambda var: ("Mut<{}>".format(var), "&mut", "?Sized + UnsafeToMut", "unsafe_to_mut") -Ref = lambda var: ("Ref<{}>".format(var), "&", "?Sized + UnsafeToRef", "unsafe_to_ref") +Owned = lambda var: (var, "", ["FromValue"], "from_value") +Mut = lambda var: (f"Mut<{var}>", "&mut", ["?Sized", "UnsafeToMut"], "unsafe_to_mut") +Ref = lambda var: (f"Ref<{var}>", "&", ["?Sized", "UnsafeToRef"], "unsafe_to_ref") -vars = ["A", "B", "C", "D", "E", "F"] +vars = ['A', 'B', 'C', 'D', 'E'] -print("// Note: Automatically generated using functions_traits_permute.py") -print("macro_rules! permute {") -print(" ($call:path) => {") +this = pathlib.Path(__file__) -for repeat in range(0, 6): - for perm in itertools.product([Owned, Ref, Mut], repeat=repeat): - line = [str(repeat)] +name = this.parts[-1] +out = this.parent.parent.joinpath("crates/rune/src/module/function_traits/macros.rs") - for ((n, var), p) in zip(enumerate(vars), perm): - (ty, modifier, trait, coercion) = p(var) - line.append("{{{}, {}, {}, {}, {{{}}}, {{{}}}, {}}}".format(var, var.lower(), ty, n, modifier, trait, coercion)) +with out.open(mode = 'bw') as fd: + def pr(text): + fd.write(text.encode('utf-8')) + fd.write(b"\n") - print(" $call!({});".format(", ".join(line))) + pr(f"// Note: Automatically generated using {name}") + pr("macro_rules! permute {") + pr(" ($call:path) => {") -print(" }") -print("}") + for repeat in range(0, len(vars) + 1): + for perm in itertools.product([Owned, Ref, Mut], repeat=repeat): + line = [str(repeat)] + + for (n, (var, p)) in enumerate(zip(vars, perm)): + (ty, mods, traits, coercion) = p(var) + var_lower = var.lower() + traits = " + ".join(traits) + line.append(f"{{{var}, {var_lower}, {ty}, {n}, {{{mods}}}, {{{traits}}}, {coercion}}}") + + if repeat >= 4: + pr(" #[cfg(not(test))]") + + args = ", ".join(line) + pr(f" $call!({args});") + + pr(" }") + pr("}")