Challenge 2: A Product Tuple — Possible Solution ==================================================================== fn main() { let product: (i32, f64, char) = (108, 24.99, 'E'); println!("ID: {}", product.0); println!("Price: {}", product.1); println!("Category: {}", product.2); } WHY THIS WORKS AS AN ANSWER ------------------------------ The tuple type annotation (i32, f64, char) matches exactly the three required fields in order — id as i32, price as f64, category initial as char — the same three-element mixed-type tuple pattern this chapter's own point example demonstrated. Each field is accessed using Rust's tuple-indexing syntax: .0 for the first element (id), .1 for the second (price), .2 for the third (category) — dot-followed-by-a-number, not square-bracket indexing (which is reserved for arrays and slices, a different compound type covered in the same chapter). Printing each with its own println! call demonstrates accessing all three fields individually, exactly as the challenge asked.