aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/rust/compile/privacy3.rs
blob: 8c8c199258f1b32499a0337388824a47118d3168 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
mod orange {
    mod green {
        fn sain_void() {}
        fn sain() -> bool {
            false
        }
        pub fn doux() {}
    }

    fn brown() {
        if green::sain() {// E0603
            // { dg-error "definition is private in this context" "" { target *-*-* } .-1 }
            green::doux();
        }

        {
            green::sain();
            // { dg-error "definition is private in this context" "" { target *-*-* } .-1 }
            green::sain();
            // { dg-error "definition is private in this context" "" { target *-*-* } .-1 }
            green::sain_void()
            // { dg-error "definition is private in this context" "" { target *-*-* } .-1 }
        }

        let a = green::sain();
        // { dg-error "definition is private in this context" "" { target *-*-* } .-1 }
    }
}