aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/rust/compile/privacy3.rs
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/rust/compile/privacy3.rs')
-rw-r--r--gcc/testsuite/rust/compile/privacy3.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/rust/compile/privacy3.rs b/gcc/testsuite/rust/compile/privacy3.rs
new file mode 100644
index 0000000..d48acea
--- /dev/null
+++ b/gcc/testsuite/rust/compile/privacy3.rs
@@ -0,0 +1,28 @@
+mod orange {
+ mod green {
+ fn sain_void() {}
+ fn sain() -> bool {
+ false
+ }
+ pub fn doux() {}
+ }
+
+ fn brown() {
+ if green::sain() {
+ // { 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 }
+ }
+}