]> git.lizzy.rs Git - rust.git/blob - src/test/ui/imports/issue-59764.rs
Add 'src/tools/rustfmt/' from commit '7872306edf2e11a69aaffb9434088fd66b46a863'
[rust.git] / src / test / ui / imports / issue-59764.rs
1 // aux-build:issue-59764.rs
2 // compile-flags:--extern issue_59764
3 // edition:2018
4
5 #![allow(warnings)]
6
7 // This tests the suggestion to import macros from the root of a crate. This aims to capture
8 // the case where a user attempts to import a macro from the definition location instead of the
9 // root of the crate and the macro is annotated with `#![macro_export]`.
10
11 // Edge cases..
12
13 mod multiple_imports_same_line_at_end {
14     use issue_59764::foo::{baz, makro};
15     //~^ ERROR unresolved import `issue_59764::foo::makro` [E0432]
16 }
17
18 mod multiple_imports_multiline_at_end_trailing_comma {
19     use issue_59764::foo::{
20         baz,
21         makro, //~ ERROR unresolved import `issue_59764::foo::makro` [E0432]
22     };
23 }
24
25 mod multiple_imports_multiline_at_end {
26     use issue_59764::foo::{
27         baz,
28         makro //~ ERROR unresolved import `issue_59764::foo::makro` [E0432]
29     };
30 }
31
32 mod multiple_imports_same_line_in_middle {
33     use issue_59764::foo::{baz, makro, foobar};
34     //~^ ERROR unresolved import `issue_59764::foo::makro` [E0432]
35 }
36
37 mod multiple_imports_multiline_in_middle_trailing_comma {
38     use issue_59764::foo::{
39         baz,
40         makro, //~ ERROR unresolved import `issue_59764::foo::makro` [E0432]
41         foobar,
42     };
43 }
44
45 mod multiple_imports_multiline_in_middle {
46     use issue_59764::foo::{
47         baz,
48         makro, //~ ERROR unresolved import `issue_59764::foo::makro` [E0432]
49         foobar
50     };
51 }
52
53 mod nested_imports {
54     use issue_59764::{foobaz, foo::makro};
55     //~^ ERROR unresolved import `issue_59764::foo::makro` [E0432]
56 }
57
58 mod nested_multiple_imports {
59     use issue_59764::{foobaz, foo::{baz, makro}};
60     //~^ ERROR unresolved import `issue_59764::foo::makro` [E0432]
61 }
62
63 mod nested_multiline_multiple_imports_trailing_comma {
64     use issue_59764::{
65         foobaz,
66         foo::{
67             baz,
68             makro, //~ ERROR unresolved import `issue_59764::foo::makro` [E0432]
69         },
70     };
71 }
72
73 mod nested_multiline_multiple_imports {
74     use issue_59764::{
75         foobaz,
76         foo::{
77             baz,
78             makro //~ ERROR unresolved import `issue_59764::foo::makro` [E0432]
79         }
80     };
81 }
82
83 mod doubly_nested_multiple_imports {
84     use issue_59764::{foobaz, foo::{baz, makro, barbaz::{barfoo}}};
85     //~^ ERROR unresolved import `issue_59764::foo::makro` [E0432]
86 }
87
88 mod doubly_multiline_nested_multiple_imports {
89     use issue_59764::{
90         foobaz,
91         foo::{
92             baz,
93             makro, //~ ERROR unresolved import `issue_59764::foo::makro` [E0432]
94             barbaz::{
95                 barfoo,
96             }
97         }
98     };
99 }
100
101 mod renamed_import {
102     use issue_59764::foo::makro as baz;
103     //~^ ERROR unresolved import `issue_59764::foo::makro` [E0432]
104 }
105
106 mod renamed_multiple_imports {
107     use issue_59764::foo::{baz, makro as foobar};
108     //~^ ERROR unresolved import `issue_59764::foo::makro` [E0432]
109 }
110
111 mod lots_of_whitespace {
112     use
113         issue_59764::{
114
115             foobaz,
116
117
118             foo::{baz,
119
120                 makro as foobar} //~ ERROR unresolved import `issue_59764::foo::makro` [E0432]
121
122         };
123 }
124
125 // Simple case..
126
127 use issue_59764::foo::makro;
128 //~^ ERROR unresolved import `issue_59764::foo::makro` [E0432]
129
130 makro!(bar);
131 //~^ ERROR cannot determine resolution for the macro `makro`
132
133 fn main() {
134     bar();
135     //~^ ERROR cannot find function `bar` in this scope [E0425]
136 }