2 // aux-build:wildcard_imports_helper.rs
4 #![warn(clippy::wildcard_imports)]
5 //#![allow(clippy::redundant_pub_crate)]
7 #![allow(clippy::unnecessary_wraps)]
8 #![warn(unused_imports)]
10 extern crate wildcard_imports_helper;
13 use crate::mod_mod::*;
14 use crate::multi_fn_mod::*;
16 use crate::struct_mod::*;
18 #[allow(unused_imports)]
19 use wildcard_imports_helper::inner::inner_for_self_import;
20 use wildcard_imports_helper::inner::inner_for_self_import::*;
21 use wildcard_imports_helper::*;
23 use std::io::prelude::*;
24 use wildcard_imports_helper::prelude::v1::*;
28 impl Read for ReadFoo {
29 fn read(&mut self, _buf: &mut [u8]) -> std::io::Result<usize> {
48 pub mod multi_inner_mod {
56 pub mod inner_struct_mod {
61 macro_rules! double_struct_import_test {
72 multi_inner_mod::foo();
78 let _ = inner_struct_mod::C;
80 let _ = PreludeModAnywhere;
82 double_struct_import_test!();
83 double_struct_import_test!();
87 pub use self::inner_exported::*;
88 #[allow(unused_imports)]
89 pub(crate) use self::inner_exported2::*;
98 use wildcard_imports_helper::inner::inner_for_self_import::{self, *};
99 use wildcard_imports_helper::*;
101 inner_for_self_import::inner_extern_foo();
109 fn test_inner_nested() {
110 use self::{inner::*, inner2::*};
116 fn test_extern_reexported() {
117 use wildcard_imports_helper::*;
120 let _ = ExternExportedStruct;
121 let _ = ExternExportedEnum::A;
126 pub struct ExportedStruct;
127 pub enum ExportedEnum {
132 mod inner_exported2 {
133 pub(crate) fn exported2() {}
137 pub fn inner_foo() {}
141 pub fn inner_bar() {}
145 fn test_reexported() {
146 use crate::in_fn_test::*;
149 let _ = ExportedStruct;
150 let _ = ExportedEnum::A;
154 fn test_weird_formatting() {
155 use crate:: in_fn_test:: * ;
166 mod should_be_replaced {
174 mod test_should_pass {
182 mod test_should_pass_inside_function {
183 fn with_super_inside_function() {
189 mod test_should_pass_further_inside {
199 mod should_be_replaced_futher_inside {
209 mod use_explicit_should_be_replaced {
210 use super_imports::*;
217 mod use_double_super_should_be_replaced {
221 fn with_double_super() {
227 mod use_super_explicit_should_be_replaced {
228 use super::super::super_imports::*;
230 fn with_super_explicit() {