5 struct Pair
<T
, U
>(T
, U
);
8 struct Triple
<T
>(T
, T
, T
);
28 #[cfg(target_endian = "little")]
30 let mut u
= U
::<u8, u16> { b: 0xDE_DE }
;
32 assert_eq
!(u
.b
, 0xDE_BE);
34 let mut u
= U
::<u16, u32> { b: 0xDEAD_DEAD }
;
36 assert_eq
!(u
.b
, 0xDEAD_BEEF);
38 let mut u
= U
::<u32, u64> { b: 0xDEADBEEF_DEADBEEF }
;
40 assert_eq
!(u
.b
, 0xDEADBEEF_BAADF00D);
42 let mut w
= W
::<Pair
<Triple
<u8>, u8>, u32> { b: 0xDEAD_DEAD }
;
43 w
.a
.0 = Triple(0, 0, 0);
44 assert_eq
!(w
.b
, 0xDE00_0000);
46 let mut w
= W
::<Pair
<u8, Triple
<u8>>, u32> { b: 0xDEAD_DEAD }
;
47 w
.a
.1 = Triple(0, 0, 0);
48 assert_eq
!(w
.b
, 0x0000_00AD);
51 #[cfg(target_endian = "big")]
53 let mut u
= U
::<u8, u16> { b: 0xDE_DE }
;
55 assert_eq
!(u
.b
, 0xBE_DE);
57 let mut u
= U
::<u16, u32> { b: 0xDEAD_DEAD }
;
59 assert_eq
!(u
.b
, 0xBEEF_DEAD);
61 let mut u
= U
::<u32, u64> { b: 0xDEADBEEF_DEADBEEF }
;
63 assert_eq
!(u
.b
, 0xBAADF00D_DEADBEEF);
65 let mut w
= W
::<Pair
<Triple
<u8>, u8>, u32> { b: 0xDEAD_DEAD }
;
66 w
.a
.0 = Triple(0, 0, 0);
67 assert_eq
!(w
.b
, 0x0000_00AD);
69 let mut w
= W
::<Pair
<u8, Triple
<u8>>, u32> { b: 0xDEAD_DEAD }
;
70 w
.a
.1 = Triple(0, 0, 0);
71 assert_eq
!(w
.b
, 0xDE00_0000);