Спочатку оголошення
Можна спочатку оголосити прив’язки змінних, а ініціалізувати їх пізніше, але всі прив’язки змінних мають бути ініціалізовані до того, як їх буде використано: компілятор забороняє використання неініціалізованих прив’язок змінних, оскільки це призвело б до невизначеної поведінки.
Непоширено спочатку оголошувати прив’язку змінної, а потім ініціалізувати її пізніше у функції. Читачеві важче знайти ініціалізацію, коли ініціалізація відокремлена від оголошення. Звично оголошувати й ініціалізувати прив’язку змінної поблизу того місця, де змінну буде використано.
fn main() {
// Declare a variable binding
let a_binding;
{
let x = 2;
// Initialize the binding
a_binding = x * x;
}
println!("a binding: {}", a_binding);
let another_binding;
// Error! Use of uninitialized binding
println!("another binding: {}", another_binding);
// FIXME ^ Comment out this line
another_binding = 1;
println!("another binding: {}", another_binding);
}