2 // aux-build:wildcard_imports_helper.rs
4 #![warn(clippy::wildcard_imports)]
5 //#![allow(clippy::redundant_pub_crate)]
7 #![warn(unused_imports)]
9 extern crate wildcard_imports_helper;
12 use crate::mod_mod::*;
13 use crate::multi_fn_mod::*;
15 use crate::struct_mod::*;
17 #[allow(unused_imports)]
18 use wildcard_imports_helper::inner::inner_for_self_import;
19 use wildcard_imports_helper::inner::inner_for_self_import::*;
20 use wildcard_imports_helper::*;
22 use std::io::prelude::*;
23 use wildcard_imports_helper::prelude::v1::*;
27 impl Read for ReadFoo {
28 fn read(&mut self, _buf: &mut [u8]) -> std::io::Result<usize> {
47 pub mod multi_inner_mod {
55 pub mod inner_struct_mod {
60 macro_rules! double_struct_import_test {
71 multi_inner_mod::foo();
77 let _ = inner_struct_mod::C;
79 let _ = PreludeModAnywhere;
81 double_struct_import_test!();
82 double_struct_import_test!();
86 pub use self::inner_exported::*;
87 #[allow(unused_imports)]
88 pub(crate) use self::inner_exported2::*;
97 use wildcard_imports_helper::inner::inner_for_self_import::{self, *};
98 use wildcard_imports_helper::*;
100 inner_for_self_import::inner_extern_foo();
108 fn test_inner_nested() {
109 use self::{inner::*, inner2::*};
115 fn test_extern_reexported() {
116 use wildcard_imports_helper::*;
119 let _ = ExternExportedStruct;
120 let _ = ExternExportedEnum::A;
125 pub struct ExportedStruct;
126 pub enum ExportedEnum {
131 mod inner_exported2 {
132 pub(crate) fn exported2() {}
136 pub fn inner_foo() {}
140 pub fn inner_bar() {}
144 fn test_reexported() {
145 use crate::in_fn_test::*;
148 let _ = ExportedStruct;
149 let _ = ExportedEnum::A;
153 fn test_weird_formatting() {
154 use crate:: in_fn_test:: * ;
165 mod should_be_replaced {
173 mod test_should_pass {
181 mod test_should_pass_inside_function {
182 fn with_super_inside_function() {
188 mod test_should_pass_further_inside {
198 mod should_be_replaced_futher_inside {
208 mod use_explicit_should_be_replaced {
209 use super_imports::*;
216 mod use_double_super_should_be_replaced {
220 fn with_double_super() {
226 mod use_super_explicit_should_be_replaced {
227 use super::super::super_imports::*;
229 fn with_super_explicit() {