| //@ edition:2018 |
| |
| #![allow(non_camel_case_types)] |
| #![allow(unused_imports)] |
| |
| mod T { |
| pub struct U; |
| } |
| mod x { |
| pub struct y; |
| } |
| |
| fn type_param<T>() { |
| 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<T>() { |
| 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<T>() { |
| let x = 10; |
| |
| use {T as _, x}; //~ ERROR imports cannot refer to type parameters |
| //~| ERROR imports cannot refer to local variables |
| } |
| |
| fn main() {} |