]> git.lizzy.rs Git - rust.git/blob - src/test/ui/pub/issue-33174-restricted-type-in-public-interface.rs
Auto merge of #81507 - weiznich:add_diesel_to_cargo_test, r=Mark-Simulacrum
[rust.git] / src / test / ui / pub / issue-33174-restricted-type-in-public-interface.rs
1 #![allow(non_camel_case_types)] // genus is always capitalized
2
3 pub(crate) struct Snail;
4 //~^ NOTE `Snail` declared as private
5
6 mod sea {
7     pub(super) struct Turtle;
8     //~^ NOTE `Turtle` declared as crate-private
9 }
10
11 struct Tortoise;
12 //~^ NOTE `Tortoise` declared as private
13
14 pub struct Shell<T> {
15     pub(crate) creature: T,
16 }
17
18 pub type Helix_pomatia = Shell<Snail>;
19 //~^ ERROR private type `Snail` in public interface
20 //~| NOTE can't leak private type
21 pub type Dermochelys_coriacea = Shell<sea::Turtle>;
22 //~^ ERROR crate-private type `Turtle` in public interface
23 //~| NOTE can't leak crate-private type
24 pub type Testudo_graeca = Shell<Tortoise>;
25 //~^ ERROR private type `Tortoise` in public interface
26 //~| NOTE can't leak private type
27
28 fn main() {}