// Tuples are compund values fn main() { let _t0: (u8, i16) = (0, -1); // Tuples can be nested let _t1: (u8, (i32, u16)) = (2, (-9, 99)); println!("{:?}", _t1); // Long tuples can't be printed: //let long_tuple = (1,2,3,4,5,6,7,8,9,10,11,12,13); //println!("{:?}", long_tuple); // Tuples can be destructured let tup: (i32, f64, &str) = (1, 5.3, "corno"); let (x, y, z) = tup; println!("{} {} {}", x,y,z ); let (x, y, z) = (9, 10, 11); println!("{} {} {}", x,y,z ); let (sum, mul) = sum_mul((3, 5)); println!("{} {}",sum, mul); } // Tuples can be passed as function arguments // and used as return values fn sum_mul(nums: (i32, i32)) -> (i32, i32) { (nums.0 + nums.1, nums.0 * nums.1) }