Декларация use
может быть использована для того, чтобы не было необходимости в указание области видимости:
// Атрибут, который убирает предупреждения компилятора // о неиспользуемом коде #![allow(dead_code)] enum Status { Rich, Poor, } enum Work { Civilian, Soldier, } fn main() { // Используем `use` для каждого из вариантов, чтобы они были доступны // без указания области видимости. use Status::{Poor, Rich}; // Автоматически используем `use` для каждого из вариантов в `Work`. use Work::*; // Эквивалентно `Status::Poor`. let status = Poor; // Эквивалентно to `Work::Civilian`. let work = Civilian; match status { // Обратите внимание, как используются варианты из перечисления `Status` // все благодаря `use` Rich => println!("The rich have lots of money!"), Poor => println!("The poor have no money..."), } match work { // И снова используем варианты напрямую. Civilian => println!("Civilians work!"), Soldier => println!("Soldiers fight!"), } }