Enum variants are qualified by default. For example, given this type: ``` enum Method { GET, POST, } ``` You would match it using: ``` enum Method { GET, POST, } let m = Method::GET; match m { Method::GET => {}, Method::POST => {}, } ``` If you don't qualify the names, the code will bind new variables named "GET" and "POST" instead. This behavior is likely not what you want, so `rustc` warns when that happens. Qualified names are good practice, and most code works well with them. But if you prefer them unqualified, you can import the variants into scope: ``` use Method::*; enum Method { GET, POST } # fn main() {} ``` If you want others to be able to import variants from your module directly, use `pub use`: ``` pub use Method::*; pub enum Method { GET, POST } # fn main() {} ```