//@ edition:2018 #![allow(non_camel_case_types)] #![allow(unused_imports)] mod T { pub struct U; } mod x { pub struct y; } fn type_param() { use T as _; //~ ERROR imports cannot refer to type parameters use T::U; //~ ERROR imports cannot refer to type parameters use T::*; //~ ERROR imports cannot refer to type parameters } fn self_import() { use T; //~ ERROR imports cannot refer to type parameters } fn let_binding() { let x = 10; use x as _; //~ ERROR imports cannot refer to local variables use x::y; // OK use x::*; // OK } fn param_binding(x: u8) { use x; //~ ERROR imports cannot refer to local variables } fn match_binding() { match 0 { x => { use x; //~ ERROR imports cannot refer to local variables } } } fn nested() { let x = 10; use {T as _, x}; //~ ERROR imports cannot refer to type parameters //~| ERROR imports cannot refer to local variables } fn main() {}