fn tuple() -> (i16,) { (1,) } fn tuple_2() -> (i16, i16) { (1, 2) } fn tuple_5() -> (i16, i16, i16, i16, i16) { (1, 2, 3, 4, 5) } #[derive(Debug, PartialEq)] struct Pair { x: i8, y: i8 } fn pair() -> Pair { Pair { x: 10, y: 20 } } fn field_access() -> (i8, i8) { let mut p = Pair { x: 10, y: 20 }; p.x += 5; (p.x, p.y) } fn main() { assert_eq!(tuple(), (1,)); assert_eq!(tuple_2(), (1, 2)); assert_eq!(tuple_5(), (1, 2, 3, 4, 5)); assert_eq!(pair(), Pair { x: 10, y: 20} ); assert_eq!(field_access(), (15, 20)); }