]>
Commit | Line | Data |
---|---|---|
48663c56 XL |
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 | } |