]> git.proxmox.com Git - rustc.git/blob - tests/ui/imports/issue-59764.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / tests / 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 }