summaryrefslogtreecommitdiffstats
path: root/src/test/ui/privacy/auxiliary/private-inferred-type.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/privacy/auxiliary/private-inferred-type.rs')
-rw-r--r--src/test/ui/privacy/auxiliary/private-inferred-type.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/ui/privacy/auxiliary/private-inferred-type.rs b/src/test/ui/privacy/auxiliary/private-inferred-type.rs
new file mode 100644
index 000000000..7ac913f5b
--- /dev/null
+++ b/src/test/ui/privacy/auxiliary/private-inferred-type.rs
@@ -0,0 +1,36 @@
+#![feature(decl_macro)]
+
+fn priv_fn() {}
+static PRIV_STATIC: u8 = 0;
+enum PrivEnum { Variant }
+pub enum PubEnum { Variant }
+trait PrivTrait { fn method() {} }
+impl PrivTrait for u8 {}
+pub trait PubTrait { fn method() {} }
+impl PubTrait for u8 {}
+struct PrivTupleStruct(u8);
+pub struct PubTupleStruct(u8);
+impl PubTupleStruct { fn method() {} }
+
+struct Priv;
+pub type Alias = Priv;
+pub struct Pub<T = Alias>(pub T);
+
+impl Pub<Priv> {
+ pub fn static_method() {}
+}
+impl Pub<u8> {
+ fn priv_method(&self) {}
+}
+
+pub macro m() {
+ priv_fn;
+ PRIV_STATIC;
+ PrivEnum::Variant;
+ PubEnum::Variant;
+ <u8 as PrivTrait>::method;
+ <u8 as PubTrait>::method;
+ PrivTupleStruct;
+ PubTupleStruct;
+ Pub(0u8).priv_method();
+}