]> git.lizzy.rs Git - rust.git/blob - tests/ui/macro_use_imports.rs
Ignore associated items in trait *implementations* when considering type complexity
[rust.git] / tests / ui / macro_use_imports.rs
1 // aux-build:macro_rules.rs
2 // aux-build:macro_use_helper.rs
3 // aux-build:proc_macro_derive.rs
4 // run-rustfix
5 // ignore-32bit
6
7 #![allow(unused_imports, unreachable_code, unused_variables, dead_code, unused_attributes)]
8 #![allow(clippy::single_component_path_imports)]
9 #![warn(clippy::macro_use_imports)]
10
11 #[macro_use]
12 extern crate macro_use_helper as mac;
13
14 #[macro_use]
15 extern crate proc_macro_derive as mini_mac;
16
17 mod a {
18     #[macro_use]
19     use mac;
20     #[macro_use]
21     use mini_mac;
22     #[macro_use]
23     use mac::inner;
24     #[macro_use]
25     use mac::inner::nested;
26
27     #[derive(ClippyMiniMacroTest)]
28     struct Test;
29
30     fn test() {
31         pub_macro!();
32         inner_mod_macro!();
33         pub_in_private_macro!(_var);
34         function_macro!();
35         let v: ty_macro!() = Vec::default();
36
37         inner::try_err!();
38         inner::foofoo!();
39         nested::string_add!();
40     }
41 }
42
43 // issue #7015, ICE due to calling `item_children` with local `DefId`
44 #[macro_use]
45 use a as b;
46
47 fn main() {}