1 // aux-build:namespace-mix.rs
3 extern crate namespace_mix;
19 // Use something emitting the type argument name, e.g., unsatisfied bound.
21 fn check<T: Impossible>(_: T) {}
25 pub type S = ::c::Item;
29 pub const S: ::c::Item = ::c::Item;
33 check(m1::S{}); //~ ERROR c::Item
34 check(m1::S); //~ ERROR expected value, found type alias `m1::S`
35 check(m2::S{}); //~ ERROR c::S
36 check(m2::S); //~ ERROR c::Item
39 check(xm1::S{}); //~ ERROR c::Item
40 check(xm1::S); //~ ERROR expected value, found type alias `xm1::S`
41 check(xm2::S{}); //~ ERROR c::S
42 check(xm2::S); //~ ERROR c::Item
47 pub type TS = ::c::Item;
51 pub const TS: ::c::Item = ::c::Item;
55 check(m3::TS{}); //~ ERROR c::Item
56 check(m3::TS); //~ ERROR c::TS
57 check(m4::TS{}); //~ ERROR c::TS
58 check(m4::TS); //~ ERROR c::Item
61 check(xm3::TS{}); //~ ERROR c::Item
62 check(xm3::TS); //~ ERROR c::TS
63 check(xm4::TS{}); //~ ERROR c::TS
64 check(xm4::TS); //~ ERROR c::Item
69 pub type US = ::c::Item;
73 pub const US: ::c::Item = ::c::Item;
77 check(m5::US{}); //~ ERROR c::Item
78 check(m5::US); //~ ERROR c::US
79 check(m6::US{}); //~ ERROR c::US
80 check(m6::US); //~ ERROR c::Item
83 check(xm5::US{}); //~ ERROR c::Item
84 check(xm5::US); //~ ERROR c::US
85 check(xm6::US{}); //~ ERROR c::US
86 check(xm6::US); //~ ERROR c::Item
91 pub type V = ::c::Item;
95 pub const V: ::c::Item = ::c::Item;
99 check(m7::V{}); //~ ERROR c::Item
100 check(m7::V); //~ ERROR expected value, found type alias `m7::V`
101 check(m8::V{}); //~ ERROR c::E
102 check(m8::V); //~ ERROR c::Item
105 check(xm7::V{}); //~ ERROR c::Item
106 check(xm7::V); //~ ERROR expected value, found type alias `xm7::V`
107 check(xm8::V{}); //~ ERROR c::E
108 check(xm8::V); //~ ERROR c::Item
113 pub type TV = ::c::Item;
117 pub const TV: ::c::Item = ::c::Item;
121 check(m9::TV{}); //~ ERROR c::Item
122 check(m9::TV); //~ ERROR c::E
123 check(mA::TV{}); //~ ERROR c::E
124 check(mA::TV); //~ ERROR c::Item
127 check(xm9::TV{}); //~ ERROR c::Item
128 check(xm9::TV); //~ ERROR c::E
129 check(xmA::TV{}); //~ ERROR c::E
130 check(xmA::TV); //~ ERROR c::Item
135 pub type UV = ::c::Item;
139 pub const UV: ::c::Item = ::c::Item;
143 check(mB::UV{}); //~ ERROR c::Item
144 check(mB::UV); //~ ERROR c::E
145 check(mC::UV{}); //~ ERROR c::E
146 check(mC::UV); //~ ERROR c::Item
149 check(xmB::UV{}); //~ ERROR c::Item
150 check(xmB::UV); //~ ERROR c::E
151 check(xmC::UV{}); //~ ERROR c::E
152 check(xmC::UV); //~ ERROR c::Item