]> git.lizzy.rs Git - rust.git/blob - src/test/ui/privacy/private-in-public-ill-formed.rs
Rollup merge of #86747 - FabianWolff:issue-86653, r=GuillaumeGomez
[rust.git] / src / test / ui / privacy / private-in-public-ill-formed.rs
1 mod aliases_pub {
2     struct Priv;
3     mod m {
4         pub struct Pub3;
5     }
6
7     trait PrivTr {
8         type AssocAlias;
9     }
10     impl PrivTr for Priv {
11         type AssocAlias = m::Pub3;
12     }
13
14     impl <Priv as PrivTr>::AssocAlias {
15         //~^ ERROR no nominal type found for inherent implementation
16         pub fn f(arg: Priv) {} // private type `aliases_pub::Priv` in public interface
17     }
18 }
19
20 mod aliases_priv {
21     struct Priv;
22     struct Priv3;
23
24     trait PrivTr {
25         type AssocAlias;
26     }
27     impl PrivTr for Priv {
28         type AssocAlias = Priv3;
29     }
30
31     impl <Priv as PrivTr>::AssocAlias {
32         //~^ ERROR no nominal type found for inherent implementation
33         pub fn f(arg: Priv) {} // OK
34     }
35 }
36
37 fn main() {}