Кортежні структури
Якщо імена полів неважливі, ви можете використати структуру кортежу:
struct Point(i32, i32); fn main() { let p = Point(17, 23); println!("({}, {})", p.0, p.1); }
Це часто використовується для обгорток з одним полем (так званих newtypes):
struct PoundsOfForce(f64); struct Newtons(f64); fn compute_thruster_force() -> PoundsOfForce { todo!("Запитайте вченого-ракетника з NASA") } fn set_thruster_force(force: Newtons) { // ... } fn main() { let force = compute_thruster_force(); set_thruster_force(force); }
This slide should take about 10 minutes. 
                    - Newtypes — чудовий спосіб закодувати додаткову інформацію про значення в примітивному типі, наприклад:
- Число вимірюється в деяких одиницях: у наведеному вище прикладі 
Newtons. - Значення пройшло певну перевірку під час створення, тому вам більше не потрібно перевіряти його знову при кожному використанні: 
PhoneNumber(String)абоOddNumber(u32). 
 - Число вимірюється в деяких одиницях: у наведеному вище прикладі 
 - Продемонструйте, як додати значення 
f64до типуNewtons, отримавши доступ до єдиного поля в newtype.- Rust зазвичай не любить неявних речей, таких як автоматичне розгортання або, наприклад, використання логічних значень як цілих чисел.
 - Перевантаження операторів обговорюється в день 3 (дженерики).
 
 - Цей приклад є тонким посиланням на невдачу Mars Climate Orbiter.