diff options
Diffstat (limited to 'src/test/ui/privacy/associated-item-privacy-trait.rs')
-rw-r--r-- | src/test/ui/privacy/associated-item-privacy-trait.rs | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/src/test/ui/privacy/associated-item-privacy-trait.rs b/src/test/ui/privacy/associated-item-privacy-trait.rs deleted file mode 100644 index ad9a5e15c..000000000 --- a/src/test/ui/privacy/associated-item-privacy-trait.rs +++ /dev/null @@ -1,134 +0,0 @@ -#![feature(decl_macro, associated_type_defaults)] -#![allow(unused, private_in_public)] - -mod priv_trait { - trait PrivTr { - fn method(&self) {} - const CONST: u8 = 0; - type AssocTy = u8; - } - pub struct Pub; - impl PrivTr for Pub {} - pub trait PubTr: PrivTr {} - - pub macro mac() { - let value = <Pub as PrivTr>::method; - //~^ ERROR type `for<'a> fn(&'a priv_trait::Pub) {<priv_trait::Pub as PrivTr>::method}` is private - value; - //~^ ERROR type `for<'a> fn(&'a priv_trait::Pub) {<priv_trait::Pub as PrivTr>::method}` is private - Pub.method(); - //~^ ERROR type `for<'a> fn(&'a Self) {<Self as PrivTr>::method}` is private - <Pub as PrivTr>::CONST; - //~^ ERROR associated constant `<Pub as PrivTr>::CONST` is private - let _: <Pub as PrivTr>::AssocTy; - //~^ ERROR associated type `<Pub as PrivTr>::AssocTy` is private - pub type InSignatureTy = <Pub as PrivTr>::AssocTy; - //~^ ERROR trait `PrivTr` is private - pub trait InSignatureTr: PrivTr {} - //~^ ERROR trait `PrivTr` is private - impl PrivTr for u8 {} - //~^ ERROR trait `PrivTr` is private - } -} -fn priv_trait() { - priv_trait::mac!(); -} - -mod priv_signature { - pub trait PubTr { - fn method(&self, arg: Priv) {} - } - struct Priv; - pub struct Pub; - impl PubTr for Pub {} - - pub macro mac() { - let value = <Pub as PubTr>::method; - //~^ ERROR type `priv_signature::Priv` is private - value; - //~^ ERROR type `priv_signature::Priv` is private - Pub.method(loop {}); - //~^ ERROR type `priv_signature::Priv` is private - } -} -fn priv_signature() { - priv_signature::mac!(); -} - -mod priv_substs { - pub trait PubTr { - fn method<T>(&self) {} - } - struct Priv; - pub struct Pub; - impl PubTr for Pub {} - - pub macro mac() { - let value = <Pub as PubTr>::method::<Priv>; - //~^ ERROR type `priv_substs::Priv` is private - value; - //~^ ERROR type `priv_substs::Priv` is private - Pub.method::<Priv>(); - //~^ ERROR type `priv_substs::Priv` is private - } -} -fn priv_substs() { - priv_substs::mac!(); -} - -mod priv_parent_substs { - pub trait PubTr<T = Priv> { - fn method(&self) {} - const CONST: u8 = 0; - type AssocTy = u8; - } - struct Priv; - pub struct Pub; - impl PubTr<Priv> for Pub {} - impl PubTr<Pub> for Priv {} - - pub macro mac() { - let value = <Pub as PubTr>::method; - //~^ ERROR type `priv_parent_substs::Priv` is private - value; - //~^ ERROR type `priv_parent_substs::Priv` is private - let value = <Pub as PubTr<_>>::method; - //~^ ERROR type `priv_parent_substs::Priv` is private - value; - //~^ ERROR type `priv_parent_substs::Priv` is private - Pub.method(); - //~^ ERROR type `priv_parent_substs::Priv` is private - - let value = <Priv as PubTr<_>>::method; - //~^ ERROR type `priv_parent_substs::Priv` is private - value; - //~^ ERROR type `priv_parent_substs::Priv` is private - Priv.method(); - //~^ ERROR type `priv_parent_substs::Priv` is private - - <Pub as PubTr>::CONST; - //~^ ERROR type `priv_parent_substs::Priv` is private - <Pub as PubTr<_>>::CONST; - //~^ ERROR type `priv_parent_substs::Priv` is private - <Priv as PubTr<_>>::CONST; - //~^ ERROR type `priv_parent_substs::Priv` is private - - let _: <Pub as PubTr>::AssocTy; // FIXME no longer an error?! - let _: <Pub as PubTr<_>>::AssocTy; - //~^ ERROR type `priv_parent_substs::Priv` is private - let _: <Priv as PubTr<_>>::AssocTy; - //~^ ERROR type `priv_parent_substs::Priv` is private - - pub type InSignatureTy1 = <Pub as PubTr>::AssocTy; - //~^ ERROR type `priv_parent_substs::Priv` is private - pub type InSignatureTy2 = <Priv as PubTr<Pub>>::AssocTy; - //~^ ERROR type `priv_parent_substs::Priv` is private - impl PubTr for u8 {} - //~^ ERROR type `priv_parent_substs::Priv` is private - } -} -fn priv_parent_substs() { - priv_parent_substs::mac!(); -} - -fn main() {} |