use
La declaración use se puede usar de tal manera que no se necesiten alcances manuales:
// Un atributo para esconder las advertencias del código no utilizado. #![allow(dead_code)] enum Stage { Beginner, Advanced, } enum Role { Student, Teacher, } fn main() { // Explícitamente `use` (usa) cada nombre para que estén disponibles sin // alcance manual. use Stage::{Beginner, Advanced}; // Hace `use` automaticamente para cada nombre dentro de `Role`. use Role::*; // Equivalente a `Stage::Beginner`. let stage = Beginner; // Equivalente a `Role::Student`. let role = Student; match stage { // Notamos que la falta de alcances se debe al uso explícito de `use` arriba. Beginner => println!("¡Los principiantes están comenzando su aprendizaje!"), Advanced => println!("Los estudiantes avanzados están dominando sus materias..."), } match role { // Notamos otra vez la falta de alcances. Student => println!("¡Los estudiantes están adquiriendo conocimiento!"), Teacher => println!("Teachers are spreading knowledge!"), } }