about summary refs log tree commit diff
path: root/src/test/ui/privacy
diff options
context:
space:
mode:
authorAlbert Larsan <74931857+albertlarsan68@users.noreply.github.com>2023-01-05 09:13:28 +0100
committerAlbert Larsan <74931857+albertlarsan68@users.noreply.github.com>2023-01-11 09:32:08 +0000
commitcf2dff2b1e3fa55fa5415d524200070d0d7aacfe (patch)
tree40a88d9a46aaf3e8870676eb2538378b75a263eb /src/test/ui/privacy
parentca855e6e42787ecd062d81d53336fe6788ef51a9 (diff)
downloadrust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.tar.gz
rust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.zip
Move /src/test to /tests
Diffstat (limited to 'src/test/ui/privacy')
-rw-r--r--src/test/ui/privacy/associated-item-privacy-inherent.rs112
-rw-r--r--src/test/ui/privacy/associated-item-privacy-inherent.stderr233
-rw-r--r--src/test/ui/privacy/associated-item-privacy-trait.rs134
-rw-r--r--src/test/ui/privacy/associated-item-privacy-trait.stderr332
-rw-r--r--src/test/ui/privacy/associated-item-privacy-type-binding.rs64
-rw-r--r--src/test/ui/privacy/associated-item-privacy-type-binding.stderr178
-rw-r--r--src/test/ui/privacy/auxiliary/cci_class.rs14
-rw-r--r--src/test/ui/privacy/auxiliary/cci_class_5.rs17
-rw-r--r--src/test/ui/privacy/auxiliary/ctor_aux.rs25
-rw-r--r--src/test/ui/privacy/auxiliary/impl_privacy_xc_2.rs13
-rw-r--r--src/test/ui/privacy/auxiliary/issue-17718-const-privacy.rs8
-rw-r--r--src/test/ui/privacy/auxiliary/issue-57264-1.rs9
-rw-r--r--src/test/ui/privacy/auxiliary/issue-57264-2.rs10
-rw-r--r--src/test/ui/privacy/auxiliary/issue-75907.rs17
-rw-r--r--src/test/ui/privacy/auxiliary/issue-92755.rs17
-rw-r--r--src/test/ui/privacy/auxiliary/priv-impl-prim-ty.rs9
-rw-r--r--src/test/ui/privacy/auxiliary/privacy_reexport.rs6
-rw-r--r--src/test/ui/privacy/auxiliary/privacy_tuple_struct.rs4
-rw-r--r--src/test/ui/privacy/auxiliary/private-inferred-type.rs36
-rw-r--r--src/test/ui/privacy/auxiliary/pub_use_mods_xcrate.rs10
-rw-r--r--src/test/ui/privacy/auxiliary/pub_use_xcrate1.rs3
-rw-r--r--src/test/ui/privacy/auxiliary/pub_use_xcrate2.rs3
-rw-r--r--src/test/ui/privacy/auxiliary/reachable-unnameable-items.rs106
-rw-r--r--src/test/ui/privacy/crate-private-reexport.rs66
-rw-r--r--src/test/ui/privacy/crate-private-reexport.stderr220
-rw-r--r--src/test/ui/privacy/ctor.rs16
-rw-r--r--src/test/ui/privacy/decl-macro.rs9
-rw-r--r--src/test/ui/privacy/decl-macro.stderr15
-rw-r--r--src/test/ui/privacy/effective_visibilities.rs76
-rw-r--r--src/test/ui/privacy/effective_visibilities.stderr140
-rw-r--r--src/test/ui/privacy/effective_visibilities_glob.rs21
-rw-r--r--src/test/ui/privacy/effective_visibilities_glob.stderr26
-rw-r--r--src/test/ui/privacy/effective_visibilities_invariants.rs12
-rw-r--r--src/test/ui/privacy/effective_visibilities_invariants.stderr32
-rw-r--r--src/test/ui/privacy/export-tag-variant.rs7
-rw-r--r--src/test/ui/privacy/export-tag-variant.stderr15
-rw-r--r--src/test/ui/privacy/impl-privacy-xc-2.rs10
-rw-r--r--src/test/ui/privacy/issue-13641.rs13
-rw-r--r--src/test/ui/privacy/issue-13641.stderr27
-rw-r--r--src/test/ui/privacy/issue-17718-const-privacy.rs16
-rw-r--r--src/test/ui/privacy/issue-17718-const-privacy.stderr27
-rw-r--r--src/test/ui/privacy/issue-29161.rs15
-rw-r--r--src/test/ui/privacy/issue-29161.stderr22
-rw-r--r--src/test/ui/privacy/issue-30079.rs39
-rw-r--r--src/test/ui/privacy/issue-30079.stderr31
-rw-r--r--src/test/ui/privacy/issue-46209-private-enum-variant-reexport.rs40
-rw-r--r--src/test/ui/privacy/issue-46209-private-enum-variant-reexport.stderr51
-rw-r--r--src/test/ui/privacy/issue-57264-1.rs8
-rw-r--r--src/test/ui/privacy/issue-57264-2.rs10
-rw-r--r--src/test/ui/privacy/issue-75062-fieldless-tuple-struct.rs10
-rw-r--r--src/test/ui/privacy/issue-75062-fieldless-tuple-struct.stderr15
-rw-r--r--src/test/ui/privacy/issue-75906.rs13
-rw-r--r--src/test/ui/privacy/issue-75906.stderr15
-rw-r--r--src/test/ui/privacy/issue-75907.rs18
-rw-r--r--src/test/ui/privacy/issue-75907.stderr29
-rw-r--r--src/test/ui/privacy/issue-75907_b.rs14
-rw-r--r--src/test/ui/privacy/issue-75907_b.stderr31
-rw-r--r--src/test/ui/privacy/issue-79593.rs29
-rw-r--r--src/test/ui/privacy/issue-79593.stderr35
-rw-r--r--src/test/ui/privacy/issue-92755.rs10
-rw-r--r--src/test/ui/privacy/legacy-ctor-visibility.rs15
-rw-r--r--src/test/ui/privacy/legacy-ctor-visibility.stderr9
-rw-r--r--src/test/ui/privacy/macro-private-reexport.rs17
-rw-r--r--src/test/ui/privacy/macro-private-reexport.stderr29
-rw-r--r--src/test/ui/privacy/priv-impl-prim-ty.rs11
-rw-r--r--src/test/ui/privacy/priv-in-bad-locations.rs17
-rw-r--r--src/test/ui/privacy/priv-in-bad-locations.stderr31
-rw-r--r--src/test/ui/privacy/privacy-in-paths.rs30
-rw-r--r--src/test/ui/privacy/privacy-in-paths.stderr39
-rw-r--r--src/test/ui/privacy/privacy-ns.rs114
-rw-r--r--src/test/ui/privacy/privacy-ns1.rs56
-rw-r--r--src/test/ui/privacy/privacy-ns1.stderr67
-rw-r--r--src/test/ui/privacy/privacy-ns2.rs79
-rw-r--r--src/test/ui/privacy/privacy-ns2.stderr102
-rw-r--r--src/test/ui/privacy/privacy-reexport.rs13
-rw-r--r--src/test/ui/privacy/privacy-sanity.rs82
-rw-r--r--src/test/ui/privacy/privacy-sanity.stderr123
-rw-r--r--src/test/ui/privacy/privacy-ufcs.rs13
-rw-r--r--src/test/ui/privacy/privacy-ufcs.stderr15
-rw-r--r--src/test/ui/privacy/privacy1-rpass.rs23
-rw-r--r--src/test/ui/privacy/privacy1.rs176
-rw-r--r--src/test/ui/privacy/privacy1.stderr205
-rw-r--r--src/test/ui/privacy/privacy2.rs27
-rw-r--r--src/test/ui/privacy/privacy2.stderr35
-rw-r--r--src/test/ui/privacy/privacy3.rs27
-rw-r--r--src/test/ui/privacy/privacy3.stderr17
-rw-r--r--src/test/ui/privacy/privacy4.rs25
-rw-r--r--src/test/ui/privacy/privacy4.stderr15
-rw-r--r--src/test/ui/privacy/privacy5.rs128
-rw-r--r--src/test/ui/privacy/privacy5.stderr771
-rw-r--r--src/test/ui/privacy/private-class-field.rs26
-rw-r--r--src/test/ui/privacy/private-field-ty-err.rs20
-rw-r--r--src/test/ui/privacy/private-field-ty-err.stderr9
-rw-r--r--src/test/ui/privacy/private-impl-method.rs21
-rw-r--r--src/test/ui/privacy/private-impl-method.stderr12
-rw-r--r--src/test/ui/privacy/private-in-public-assoc-ty.rs52
-rw-r--r--src/test/ui/privacy/private-in-public-assoc-ty.stderr68
-rw-r--r--src/test/ui/privacy/private-in-public-expr-pat.rs13
-rw-r--r--src/test/ui/privacy/private-in-public-ill-formed.rs37
-rw-r--r--src/test/ui/privacy/private-in-public-ill-formed.stderr19
-rw-r--r--src/test/ui/privacy/private-in-public-lint.rs19
-rw-r--r--src/test/ui/privacy/private-in-public-lint.stderr21
-rw-r--r--src/test/ui/privacy/private-in-public-non-principal-2.rs14
-rw-r--r--src/test/ui/privacy/private-in-public-non-principal-2.stderr8
-rw-r--r--src/test/ui/privacy/private-in-public-non-principal.rs21
-rw-r--r--src/test/ui/privacy/private-in-public-non-principal.stderr24
-rw-r--r--src/test/ui/privacy/private-in-public-type-alias-impl-trait.rs27
-rw-r--r--src/test/ui/privacy/private-in-public-warn.rs280
-rw-r--r--src/test/ui/privacy/private-in-public-warn.stderr339
-rw-r--r--src/test/ui/privacy/private-in-public.rs148
-rw-r--r--src/test/ui/privacy/private-in-public.stderr292
-rw-r--r--src/test/ui/privacy/private-inferred-type-1.rs18
-rw-r--r--src/test/ui/privacy/private-inferred-type-1.stderr14
-rw-r--r--src/test/ui/privacy/private-inferred-type-2.rs19
-rw-r--r--src/test/ui/privacy/private-inferred-type-2.stderr20
-rw-r--r--src/test/ui/privacy/private-inferred-type-3.rs17
-rw-r--r--src/test/ui/privacy/private-inferred-type-3.stderr58
-rw-r--r--src/test/ui/privacy/private-inferred-type.rs133
-rw-r--r--src/test/ui/privacy/private-inferred-type.stderr237
-rw-r--r--src/test/ui/privacy/private-item-simple.rs7
-rw-r--r--src/test/ui/privacy/private-item-simple.stderr15
-rw-r--r--src/test/ui/privacy/private-method-cross-crate.rs8
-rw-r--r--src/test/ui/privacy/private-method-cross-crate.stderr14
-rw-r--r--src/test/ui/privacy/private-method-inherited.rs14
-rw-r--r--src/test/ui/privacy/private-method-inherited.stderr12
-rw-r--r--src/test/ui/privacy/private-method-rpass.rs34
-rw-r--r--src/test/ui/privacy/private-method.rs23
-rw-r--r--src/test/ui/privacy/private-method.stderr12
-rw-r--r--src/test/ui/privacy/private-struct-field-cross-crate.rs9
-rw-r--r--src/test/ui/privacy/private-struct-field-cross-crate.stderr9
-rw-r--r--src/test/ui/privacy/private-struct-field-ctor.rs9
-rw-r--r--src/test/ui/privacy/private-struct-field-ctor.stderr9
-rw-r--r--src/test/ui/privacy/private-struct-field-pattern.rs17
-rw-r--r--src/test/ui/privacy/private-struct-field-pattern.stderr9
-rw-r--r--src/test/ui/privacy/private-struct-field.rs14
-rw-r--r--src/test/ui/privacy/private-struct-field.stderr9
-rw-r--r--src/test/ui/privacy/private-type-in-interface.rs30
-rw-r--r--src/test/ui/privacy/private-type-in-interface.stderr56
-rw-r--r--src/test/ui/privacy/private-variant-reexport.rs20
-rw-r--r--src/test/ui/privacy/private-variant-reexport.stderr48
-rw-r--r--src/test/ui/privacy/pub-extern-privacy.rs18
-rw-r--r--src/test/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs2
-rw-r--r--src/test/ui/privacy/pub-priv-dep/auxiliary/pub_dep.rs1
-rw-r--r--src/test/ui/privacy/pub-priv-dep/pub-priv1.rs44
-rw-r--r--src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr26
-rw-r--r--src/test/ui/privacy/pub-priv-dep/std-pub.rs12
-rw-r--r--src/test/ui/privacy/pub-use-xcrate.rs15
-rw-r--r--src/test/ui/privacy/pub_use_mods_xcrate_exe.rs11
-rw-r--r--src/test/ui/privacy/reachable-unnameable-items.rs31
-rw-r--r--src/test/ui/privacy/restricted/auxiliary/pub_restricted.rs14
-rw-r--r--src/test/ui/privacy/restricted/lookup-ignores-private.rs34
-rw-r--r--src/test/ui/privacy/restricted/private-in-public.rs11
-rw-r--r--src/test/ui/privacy/restricted/private-in-public.stderr21
-rw-r--r--src/test/ui/privacy/restricted/relative-2018.rs13
-rw-r--r--src/test/ui/privacy/restricted/relative-2018.stderr17
-rw-r--r--src/test/ui/privacy/restricted/struct-literal-field.rs19
-rw-r--r--src/test/ui/privacy/restricted/struct-literal-field.stderr9
-rw-r--r--src/test/ui/privacy/restricted/test.rs52
-rw-r--r--src/test/ui/privacy/restricted/test.stderr112
-rw-r--r--src/test/ui/privacy/union-field-privacy-1.rs17
-rw-r--r--src/test/ui/privacy/union-field-privacy-1.stderr15
-rw-r--r--src/test/ui/privacy/union-field-privacy-2.rs15
-rw-r--r--src/test/ui/privacy/union-field-privacy-2.stderr9
-rw-r--r--src/test/ui/privacy/useless-pub.rs16
-rw-r--r--src/test/ui/privacy/useless-pub.stderr21
-rw-r--r--src/test/ui/privacy/where-priv-type.rs90
-rw-r--r--src/test/ui/privacy/where-priv-type.stderr66
-rw-r--r--src/test/ui/privacy/where-pub-type-impls-priv-trait.rs56
-rw-r--r--src/test/ui/privacy/where-pub-type-impls-priv-trait.stderr54
169 files changed, 0 insertions, 8039 deletions
diff --git a/src/test/ui/privacy/associated-item-privacy-inherent.rs b/src/test/ui/privacy/associated-item-privacy-inherent.rs
deleted file mode 100644
index 7b7c734a99a..00000000000
--- a/src/test/ui/privacy/associated-item-privacy-inherent.rs
+++ /dev/null
@@ -1,112 +0,0 @@
-#![feature(decl_macro, associated_type_defaults)]
-#![allow(unused, private_in_public)]
-
-mod priv_nominal {
-    pub struct Pub;
-    impl Pub {
-        fn method(&self) {}
-        const CONST: u8 = 0;
-        // type AssocTy = u8;
-    }
-
-    pub macro mac() {
-        let value = Pub::method;
-        //~^ ERROR type `for<'a> fn(&'a priv_nominal::Pub) {priv_nominal::Pub::method}` is private
-        value;
-        //~^ ERROR type `for<'a> fn(&'a priv_nominal::Pub) {priv_nominal::Pub::method}` is private
-        Pub.method();
-        //~^ ERROR type `for<'a> fn(&'a priv_nominal::Pub) {priv_nominal::Pub::method}` is private
-        Pub::CONST;
-        //~^ ERROR associated constant `CONST` is private
-        // let _: Pub::AssocTy;
-        // pub type InSignatureTy = Pub::AssocTy;
-    }
-}
-fn priv_nominal() {
-    priv_nominal::mac!();
-}
-
-mod priv_signature {
-    struct Priv;
-    pub struct Pub;
-    impl Pub {
-        pub fn method(&self, arg: Priv) {}
-    }
-
-    pub macro mac() {
-        let value = Pub::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 {
-    struct Priv;
-    pub struct Pub;
-    impl Pub {
-        pub fn method<T>(&self) {}
-    }
-
-    pub macro mac() {
-        let value = Pub::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 {
-    struct Priv;
-    pub struct Pub<T = Priv>(T);
-    impl Pub<Priv> {
-        pub fn method(&self) {}
-        pub fn static_method() {}
-        pub const CONST: u8 = 0;
-        // pub type AssocTy = u8;
-    }
-
-    pub macro mac() {
-        let value = <Pub>::method;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-        value;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-        let value = Pub::method;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-        value;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-        let value = <Pub>::static_method;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-        value;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-        let value = Pub::static_method;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-        value;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-        Pub(Priv).method();
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-
-        <Pub>::CONST;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-        Pub::CONST;
-        //~^ ERROR type `priv_parent_substs::Priv` is private
-
-        // let _: Pub::AssocTy;
-        // pub type InSignatureTy = Pub::AssocTy;
-    }
-}
-fn priv_parent_substs() {
-    priv_parent_substs::mac!();
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/associated-item-privacy-inherent.stderr b/src/test/ui/privacy/associated-item-privacy-inherent.stderr
deleted file mode 100644
index f4d4ee45920..00000000000
--- a/src/test/ui/privacy/associated-item-privacy-inherent.stderr
+++ /dev/null
@@ -1,233 +0,0 @@
-error: type `for<'a> fn(&'a priv_nominal::Pub) {priv_nominal::Pub::method}` is private
-  --> $DIR/associated-item-privacy-inherent.rs:13:21
-   |
-LL |         let value = Pub::method;
-   |                     ^^^^^^^^^^^ private type
-...
-LL |     priv_nominal::mac!();
-   |     -------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_nominal::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `for<'a> fn(&'a priv_nominal::Pub) {priv_nominal::Pub::method}` is private
-  --> $DIR/associated-item-privacy-inherent.rs:15:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_nominal::mac!();
-   |     -------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_nominal::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `for<'a> fn(&'a priv_nominal::Pub) {priv_nominal::Pub::method}` is private
-  --> $DIR/associated-item-privacy-inherent.rs:17:13
-   |
-LL |         Pub.method();
-   |             ^^^^^^ private type
-...
-LL |     priv_nominal::mac!();
-   |     -------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_nominal::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: associated constant `CONST` is private
-  --> $DIR/associated-item-privacy-inherent.rs:19:9
-   |
-LL |         Pub::CONST;
-   |         ^^^^^^^^^^ private associated constant
-...
-LL |     priv_nominal::mac!();
-   |     -------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_nominal::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_signature::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:37:21
-   |
-LL |         let value = Pub::method;
-   |                     ^^^^^^^^^^^ private type
-...
-LL |     priv_signature::mac!();
-   |     ---------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_signature::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_signature::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:39:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_signature::mac!();
-   |     ---------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_signature::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_signature::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:41:13
-   |
-LL |         Pub.method(loop {});
-   |             ^^^^^^ private type
-...
-LL |     priv_signature::mac!();
-   |     ---------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_signature::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:57:21
-   |
-LL |         let value = Pub::method::<Priv>;
-   |                     ^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_substs::mac!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:59:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_substs::mac!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:61:9
-   |
-LL |         Pub.method::<Priv>();
-   |         ^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_substs::mac!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:80:21
-   |
-LL |         let value = <Pub>::method;
-   |                     ^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:82:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:84:21
-   |
-LL |         let value = Pub::method;
-   |                     ^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:86:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:88:21
-   |
-LL |         let value = <Pub>::static_method;
-   |                     ^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:90:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:92:21
-   |
-LL |         let value = Pub::static_method;
-   |                     ^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:94:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:96:19
-   |
-LL |         Pub(Priv).method();
-   |                   ^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:99:10
-   |
-LL |         <Pub>::CONST;
-   |          ^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-inherent.rs:101:9
-   |
-LL |         Pub::CONST;
-   |         ^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 21 previous errors
-
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 c686a21772e..00000000000
--- 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 `PrivTr::CONST` is private
-        let _: <Pub as PrivTr>::AssocTy;
-        //~^ ERROR associated type `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() {}
diff --git a/src/test/ui/privacy/associated-item-privacy-trait.stderr b/src/test/ui/privacy/associated-item-privacy-trait.stderr
deleted file mode 100644
index eb905bf7ef8..00000000000
--- a/src/test/ui/privacy/associated-item-privacy-trait.stderr
+++ /dev/null
@@ -1,332 +0,0 @@
-error: type `for<'a> fn(&'a priv_trait::Pub) {<priv_trait::Pub as PrivTr>::method}` is private
-  --> $DIR/associated-item-privacy-trait.rs:15:21
-   |
-LL |         let value = <Pub as PrivTr>::method;
-   |                     ^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_trait::mac!();
-   |     ------------------ in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `for<'a> fn(&'a priv_trait::Pub) {<priv_trait::Pub as PrivTr>::method}` is private
-  --> $DIR/associated-item-privacy-trait.rs:17:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_trait::mac!();
-   |     ------------------ in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `for<'a> fn(&'a Self) {<Self as PrivTr>::method}` is private
-  --> $DIR/associated-item-privacy-trait.rs:19:13
-   |
-LL |         Pub.method();
-   |             ^^^^^^ private type
-...
-LL |     priv_trait::mac!();
-   |     ------------------ in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: associated constant `PrivTr::CONST` is private
-  --> $DIR/associated-item-privacy-trait.rs:21:9
-   |
-LL |         <Pub as PrivTr>::CONST;
-   |         ^^^^^^^^^^^^^^^^^^^^^^ private associated constant
-...
-LL |     priv_trait::mac!();
-   |     ------------------ in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: associated type `PrivTr::AssocTy` is private
-  --> $DIR/associated-item-privacy-trait.rs:23:16
-   |
-LL |         let _: <Pub as PrivTr>::AssocTy;
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^ private associated type
-...
-LL |     priv_trait::mac!();
-   |     ------------------ in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-trait.rs:25:34
-   |
-LL |         pub type InSignatureTy = <Pub as PrivTr>::AssocTy;
-   |                                  ^^^^^^^^^^^^^^^^^^^^^^^^ private trait
-...
-LL |     priv_trait::mac!();
-   |     ------------------ in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-trait.rs:27:34
-   |
-LL |         pub trait InSignatureTr: PrivTr {}
-   |                                  ^^^^^^ private trait
-...
-LL |     priv_trait::mac!();
-   |     ------------------ in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-trait.rs:29:14
-   |
-LL |         impl PrivTr for u8 {}
-   |              ^^^^^^ private trait
-...
-LL |     priv_trait::mac!();
-   |     ------------------ in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_signature::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:46:21
-   |
-LL |         let value = <Pub as PubTr>::method;
-   |                     ^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_signature::mac!();
-   |     ---------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_signature::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_signature::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:48:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_signature::mac!();
-   |     ---------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_signature::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_signature::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:50:13
-   |
-LL |         Pub.method(loop {});
-   |             ^^^^^^ private type
-...
-LL |     priv_signature::mac!();
-   |     ---------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_signature::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:67:21
-   |
-LL |         let value = <Pub as PubTr>::method::<Priv>;
-   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_substs::mac!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:69:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_substs::mac!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:71:9
-   |
-LL |         Pub.method::<Priv>();
-   |         ^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_substs::mac!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:91:21
-   |
-LL |         let value = <Pub as PubTr>::method;
-   |                     ^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:93:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:95:21
-   |
-LL |         let value = <Pub as PubTr<_>>::method;
-   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:97:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:99:9
-   |
-LL |         Pub.method();
-   |         ^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:102:21
-   |
-LL |         let value = <Priv as PubTr<_>>::method;
-   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:104:9
-   |
-LL |         value;
-   |         ^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:106:9
-   |
-LL |         Priv.method();
-   |         ^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:109:9
-   |
-LL |         <Pub as PubTr>::CONST;
-   |         ^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:111:9
-   |
-LL |         <Pub as PubTr<_>>::CONST;
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:113:9
-   |
-LL |         <Priv as PubTr<_>>::CONST;
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:117:30
-   |
-LL |         let _: <Pub as PubTr<_>>::AssocTy;
-   |                              ^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:119:17
-   |
-LL |         let _: <Priv as PubTr<_>>::AssocTy;
-   |                 ^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:122:35
-   |
-LL |         pub type InSignatureTy1 = <Pub as PubTr>::AssocTy;
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:124:35
-   |
-LL |         pub type InSignatureTy2 = <Priv as PubTr<Pub>>::AssocTy;
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `priv_parent_substs::Priv` is private
-  --> $DIR/associated-item-privacy-trait.rs:126:14
-   |
-LL |         impl PubTr for u8 {}
-   |              ^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 30 previous errors
-
diff --git a/src/test/ui/privacy/associated-item-privacy-type-binding.rs b/src/test/ui/privacy/associated-item-privacy-type-binding.rs
deleted file mode 100644
index 9826b83a35d..00000000000
--- a/src/test/ui/privacy/associated-item-privacy-type-binding.rs
+++ /dev/null
@@ -1,64 +0,0 @@
-#![feature(decl_macro, associated_type_defaults)]
-#![allow(unused, private_in_public)]
-
-mod priv_trait {
-    trait PrivTr {
-        type AssocTy = u8;
-    }
-    pub trait PubTr: PrivTr {}
-
-    pub macro mac1() {
-        let _: Box<dyn PubTr<AssocTy = u8>>;
-        //~^ ERROR trait `PrivTr` is private
-        //~| ERROR trait `PrivTr` is private
-        type InSignatureTy2 = Box<dyn PubTr<AssocTy = u8>>;
-        //~^ ERROR trait `PrivTr` is private
-        trait InSignatureTr2: PubTr<AssocTy = u8> {}
-        //~^ ERROR trait `PrivTr` is private
-    }
-    pub macro mac2() {
-        let _: Box<dyn PrivTr<AssocTy = u8>>;
-        //~^ ERROR trait `PrivTr` is private
-        //~| ERROR trait `PrivTr` is private
-        type InSignatureTy1 = Box<dyn PrivTr<AssocTy = u8>>;
-        //~^ ERROR trait `PrivTr` is private
-        trait InSignatureTr1: PrivTr<AssocTy = u8> {}
-        //~^ ERROR trait `PrivTr` is private
-    }
-}
-fn priv_trait1() {
-    priv_trait::mac1!();
-}
-fn priv_trait2() {
-    priv_trait::mac2!();
-}
-
-mod priv_parent_substs {
-    pub trait PubTrWithParam<T = Priv> {
-        type AssocTy = u8;
-    }
-    struct Priv;
-    pub trait PubTr: PubTrWithParam<Priv> {}
-
-    pub macro mac() {
-        let _: Box<dyn PubTrWithParam<AssocTy = u8>>;
-        //~^ ERROR type `Priv` is private
-        //~| ERROR type `Priv` is private
-        let _: Box<dyn PubTr<AssocTy = u8>>;
-        //~^ ERROR type `Priv` is private
-        //~| ERROR type `Priv` is private
-        pub type InSignatureTy1 = Box<dyn PubTrWithParam<AssocTy = u8>>;
-        //~^ ERROR type `Priv` is private
-        pub type InSignatureTy2 = Box<dyn PubTr<AssocTy = u8>>;
-        //~^ ERROR type `Priv` is private
-        trait InSignatureTr1: PubTrWithParam<AssocTy = u8> {}
-        //~^ ERROR type `Priv` is private
-        trait InSignatureTr2: PubTr<AssocTy = u8> {}
-        //~^ ERROR type `Priv` is private
-    }
-}
-fn priv_parent_substs() {
-    priv_parent_substs::mac!();
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/associated-item-privacy-type-binding.stderr b/src/test/ui/privacy/associated-item-privacy-type-binding.stderr
deleted file mode 100644
index de9893816fa..00000000000
--- a/src/test/ui/privacy/associated-item-privacy-type-binding.stderr
+++ /dev/null
@@ -1,178 +0,0 @@
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:11:13
-   |
-LL |         let _: Box<dyn PubTr<AssocTy = u8>>;
-   |             ^ private trait
-...
-LL |     priv_trait::mac1!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac1` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:11:16
-   |
-LL |         let _: Box<dyn PubTr<AssocTy = u8>>;
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private trait
-...
-LL |     priv_trait::mac1!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac1` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:14:31
-   |
-LL |         type InSignatureTy2 = Box<dyn PubTr<AssocTy = u8>>;
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private trait
-...
-LL |     priv_trait::mac1!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac1` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:16:31
-   |
-LL |         trait InSignatureTr2: PubTr<AssocTy = u8> {}
-   |                               ^^^^^^^^^^^^^^^^^^^ private trait
-...
-LL |     priv_trait::mac1!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac1` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:20:13
-   |
-LL |         let _: Box<dyn PrivTr<AssocTy = u8>>;
-   |             ^ private trait
-...
-LL |     priv_trait::mac2!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac2` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:20:16
-   |
-LL |         let _: Box<dyn PrivTr<AssocTy = u8>>;
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private trait
-...
-LL |     priv_trait::mac2!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac2` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:23:31
-   |
-LL |         type InSignatureTy1 = Box<dyn PrivTr<AssocTy = u8>>;
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private trait
-...
-LL |     priv_trait::mac2!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac2` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:25:31
-   |
-LL |         trait InSignatureTr1: PrivTr<AssocTy = u8> {}
-   |                               ^^^^^^^^^^^^^^^^^^^^ private trait
-...
-LL |     priv_trait::mac2!();
-   |     ------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac2` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `Priv` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:44:13
-   |
-LL |         let _: Box<dyn PubTrWithParam<AssocTy = u8>>;
-   |             ^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `Priv` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:44:16
-   |
-LL |         let _: Box<dyn PubTrWithParam<AssocTy = u8>>;
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `Priv` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:47:13
-   |
-LL |         let _: Box<dyn PubTr<AssocTy = u8>>;
-   |             ^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `Priv` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:47:16
-   |
-LL |         let _: Box<dyn PubTr<AssocTy = u8>>;
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `Priv` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:50:35
-   |
-LL |         pub type InSignatureTy1 = Box<dyn PubTrWithParam<AssocTy = u8>>;
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `Priv` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:52:35
-   |
-LL |         pub type InSignatureTy2 = Box<dyn PubTr<AssocTy = u8>>;
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `Priv` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:54:31
-   |
-LL |         trait InSignatureTr1: PubTrWithParam<AssocTy = u8> {}
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `Priv` is private
-  --> $DIR/associated-item-privacy-type-binding.rs:56:31
-   |
-LL |         trait InSignatureTr2: PubTr<AssocTy = u8> {}
-   |                               ^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     priv_parent_substs::mac!();
-   |     -------------------------- in this macro invocation
-   |
-   = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 16 previous errors
-
diff --git a/src/test/ui/privacy/auxiliary/cci_class.rs b/src/test/ui/privacy/auxiliary/cci_class.rs
deleted file mode 100644
index de2945d7460..00000000000
--- a/src/test/ui/privacy/auxiliary/cci_class.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-pub mod kitties {
-    pub struct cat {
-      meows : usize,
-
-      pub how_hungry : isize,
-    }
-
-    pub fn cat(in_x : usize, in_y : isize) -> cat  {
-        cat {
-            meows: in_x,
-            how_hungry: in_y
-        }
-    }
-}
diff --git a/src/test/ui/privacy/auxiliary/cci_class_5.rs b/src/test/ui/privacy/auxiliary/cci_class_5.rs
deleted file mode 100644
index 3aeaa83d30a..00000000000
--- a/src/test/ui/privacy/auxiliary/cci_class_5.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-pub mod kitties {
-    pub struct cat {
-        meows : usize,
-        pub how_hungry : isize,
-    }
-
-    impl cat {
-        fn nap(&self) {}
-    }
-
-    pub fn cat(in_x : usize, in_y : isize) -> cat {
-        cat {
-            meows: in_x,
-            how_hungry: in_y
-        }
-    }
-}
diff --git a/src/test/ui/privacy/auxiliary/ctor_aux.rs b/src/test/ui/privacy/auxiliary/ctor_aux.rs
deleted file mode 100644
index 9c99cca9ae6..00000000000
--- a/src/test/ui/privacy/auxiliary/ctor_aux.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// edition:2021
-//! Missing docs lint warns about undocumented exported items.
-//! Use the lint to additionally verify that items are reachable
-//! but not exported.
-#![allow(non_camel_case_types)]
-#![deny(missing_docs)]
-
-mod hidden {
-    pub struct s;
-    pub enum e { x, y, z }
-    pub use e::*;
-    impl s {
-        pub fn f(&self) {}
-    }
-    impl e {
-        pub fn g(&self) {}
-    }
-}
-// Hide all type definitions while reexporting their constructors:
-mod e {}
-mod x {}
-mod y {}
-mod z {}
-mod s {}
-pub use hidden::*;
diff --git a/src/test/ui/privacy/auxiliary/impl_privacy_xc_2.rs b/src/test/ui/privacy/auxiliary/impl_privacy_xc_2.rs
deleted file mode 100644
index 5f9c2268167..00000000000
--- a/src/test/ui/privacy/auxiliary/impl_privacy_xc_2.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![crate_type = "lib"]
-
-pub struct Fish {
-    pub x: isize
-}
-
-mod unexported {
-    use super::Fish;
-    impl PartialEq for Fish {
-        fn eq(&self, _: &Fish) -> bool { true }
-        fn ne(&self, _: &Fish) -> bool { false }
-    }
-}
diff --git a/src/test/ui/privacy/auxiliary/issue-17718-const-privacy.rs b/src/test/ui/privacy/auxiliary/issue-17718-const-privacy.rs
deleted file mode 100644
index 93cf4bf3ecc..00000000000
--- a/src/test/ui/privacy/auxiliary/issue-17718-const-privacy.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-pub use foo::FOO2;
-
-pub const FOO: usize = 3;
-const BAR: usize = 3;
-
-mod foo {
-    pub const FOO2: usize = 3;
-}
diff --git a/src/test/ui/privacy/auxiliary/issue-57264-1.rs b/src/test/ui/privacy/auxiliary/issue-57264-1.rs
deleted file mode 100644
index 9302fa0d9e8..00000000000
--- a/src/test/ui/privacy/auxiliary/issue-57264-1.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-mod inner {
-    pub struct PubUnnameable;
-}
-
-pub struct Pub<T>(T);
-
-impl Pub<inner::PubUnnameable> {
-    pub fn pub_method() {}
-}
diff --git a/src/test/ui/privacy/auxiliary/issue-57264-2.rs b/src/test/ui/privacy/auxiliary/issue-57264-2.rs
deleted file mode 100644
index 416206b4f8e..00000000000
--- a/src/test/ui/privacy/auxiliary/issue-57264-2.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-mod inner {
-    pub struct PubUnnameable;
-
-    impl PubUnnameable {
-        pub fn pub_method(self) {}
-    }
-}
-
-pub trait PubTraitWithSingleImplementor {}
-impl PubTraitWithSingleImplementor for Option<inner::PubUnnameable> {}
diff --git a/src/test/ui/privacy/auxiliary/issue-75907.rs b/src/test/ui/privacy/auxiliary/issue-75907.rs
deleted file mode 100644
index 389c9c35101..00000000000
--- a/src/test/ui/privacy/auxiliary/issue-75907.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-pub struct Bar(pub u8, u8, u8);
-
-pub fn make_bar() -> Bar {
-    Bar(1, 12, 10)
-}
-
-mod inner {
-    pub struct Foo(u8, pub u8, u8);
-
-    impl Foo {
-        pub fn new() -> Foo {
-            Foo(1, 12, 10)
-        }
-    }
-}
-
-pub use inner::Foo;
diff --git a/src/test/ui/privacy/auxiliary/issue-92755.rs b/src/test/ui/privacy/auxiliary/issue-92755.rs
deleted file mode 100644
index 6f85273461a..00000000000
--- a/src/test/ui/privacy/auxiliary/issue-92755.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-mod machine {
-    pub struct A {
-        pub b: B,
-    }
-    pub struct B {}
-    impl B {
-        pub fn f(&self) {}
-    }
-}
-
-pub struct Context {
-    pub a: machine::A,
-}
-
-pub fn ctx() -> Context {
-    todo!();
-}
diff --git a/src/test/ui/privacy/auxiliary/priv-impl-prim-ty.rs b/src/test/ui/privacy/auxiliary/priv-impl-prim-ty.rs
deleted file mode 100644
index 8ccbd3f12bf..00000000000
--- a/src/test/ui/privacy/auxiliary/priv-impl-prim-ty.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-pub trait A {
-    fn frob(&self);
-}
-
-impl A for isize { fn frob(&self) {} }
-
-pub fn frob<T:A>(t: T) {
-    t.frob();
-}
diff --git a/src/test/ui/privacy/auxiliary/privacy_reexport.rs b/src/test/ui/privacy/auxiliary/privacy_reexport.rs
deleted file mode 100644
index 6b72dbc9233..00000000000
--- a/src/test/ui/privacy/auxiliary/privacy_reexport.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-pub extern crate core;
-pub use foo as bar;
-
-pub mod foo {
-    pub fn frob() {}
-}
diff --git a/src/test/ui/privacy/auxiliary/privacy_tuple_struct.rs b/src/test/ui/privacy/auxiliary/privacy_tuple_struct.rs
deleted file mode 100644
index 223cda4b236..00000000000
--- a/src/test/ui/privacy/auxiliary/privacy_tuple_struct.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-pub struct A(());
-pub struct B(isize);
-pub struct C(pub isize, isize);
-pub struct D(pub isize);
diff --git a/src/test/ui/privacy/auxiliary/private-inferred-type.rs b/src/test/ui/privacy/auxiliary/private-inferred-type.rs
deleted file mode 100644
index 7ac913f5b5b..00000000000
--- a/src/test/ui/privacy/auxiliary/private-inferred-type.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-#![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();
-}
diff --git a/src/test/ui/privacy/auxiliary/pub_use_mods_xcrate.rs b/src/test/ui/privacy/auxiliary/pub_use_mods_xcrate.rs
deleted file mode 100644
index 74d3504d5be..00000000000
--- a/src/test/ui/privacy/auxiliary/pub_use_mods_xcrate.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-pub mod a {
-    pub use a::b::c;
-
-    pub mod b {
-        pub mod c {
-            fn f(){}
-            fn g(){}
-        }
-    }
-}
diff --git a/src/test/ui/privacy/auxiliary/pub_use_xcrate1.rs b/src/test/ui/privacy/auxiliary/pub_use_xcrate1.rs
deleted file mode 100644
index 772c9627a71..00000000000
--- a/src/test/ui/privacy/auxiliary/pub_use_xcrate1.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-pub struct Foo {
-    pub name: isize
-}
diff --git a/src/test/ui/privacy/auxiliary/pub_use_xcrate2.rs b/src/test/ui/privacy/auxiliary/pub_use_xcrate2.rs
deleted file mode 100644
index 20d7066d36d..00000000000
--- a/src/test/ui/privacy/auxiliary/pub_use_xcrate2.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-extern crate pub_use_xcrate1;
-
-pub use pub_use_xcrate1::Foo;
diff --git a/src/test/ui/privacy/auxiliary/reachable-unnameable-items.rs b/src/test/ui/privacy/auxiliary/reachable-unnameable-items.rs
deleted file mode 100644
index 20f110b1a8c..00000000000
--- a/src/test/ui/privacy/auxiliary/reachable-unnameable-items.rs
+++ /dev/null
@@ -1,106 +0,0 @@
-use inner_private_module::*;
-
-mod inner_private_module {
-    pub struct Unnameable1;
-    pub struct Unnameable2;
-    #[derive(Clone, Copy)]
-    pub struct Unnameable3;
-    pub struct Unnameable4;
-    pub struct Unnameable5;
-    pub struct Unnameable6;
-    pub struct Unnameable7;
-    #[derive(Default)]
-    pub struct Unnameable8;
-    pub enum UnnameableEnum {
-        NameableVariant
-    }
-    pub trait UnnameableTrait {
-        type Alias: Default;
-    }
-
-    impl Unnameable1 {
-        pub fn method_of_unnameable_type1(&self) -> &'static str {
-            "Hello1"
-        }
-    }
-    impl Unnameable2 {
-        pub fn method_of_unnameable_type2(&self) -> &'static str {
-            "Hello2"
-        }
-    }
-    impl Unnameable3 {
-        pub fn method_of_unnameable_type3(&self) -> &'static str {
-            "Hello3"
-        }
-    }
-    impl Unnameable4 {
-        pub fn method_of_unnameable_type4(&self) -> &'static str {
-            "Hello4"
-        }
-    }
-    impl Unnameable5 {
-        pub fn method_of_unnameable_type5(&self) -> &'static str {
-            "Hello5"
-        }
-    }
-    impl Unnameable6 {
-        pub fn method_of_unnameable_type6(&self) -> &'static str {
-            "Hello6"
-        }
-    }
-    impl Unnameable7 {
-        pub fn method_of_unnameable_type7(&self) -> &'static str {
-            "Hello7"
-        }
-    }
-    impl Unnameable8 {
-        pub fn method_of_unnameable_type8(&self) -> &'static str {
-            "Hello8"
-        }
-    }
-    impl UnnameableEnum {
-        pub fn method_of_unnameable_enum(&self) -> &'static str {
-            "HelloEnum"
-        }
-    }
-}
-
-pub fn function_returning_unnameable_type() -> Unnameable1 {
-    Unnameable1
-}
-
-pub const CONSTANT_OF_UNNAMEABLE_TYPE: Unnameable2 =
-                                            Unnameable2;
-
-pub fn function_accepting_unnameable_type(_: Option<Unnameable3>) {}
-
-pub type AliasOfUnnameableType = Unnameable4;
-
-impl Unnameable1 {
-    pub fn inherent_method_returning_unnameable_type(&self) -> Unnameable5 {
-        Unnameable5
-    }
-}
-
-pub trait Tr {
-    fn trait_method_returning_unnameable_type(&self) -> Unnameable6 {
-        Unnameable6
-    }
-}
-impl Tr for Unnameable1 {}
-
-pub use inner_private_module::UnnameableEnum::NameableVariant;
-
-pub struct Struct {
-    pub field_of_unnameable_type: Unnameable7
-}
-
-pub static STATIC: Struct = Struct { field_of_unnameable_type: Unnameable7 } ;
-
-impl UnnameableTrait for AliasOfUnnameableType {
-    type Alias = Unnameable8;
-}
-
-pub fn generic_function<T: UnnameableTrait>() -> T::Alias {
-    Default::default()
-}
diff --git a/src/test/ui/privacy/crate-private-reexport.rs b/src/test/ui/privacy/crate-private-reexport.rs
deleted file mode 100644
index fa4f88666d8..00000000000
--- a/src/test/ui/privacy/crate-private-reexport.rs
+++ /dev/null
@@ -1,66 +0,0 @@
-fn f1() {}
-enum E1 { V }
-struct S1 {
-    #[rustfmt::skip]
-    bar: i32,
-}
-mod m1 {
-    pub use ::f1; //~ ERROR `f1` is only public within the crate, and cannot be re-exported outside
-    pub use ::S1; //~ ERROR `S1` is only public within the crate, and cannot be re-exported outside
-    pub use ::E1; //~ ERROR `E1` is only public within the crate, and cannot be re-exported outside
-    pub use ::E1::V; //~ ERROR `V` is only public within the crate, and cannot be re-exported outside
-}
-
-pub(crate) fn f2() {}
-pub(crate) enum E2 {
-    V
-}
-pub(crate) struct S2 {
-    #[rustfmt::skip]
-    bar: i32,
-}
-mod m2 {
-    pub use ::f2; //~ ERROR `f2` is only public within the crate, and cannot be re-exported outside
-    pub use ::S2; //~ ERROR `S2` is only public within the crate, and cannot be re-exported outside
-    pub use ::E2; //~ ERROR `E2` is only public within the crate, and cannot be re-exported outside
-    pub use ::E2::V; //~ ERROR `V` is only public within the crate, and cannot be re-exported outside
-}
-
-mod m3 {
-    pub(crate) fn f3() {}
-    pub(crate) enum E3 {
-        V
-    }
-    pub(crate) struct S3 {
-        #[rustfmt::skip]
-        bar: i32,
-    }
-}
-pub use m3::f3; //~ ERROR `f3` is only public within the crate, and cannot be re-exported outside
-pub use m3::S3; //~ ERROR `S3` is only public within the crate, and cannot be re-exported outside
-pub use m3::E3; //~ ERROR `E3` is only public within the crate, and cannot be re-exported outside
-pub use m3::E3::V; //~ ERROR `V` is only public within the crate, and cannot be re-exported outside
-
-pub(self) fn f4() {}
-pub use ::f4 as f5; //~ ERROR `f4` is only public within the crate, and cannot be re-exported outside
-
-pub mod m10 {
-    pub mod m {
-        pub(super) fn f6() {}
-        pub(crate) fn f7() {}
-        pub(in crate::m10) fn f8() {}
-    }
-    pub use self::m::f6; //~ ERROR `f6` is private, and cannot be re-exported
-    pub use self::m::f7; //~ ERROR `f7` is only public within the crate, and cannot be re-exported outside
-    pub use self::m::f8; //~ ERROR `f8` is private, and cannot be re-exported
-}
-pub use m10::m::f6; //~ ERROR function `f6` is private
-pub use m10::m::f7; //~ ERROR `f7` is only public within the crate, and cannot be re-exported outside
-pub use m10::m::f8; //~ ERROR function `f8` is private
-
-pub mod m11 {
-    pub(self) fn f9() {}
-}
-pub use m11::f9; //~ ERROR function `f9` is private
-
-fn main() {}
diff --git a/src/test/ui/privacy/crate-private-reexport.stderr b/src/test/ui/privacy/crate-private-reexport.stderr
deleted file mode 100644
index 66e11e82107..00000000000
--- a/src/test/ui/privacy/crate-private-reexport.stderr
+++ /dev/null
@@ -1,220 +0,0 @@
-error[E0364]: `f1` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:8:13
-   |
-LL |     pub use ::f1;
-   |             ^^^^
-   |
-note: consider marking `f1` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:8:13
-   |
-LL |     pub use ::f1;
-   |             ^^^^
-
-error[E0365]: `S1` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:9:13
-   |
-LL |     pub use ::S1;
-   |             ^^^^ re-export of crate public `S1`
-   |
-   = note: consider declaring type or module `S1` with `pub`
-
-error[E0365]: `E1` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:10:13
-   |
-LL |     pub use ::E1;
-   |             ^^^^ re-export of crate public `E1`
-   |
-   = note: consider declaring type or module `E1` with `pub`
-
-error[E0364]: `V` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:11:13
-   |
-LL |     pub use ::E1::V;
-   |             ^^^^^^^
-   |
-note: consider marking `V` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:11:13
-   |
-LL |     pub use ::E1::V;
-   |             ^^^^^^^
-
-error[E0364]: `f2` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:23:13
-   |
-LL |     pub use ::f2;
-   |             ^^^^
-   |
-note: consider marking `f2` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:23:13
-   |
-LL |     pub use ::f2;
-   |             ^^^^
-
-error[E0365]: `S2` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:24:13
-   |
-LL |     pub use ::S2;
-   |             ^^^^ re-export of crate public `S2`
-   |
-   = note: consider declaring type or module `S2` with `pub`
-
-error[E0365]: `E2` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:25:13
-   |
-LL |     pub use ::E2;
-   |             ^^^^ re-export of crate public `E2`
-   |
-   = note: consider declaring type or module `E2` with `pub`
-
-error[E0364]: `V` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:26:13
-   |
-LL |     pub use ::E2::V;
-   |             ^^^^^^^
-   |
-note: consider marking `V` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:26:13
-   |
-LL |     pub use ::E2::V;
-   |             ^^^^^^^
-
-error[E0364]: `f3` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:39:9
-   |
-LL | pub use m3::f3;
-   |         ^^^^^^
-   |
-note: consider marking `f3` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:39:9
-   |
-LL | pub use m3::f3;
-   |         ^^^^^^
-
-error[E0365]: `S3` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:40:9
-   |
-LL | pub use m3::S3;
-   |         ^^^^^^ re-export of crate public `S3`
-   |
-   = note: consider declaring type or module `S3` with `pub`
-
-error[E0365]: `E3` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:41:9
-   |
-LL | pub use m3::E3;
-   |         ^^^^^^ re-export of crate public `E3`
-   |
-   = note: consider declaring type or module `E3` with `pub`
-
-error[E0364]: `V` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:42:9
-   |
-LL | pub use m3::E3::V;
-   |         ^^^^^^^^^
-   |
-note: consider marking `V` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:42:9
-   |
-LL | pub use m3::E3::V;
-   |         ^^^^^^^^^
-
-error[E0364]: `f4` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:45:9
-   |
-LL | pub use ::f4 as f5;
-   |         ^^^^^^^^^^
-   |
-note: consider marking `f4` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:45:9
-   |
-LL | pub use ::f4 as f5;
-   |         ^^^^^^^^^^
-
-error[E0364]: `f6` is private, and cannot be re-exported
-  --> $DIR/crate-private-reexport.rs:53:13
-   |
-LL |     pub use self::m::f6;
-   |             ^^^^^^^^^^^
-   |
-note: consider marking `f6` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:53:13
-   |
-LL |     pub use self::m::f6;
-   |             ^^^^^^^^^^^
-
-error[E0364]: `f7` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:54:13
-   |
-LL |     pub use self::m::f7;
-   |             ^^^^^^^^^^^
-   |
-note: consider marking `f7` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:54:13
-   |
-LL |     pub use self::m::f7;
-   |             ^^^^^^^^^^^
-
-error[E0364]: `f8` is private, and cannot be re-exported
-  --> $DIR/crate-private-reexport.rs:55:13
-   |
-LL |     pub use self::m::f8;
-   |             ^^^^^^^^^^^
-   |
-note: consider marking `f8` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:55:13
-   |
-LL |     pub use self::m::f8;
-   |             ^^^^^^^^^^^
-
-error[E0364]: `f7` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/crate-private-reexport.rs:58:9
-   |
-LL | pub use m10::m::f7;
-   |         ^^^^^^^^^^
-   |
-note: consider marking `f7` as `pub` in the imported module
-  --> $DIR/crate-private-reexport.rs:58:9
-   |
-LL | pub use m10::m::f7;
-   |         ^^^^^^^^^^
-
-error[E0603]: function `f6` is private
-  --> $DIR/crate-private-reexport.rs:57:17
-   |
-LL | pub use m10::m::f6;
-   |                 ^^ private function
-   |
-note: the function `f6` is defined here
-  --> $DIR/crate-private-reexport.rs:49:9
-   |
-LL |         pub(super) fn f6() {}
-   |         ^^^^^^^^^^^^^^^^^^
-
-error[E0603]: function `f8` is private
-  --> $DIR/crate-private-reexport.rs:59:17
-   |
-LL | pub use m10::m::f8;
-   |                 ^^ private function
-   |
-note: the function `f8` is defined here
-  --> $DIR/crate-private-reexport.rs:51:9
-   |
-LL |         pub(in crate::m10) fn f8() {}
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: function `f9` is private
-  --> $DIR/crate-private-reexport.rs:64:14
-   |
-LL | pub use m11::f9;
-   |              ^^ private function
-   |
-note: the function `f9` is defined here
-  --> $DIR/crate-private-reexport.rs:62:5
-   |
-LL |     pub(self) fn f9() {}
-   |     ^^^^^^^^^^^^^^^^^
-
-error: aborting due to 20 previous errors
-
-Some errors have detailed explanations: E0364, E0365, E0603.
-For more information about an error, try `rustc --explain E0364`.
diff --git a/src/test/ui/privacy/ctor.rs b/src/test/ui/privacy/ctor.rs
deleted file mode 100644
index 0ec15d68ed3..00000000000
--- a/src/test/ui/privacy/ctor.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Verify that a type is considered reachable when its constructor is
-// reachable. The auxiliary library is constructed so that all types are
-// shadowed and cannot be named directly, while their constructors are
-// reexported. Regression test for issue #96934.
-//
-// aux-build:ctor_aux.rs
-// edition:2021
-// build-pass
-
-extern crate ctor_aux;
-
-fn main() {
-    ctor_aux::s.f();
-    ctor_aux::x.g();
-    ctor_aux::y.g();
-}
diff --git a/src/test/ui/privacy/decl-macro.rs b/src/test/ui/privacy/decl-macro.rs
deleted file mode 100644
index 1eb49bd5301..00000000000
--- a/src/test/ui/privacy/decl-macro.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#![feature(decl_macro)]
-
-mod m {
-    macro mac() {}
-}
-
-fn main() {
-    m::mac!(); //~ ERROR macro `mac` is private
-}
diff --git a/src/test/ui/privacy/decl-macro.stderr b/src/test/ui/privacy/decl-macro.stderr
deleted file mode 100644
index 5bc6f07fffa..00000000000
--- a/src/test/ui/privacy/decl-macro.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0603]: macro `mac` is private
-  --> $DIR/decl-macro.rs:8:8
-   |
-LL |     m::mac!();
-   |        ^^^ private macro
-   |
-note: the macro `mac` is defined here
-  --> $DIR/decl-macro.rs:4:5
-   |
-LL |     macro mac() {}
-   |     ^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/effective_visibilities.rs b/src/test/ui/privacy/effective_visibilities.rs
deleted file mode 100644
index ff20e20d332..00000000000
--- a/src/test/ui/privacy/effective_visibilities.rs
+++ /dev/null
@@ -1,76 +0,0 @@
-#![feature(rustc_attrs)]
-
-#[rustc_effective_visibility]
-mod outer { //~ ERROR Direct: pub(crate), Reexported: pub(crate), Reachable: pub(crate), ReachableThroughImplTrait: pub(crate)
-    #[rustc_effective_visibility]
-    pub mod inner1 { //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-
-        #[rustc_effective_visibility]
-        extern "C" {} //~ ERROR not in the table
-
-        #[rustc_effective_visibility]
-        pub trait PubTrait { //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-            #[rustc_effective_visibility]
-            const A: i32; //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-            #[rustc_effective_visibility]
-            type B; //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-        }
-
-        #[rustc_effective_visibility]
-        struct PrivStruct; //~ ERROR Direct: pub(self), Reexported: pub(self), Reachable: pub(self), ReachableThroughImplTrait: pub(self)
-                           //~| ERROR Direct: pub(self), Reexported: pub(self), Reachable: pub(self), ReachableThroughImplTrait: pub(self)
-
-        #[rustc_effective_visibility]
-        pub union PubUnion { //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-            #[rustc_effective_visibility]
-            a: u8, //~ ERROR Direct: pub(self), Reexported: pub(self), Reachable: pub(self), ReachableThroughImplTrait: pub(self)
-            #[rustc_effective_visibility]
-            pub b: u8, //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-        }
-
-        #[rustc_effective_visibility]
-        pub enum Enum { //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-            #[rustc_effective_visibility]
-            A( //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-               //~| ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-                #[rustc_effective_visibility]
-                PubUnion,  //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-            ),
-        }
-    }
-
-    #[rustc_effective_visibility]
-    macro_rules! none_macro { //~ ERROR not in the table
-        () => {};
-    }
-
-    #[macro_export]
-    #[rustc_effective_visibility]
-    macro_rules! public_macro { //~ ERROR Direct: pub(self), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-        () => {};
-    }
-
-    #[rustc_effective_visibility]
-    pub struct ReachableStruct { //~ ERROR Direct: pub(crate), Reexported: pub(crate), Reachable: pub, ReachableThroughImplTrait: pub
-        #[rustc_effective_visibility]
-        pub a: u8, //~ ERROR Direct: pub(crate), Reexported: pub(crate), Reachable: pub, ReachableThroughImplTrait: pub
-    }
-}
-
-#[rustc_effective_visibility]
-pub use outer::inner1; //~ ERROR Direct: pub, Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-
-pub fn foo() -> outer::ReachableStruct { outer::ReachableStruct {a: 0} }
-
-mod half_public_import {
-    #[rustc_effective_visibility]
-    pub type HalfPublicImport = u8; //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-    #[rustc_effective_visibility]
-    #[allow(non_upper_case_globals)]
-    pub(crate) const HalfPublicImport: u8 = 0; //~ ERROR Direct: pub(crate), Reexported: pub(crate), Reachable: pub(crate), ReachableThroughImplTrait: pub(crate)
-}
-
-#[rustc_effective_visibility]
-pub use half_public_import::HalfPublicImport; //~ ERROR Direct: pub, Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-
-fn main() {}
diff --git a/src/test/ui/privacy/effective_visibilities.stderr b/src/test/ui/privacy/effective_visibilities.stderr
deleted file mode 100644
index 046b6095f4e..00000000000
--- a/src/test/ui/privacy/effective_visibilities.stderr
+++ /dev/null
@@ -1,140 +0,0 @@
-error: Direct: pub(crate), Reexported: pub(crate), Reachable: pub(crate), ReachableThroughImplTrait: pub(crate)
-  --> $DIR/effective_visibilities.rs:4:1
-   |
-LL | mod outer {
-   | ^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:6:5
-   |
-LL |     pub mod inner1 {
-   |     ^^^^^^^^^^^^^^
-
-error: not in the table
-  --> $DIR/effective_visibilities.rs:9:9
-   |
-LL |         extern "C" {}
-   |         ^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:12:9
-   |
-LL |         pub trait PubTrait {
-   |         ^^^^^^^^^^^^^^^^^^
-
-error: Direct: pub(self), Reexported: pub(self), Reachable: pub(self), ReachableThroughImplTrait: pub(self)
-  --> $DIR/effective_visibilities.rs:20:9
-   |
-LL |         struct PrivStruct;
-   |         ^^^^^^^^^^^^^^^^^
-
-error: Direct: pub(self), Reexported: pub(self), Reachable: pub(self), ReachableThroughImplTrait: pub(self)
-  --> $DIR/effective_visibilities.rs:20:9
-   |
-LL |         struct PrivStruct;
-   |         ^^^^^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:24:9
-   |
-LL |         pub union PubUnion {
-   |         ^^^^^^^^^^^^^^^^^^
-
-error: Direct: pub(self), Reexported: pub(self), Reachable: pub(self), ReachableThroughImplTrait: pub(self)
-  --> $DIR/effective_visibilities.rs:26:13
-   |
-LL |             a: u8,
-   |             ^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:28:13
-   |
-LL |             pub b: u8,
-   |             ^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:32:9
-   |
-LL |         pub enum Enum {
-   |         ^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:34:13
-   |
-LL |             A(
-   |             ^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:34:13
-   |
-LL |             A(
-   |             ^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:37:17
-   |
-LL |                 PubUnion,
-   |                 ^^^^^^^^
-
-error: not in the table
-  --> $DIR/effective_visibilities.rs:43:5
-   |
-LL |     macro_rules! none_macro {
-   |     ^^^^^^^^^^^^^^^^^^^^^^^
-
-error: Direct: pub(self), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:49:5
-   |
-LL |     macro_rules! public_macro {
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub(crate), Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:54:5
-   |
-LL |     pub struct ReachableStruct {
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub(crate), Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:56:9
-   |
-LL |         pub a: u8,
-   |         ^^^^^^^^^
-
-error: Direct: pub, Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:61:9
-   |
-LL | pub use outer::inner1;
-   |         ^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:67:5
-   |
-LL |     pub type HalfPublicImport = u8;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub(crate), Reachable: pub(crate), ReachableThroughImplTrait: pub(crate)
-  --> $DIR/effective_visibilities.rs:70:5
-   |
-LL |     pub(crate) const HalfPublicImport: u8 = 0;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: Direct: pub, Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:74:9
-   |
-LL | pub use half_public_import::HalfPublicImport;
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:14:13
-   |
-LL |             const A: i32;
-   |             ^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities.rs:16:13
-   |
-LL |             type B;
-   |             ^^^^^^
-
-error: aborting due to 23 previous errors
-
diff --git a/src/test/ui/privacy/effective_visibilities_glob.rs b/src/test/ui/privacy/effective_visibilities_glob.rs
deleted file mode 100644
index eb9dcd6cd1f..00000000000
--- a/src/test/ui/privacy/effective_visibilities_glob.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// Effective visibility tracking for imports is fine-grained, so `S2` is not fully exported
-// even if its parent import (`m::*`) is fully exported as a `use` item.
-
-#![feature(rustc_attrs)]
-
-mod m {
-    #[rustc_effective_visibility]
-    pub struct S1 {} //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-    #[rustc_effective_visibility]
-    pub struct S2 {} //~ ERROR Direct: pub(crate), Reexported: pub(crate), Reachable: pub(crate), ReachableThroughImplTrait: pub(crate)
-}
-
-mod glob {
-    #[rustc_effective_visibility]
-    pub use crate::m::*; //~ ERROR Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-}
-
-#[rustc_effective_visibility]
-pub use glob::S1; //~ ERROR Direct: pub, Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-
-fn main() {}
diff --git a/src/test/ui/privacy/effective_visibilities_glob.stderr b/src/test/ui/privacy/effective_visibilities_glob.stderr
deleted file mode 100644
index 0496cd5df8d..00000000000
--- a/src/test/ui/privacy/effective_visibilities_glob.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities_glob.rs:8:5
-   |
-LL |     pub struct S1 {}
-   |     ^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub(crate), Reachable: pub(crate), ReachableThroughImplTrait: pub(crate)
-  --> $DIR/effective_visibilities_glob.rs:10:5
-   |
-LL |     pub struct S2 {}
-   |     ^^^^^^^^^^^^^
-
-error: Direct: pub(crate), Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities_glob.rs:15:13
-   |
-LL |     pub use crate::m::*;
-   |             ^^^^^^^^
-
-error: Direct: pub, Reexported: pub, Reachable: pub, ReachableThroughImplTrait: pub
-  --> $DIR/effective_visibilities_glob.rs:19:9
-   |
-LL | pub use glob::S1;
-   |         ^^^^^^^^
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/privacy/effective_visibilities_invariants.rs b/src/test/ui/privacy/effective_visibilities_invariants.rs
deleted file mode 100644
index af5a2bed6ab..00000000000
--- a/src/test/ui/privacy/effective_visibilities_invariants.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Invariant checking doesn't ICE in some cases with errors (issue #104249).
-
-#![feature(staged_api)] //~ ERROR module has missing stability attribute
-
-pub mod m {} //~ ERROR module has missing stability attribute
-
-pub mod m { //~ ERROR the name `m` is defined multiple times
-    mod inner {}
-    type Inner = u8;
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/effective_visibilities_invariants.stderr b/src/test/ui/privacy/effective_visibilities_invariants.stderr
deleted file mode 100644
index fd205f4058a..00000000000
--- a/src/test/ui/privacy/effective_visibilities_invariants.stderr
+++ /dev/null
@@ -1,32 +0,0 @@
-error[E0428]: the name `m` is defined multiple times
-  --> $DIR/effective_visibilities_invariants.rs:7:1
-   |
-LL | pub mod m {}
-   | --------- previous definition of the module `m` here
-LL |
-LL | pub mod m {
-   | ^^^^^^^^^ `m` redefined here
-   |
-   = note: `m` must be defined only once in the type namespace of this module
-
-error: module has missing stability attribute
-  --> $DIR/effective_visibilities_invariants.rs:3:1
-   |
-LL | / #![feature(staged_api)]
-LL | |
-LL | | pub mod m {}
-LL | |
-...  |
-LL | |
-LL | | fn main() {}
-   | |____________^
-
-error: module has missing stability attribute
-  --> $DIR/effective_visibilities_invariants.rs:5:1
-   |
-LL | pub mod m {}
-   | ^^^^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0428`.
diff --git a/src/test/ui/privacy/export-tag-variant.rs b/src/test/ui/privacy/export-tag-variant.rs
deleted file mode 100644
index 46c10067ce2..00000000000
--- a/src/test/ui/privacy/export-tag-variant.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-mod foo {
-    pub fn x() { }
-
-    enum Y { Y1 }
-}
-
-fn main() { let z = foo::Y::Y1; } //~ ERROR: enum `Y` is private
diff --git a/src/test/ui/privacy/export-tag-variant.stderr b/src/test/ui/privacy/export-tag-variant.stderr
deleted file mode 100644
index f73bd454d35..00000000000
--- a/src/test/ui/privacy/export-tag-variant.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0603]: enum `Y` is private
-  --> $DIR/export-tag-variant.rs:7:26
-   |
-LL | fn main() { let z = foo::Y::Y1; }
-   |                          ^ private enum
-   |
-note: the enum `Y` is defined here
-  --> $DIR/export-tag-variant.rs:4:5
-   |
-LL |     enum Y { Y1 }
-   |     ^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/impl-privacy-xc-2.rs b/src/test/ui/privacy/impl-privacy-xc-2.rs
deleted file mode 100644
index 390764588fc..00000000000
--- a/src/test/ui/privacy/impl-privacy-xc-2.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// run-pass
-// aux-build:impl_privacy_xc_2.rs
-
-extern crate impl_privacy_xc_2;
-
-pub fn main() {
-    let fish1 = impl_privacy_xc_2::Fish { x: 1 };
-    let fish2 = impl_privacy_xc_2::Fish { x: 2 };
-    if fish1.eq(&fish2) { println!("yes") } else { println!("no") };
-}
diff --git a/src/test/ui/privacy/issue-13641.rs b/src/test/ui/privacy/issue-13641.rs
deleted file mode 100644
index 198cea4289c..00000000000
--- a/src/test/ui/privacy/issue-13641.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-mod a {
-    struct Foo;
-    impl Foo { pub fn new() {} }
-    enum Bar {}
-    impl Bar { pub fn new() {} }
-}
-
-fn main() {
-    a::Foo::new();
-    //~^ ERROR: struct `Foo` is private
-    a::Bar::new();
-    //~^ ERROR: enum `Bar` is private
-}
diff --git a/src/test/ui/privacy/issue-13641.stderr b/src/test/ui/privacy/issue-13641.stderr
deleted file mode 100644
index cdd0772d39f..00000000000
--- a/src/test/ui/privacy/issue-13641.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error[E0603]: struct `Foo` is private
-  --> $DIR/issue-13641.rs:9:8
-   |
-LL |     a::Foo::new();
-   |        ^^^ private struct
-   |
-note: the struct `Foo` is defined here
-  --> $DIR/issue-13641.rs:2:5
-   |
-LL |     struct Foo;
-   |     ^^^^^^^^^^^
-
-error[E0603]: enum `Bar` is private
-  --> $DIR/issue-13641.rs:11:8
-   |
-LL |     a::Bar::new();
-   |        ^^^ private enum
-   |
-note: the enum `Bar` is defined here
-  --> $DIR/issue-13641.rs:4:5
-   |
-LL |     enum Bar {}
-   |     ^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/issue-17718-const-privacy.rs b/src/test/ui/privacy/issue-17718-const-privacy.rs
deleted file mode 100644
index 6ab3a60df87..00000000000
--- a/src/test/ui/privacy/issue-17718-const-privacy.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// aux-build:issue-17718-const-privacy.rs
-
-extern crate issue_17718_const_privacy as other;
-
-use a::B; //~ ERROR: constant `B` is private
-use other::{
-    FOO,
-    BAR, //~ ERROR: constant `BAR` is private
-    FOO2,
-};
-
-mod a {
-    const B: usize = 3;
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/issue-17718-const-privacy.stderr b/src/test/ui/privacy/issue-17718-const-privacy.stderr
deleted file mode 100644
index 133a6360bf9..00000000000
--- a/src/test/ui/privacy/issue-17718-const-privacy.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error[E0603]: constant `B` is private
-  --> $DIR/issue-17718-const-privacy.rs:5:8
-   |
-LL | use a::B;
-   |        ^ private constant
-   |
-note: the constant `B` is defined here
-  --> $DIR/issue-17718-const-privacy.rs:13:5
-   |
-LL |     const B: usize = 3;
-   |     ^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: constant `BAR` is private
-  --> $DIR/issue-17718-const-privacy.rs:8:5
-   |
-LL |     BAR,
-   |     ^^^ private constant
-   |
-note: the constant `BAR` is defined here
-  --> $DIR/auxiliary/issue-17718-const-privacy.rs:4:1
-   |
-LL | const BAR: usize = 3;
-   | ^^^^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/issue-29161.rs b/src/test/ui/privacy/issue-29161.rs
deleted file mode 100644
index d80405aa856..00000000000
--- a/src/test/ui/privacy/issue-29161.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-mod a {
-    struct A;
-
-    impl Default for A {
-        pub fn default() -> A { //~ ERROR unnecessary visibility qualifier
-            A
-        }
-    }
-}
-
-
-fn main() {
-    a::A::default();
-    //~^ ERROR struct `A` is private
- }
diff --git a/src/test/ui/privacy/issue-29161.stderr b/src/test/ui/privacy/issue-29161.stderr
deleted file mode 100644
index 7ce95e4b0df..00000000000
--- a/src/test/ui/privacy/issue-29161.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/issue-29161.rs:5:9
-   |
-LL |         pub fn default() -> A {
-   |         ^^^ `pub` not permitted here because it's implied
-
-error[E0603]: struct `A` is private
-  --> $DIR/issue-29161.rs:13:8
-   |
-LL |     a::A::default();
-   |        ^ private struct
-   |
-note: the struct `A` is defined here
-  --> $DIR/issue-29161.rs:2:5
-   |
-LL |     struct A;
-   |     ^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-Some errors have detailed explanations: E0449, E0603.
-For more information about an error, try `rustc --explain E0449`.
diff --git a/src/test/ui/privacy/issue-30079.rs b/src/test/ui/privacy/issue-30079.rs
deleted file mode 100644
index a02a932d057..00000000000
--- a/src/test/ui/privacy/issue-30079.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-struct SemiPriv;
-
-mod m1 {
-    struct Priv;
-    impl ::SemiPriv {
-        pub fn f(_: Priv) {} //~ WARN private type `m1::Priv` in public interface
-        //~^ WARNING hard error
-    }
-
-    impl Priv {
-        pub fn f(_: Priv) {} // ok
-    }
-}
-
-mod m2 {
-    struct Priv;
-    impl ::std::ops::Deref for ::SemiPriv {
-        type Target = Priv; //~ ERROR private type `m2::Priv` in public interface
-        fn deref(&self) -> &Self::Target { unimplemented!() }
-    }
-
-    impl ::std::ops::Deref for Priv {
-        type Target = Priv; // ok
-        fn deref(&self) -> &Self::Target { unimplemented!() }
-    }
-}
-
-trait SemiPrivTrait {
-    type Assoc;
-}
-
-mod m3 {
-    struct Priv;
-    impl ::SemiPrivTrait for () {
-        type Assoc = Priv; //~ ERROR private type `m3::Priv` in public interface
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/issue-30079.stderr b/src/test/ui/privacy/issue-30079.stderr
deleted file mode 100644
index 9179ff339bf..00000000000
--- a/src/test/ui/privacy/issue-30079.stderr
+++ /dev/null
@@ -1,31 +0,0 @@
-warning: private type `m1::Priv` in public interface (error E0446)
-  --> $DIR/issue-30079.rs:6:9
-   |
-LL |         pub fn f(_: Priv) {}
-   |         ^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-   = note: `#[warn(private_in_public)]` on by default
-
-error[E0446]: private type `m2::Priv` in public interface
-  --> $DIR/issue-30079.rs:18:9
-   |
-LL |     struct Priv;
-   |     ----------- `m2::Priv` declared as private
-LL |     impl ::std::ops::Deref for ::SemiPriv {
-LL |         type Target = Priv;
-   |         ^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `m3::Priv` in public interface
-  --> $DIR/issue-30079.rs:35:9
-   |
-LL |     struct Priv;
-   |     ----------- `m3::Priv` declared as private
-LL |     impl ::SemiPrivTrait for () {
-LL |         type Assoc = Priv;
-   |         ^^^^^^^^^^ can't leak private type
-
-error: aborting due to 2 previous errors; 1 warning emitted
-
-For more information about this error, try `rustc --explain E0446`.
diff --git a/src/test/ui/privacy/issue-46209-private-enum-variant-reexport.rs b/src/test/ui/privacy/issue-46209-private-enum-variant-reexport.rs
deleted file mode 100644
index 6f115e78e14..00000000000
--- a/src/test/ui/privacy/issue-46209-private-enum-variant-reexport.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-#[deny(unused_imports)]
-mod rank {
-    pub use self::Professor::*;
-    //~^ ERROR glob import doesn't reexport anything
-    pub use self::Lieutenant::{JuniorGrade, Full};
-    //~^ ERROR `JuniorGrade` is private, and cannot be re-exported
-    //~| ERROR `Full` is private, and cannot be re-exported
-    pub use self::PettyOfficer::*;
-    //~^ ERROR glob import doesn't reexport anything
-    pub use self::Crewman::*;
-    //~^ ERROR glob import doesn't reexport anything
-
-    enum Professor {
-        Adjunct,
-        Assistant,
-        Associate,
-        Full
-    }
-
-    enum Lieutenant {
-        JuniorGrade,
-        Full,
-    }
-
-    pub(in rank) enum PettyOfficer {
-        SecondClass,
-        FirstClass,
-        Chief,
-        MasterChief
-    }
-
-    pub(crate) enum Crewman {
-        Recruit,
-        Apprentice,
-        Full
-    }
-
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/issue-46209-private-enum-variant-reexport.stderr b/src/test/ui/privacy/issue-46209-private-enum-variant-reexport.stderr
deleted file mode 100644
index 59b181fab40..00000000000
--- a/src/test/ui/privacy/issue-46209-private-enum-variant-reexport.stderr
+++ /dev/null
@@ -1,51 +0,0 @@
-error[E0364]: `JuniorGrade` is private, and cannot be re-exported
-  --> $DIR/issue-46209-private-enum-variant-reexport.rs:5:32
-   |
-LL |     pub use self::Lieutenant::{JuniorGrade, Full};
-   |                                ^^^^^^^^^^^
-   |
-note: consider marking `JuniorGrade` as `pub` in the imported module
-  --> $DIR/issue-46209-private-enum-variant-reexport.rs:5:32
-   |
-LL |     pub use self::Lieutenant::{JuniorGrade, Full};
-   |                                ^^^^^^^^^^^
-
-error[E0364]: `Full` is private, and cannot be re-exported
-  --> $DIR/issue-46209-private-enum-variant-reexport.rs:5:45
-   |
-LL |     pub use self::Lieutenant::{JuniorGrade, Full};
-   |                                             ^^^^
-   |
-note: consider marking `Full` as `pub` in the imported module
-  --> $DIR/issue-46209-private-enum-variant-reexport.rs:5:45
-   |
-LL |     pub use self::Lieutenant::{JuniorGrade, Full};
-   |                                             ^^^^
-
-error: glob import doesn't reexport anything because no candidate is public enough
-  --> $DIR/issue-46209-private-enum-variant-reexport.rs:3:13
-   |
-LL |     pub use self::Professor::*;
-   |             ^^^^^^^^^^^^^^^^^^
-   |
-note: the lint level is defined here
-  --> $DIR/issue-46209-private-enum-variant-reexport.rs:1:8
-   |
-LL | #[deny(unused_imports)]
-   |        ^^^^^^^^^^^^^^
-
-error: glob import doesn't reexport anything because no candidate is public enough
-  --> $DIR/issue-46209-private-enum-variant-reexport.rs:8:13
-   |
-LL |     pub use self::PettyOfficer::*;
-   |             ^^^^^^^^^^^^^^^^^^^^^
-
-error: glob import doesn't reexport anything because no candidate is public enough
-  --> $DIR/issue-46209-private-enum-variant-reexport.rs:10:13
-   |
-LL |     pub use self::Crewman::*;
-   |             ^^^^^^^^^^^^^^^^
-
-error: aborting due to 5 previous errors
-
-For more information about this error, try `rustc --explain E0364`.
diff --git a/src/test/ui/privacy/issue-57264-1.rs b/src/test/ui/privacy/issue-57264-1.rs
deleted file mode 100644
index 59ebc4f54ee..00000000000
--- a/src/test/ui/privacy/issue-57264-1.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// check-pass
-// aux-build:issue-57264-1.rs
-
-extern crate issue_57264_1;
-
-fn main() {
-    issue_57264_1::Pub::pub_method();
-}
diff --git a/src/test/ui/privacy/issue-57264-2.rs b/src/test/ui/privacy/issue-57264-2.rs
deleted file mode 100644
index 36ce5fd3b3e..00000000000
--- a/src/test/ui/privacy/issue-57264-2.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// check-pass
-// aux-build:issue-57264-2.rs
-
-extern crate issue_57264_2;
-
-fn infer<T: issue_57264_2::PubTraitWithSingleImplementor>(arg: T) -> T { arg }
-
-fn main() {
-    infer(None).unwrap().pub_method();
-}
diff --git a/src/test/ui/privacy/issue-75062-fieldless-tuple-struct.rs b/src/test/ui/privacy/issue-75062-fieldless-tuple-struct.rs
deleted file mode 100644
index 4601a3d4741..00000000000
--- a/src/test/ui/privacy/issue-75062-fieldless-tuple-struct.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// Regression test for issue #75062
-// Tests that we don't ICE on a privacy error for a fieldless tuple struct.
-
-mod foo {
-    struct Bar();
-}
-
-fn main() {
-    foo::Bar(); //~ ERROR tuple struct
-}
diff --git a/src/test/ui/privacy/issue-75062-fieldless-tuple-struct.stderr b/src/test/ui/privacy/issue-75062-fieldless-tuple-struct.stderr
deleted file mode 100644
index 14a12003e2d..00000000000
--- a/src/test/ui/privacy/issue-75062-fieldless-tuple-struct.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0603]: tuple struct `Bar` is private
-  --> $DIR/issue-75062-fieldless-tuple-struct.rs:9:10
-   |
-LL |     foo::Bar();
-   |          ^^^ private tuple struct
-   |
-note: the tuple struct `Bar` is defined here
-  --> $DIR/issue-75062-fieldless-tuple-struct.rs:5:5
-   |
-LL |     struct Bar();
-   |     ^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/issue-75906.rs b/src/test/ui/privacy/issue-75906.rs
deleted file mode 100644
index 710039d79e7..00000000000
--- a/src/test/ui/privacy/issue-75906.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-mod m {
-    pub struct Foo { x: u8 }
-
-    pub struct Bar(u8);
-}
-
-use m::{Foo, Bar};
-
-fn main() {
-    let x = Foo { x: 12 };
-    let y = Bar(12);
-    //~^ ERROR cannot initialize a tuple struct which contains private fields [E0423]
-}
diff --git a/src/test/ui/privacy/issue-75906.stderr b/src/test/ui/privacy/issue-75906.stderr
deleted file mode 100644
index 4c6a68646ad..00000000000
--- a/src/test/ui/privacy/issue-75906.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0423]: cannot initialize a tuple struct which contains private fields
-  --> $DIR/issue-75906.rs:11:13
-   |
-LL |     let y = Bar(12);
-   |             ^^^
-   |
-note: constructor is not visible here due to private fields
-  --> $DIR/issue-75906.rs:4:20
-   |
-LL |     pub struct Bar(u8);
-   |                    ^^ private field
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0423`.
diff --git a/src/test/ui/privacy/issue-75907.rs b/src/test/ui/privacy/issue-75907.rs
deleted file mode 100644
index 6da99cf6435..00000000000
--- a/src/test/ui/privacy/issue-75907.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// Test for diagnostic improvement issue #75907
-
-mod foo {
-    pub(crate) struct Foo(u8);
-    pub(crate) struct Bar(pub u8, u8, Foo);
-
-    pub(crate) fn make_bar() -> Bar {
-        Bar(1, 12, Foo(10))
-    }
-}
-
-use foo::{make_bar, Bar, Foo};
-
-fn main() {
-    let Bar(x, y, Foo(z)) = make_bar();
-    //~^ ERROR cannot match against a tuple struct which contains private fields
-    //~| ERROR cannot match against a tuple struct which contains private fields
-}
diff --git a/src/test/ui/privacy/issue-75907.stderr b/src/test/ui/privacy/issue-75907.stderr
deleted file mode 100644
index 2f89e31a31a..00000000000
--- a/src/test/ui/privacy/issue-75907.stderr
+++ /dev/null
@@ -1,29 +0,0 @@
-error[E0532]: cannot match against a tuple struct which contains private fields
-  --> $DIR/issue-75907.rs:15:9
-   |
-LL |     let Bar(x, y, Foo(z)) = make_bar();
-   |         ^^^
-   |
-note: constructor is not visible here due to private fields
-  --> $DIR/issue-75907.rs:15:16
-   |
-LL |     let Bar(x, y, Foo(z)) = make_bar();
-   |                ^  ^^^^^^ private field
-   |                |
-   |                private field
-
-error[E0532]: cannot match against a tuple struct which contains private fields
-  --> $DIR/issue-75907.rs:15:19
-   |
-LL |     let Bar(x, y, Foo(z)) = make_bar();
-   |                   ^^^
-   |
-note: constructor is not visible here due to private fields
-  --> $DIR/issue-75907.rs:15:23
-   |
-LL |     let Bar(x, y, Foo(z)) = make_bar();
-   |                       ^ private field
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0532`.
diff --git a/src/test/ui/privacy/issue-75907_b.rs b/src/test/ui/privacy/issue-75907_b.rs
deleted file mode 100644
index fdfc5907c16..00000000000
--- a/src/test/ui/privacy/issue-75907_b.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// Test for diagnostic improvement issue #75907, extern crate
-// aux-build:issue-75907.rs
-
-extern crate issue_75907 as a;
-
-use a::{make_bar, Bar, Foo};
-
-fn main() {
-    let Bar(x, y, z) = make_bar();
-    //~^ ERROR cannot match against a tuple struct which contains private fields
-
-    let Foo(x, y, z) = Foo::new();
-    //~^ ERROR cannot match against a tuple struct which contains private fields
-}
diff --git a/src/test/ui/privacy/issue-75907_b.stderr b/src/test/ui/privacy/issue-75907_b.stderr
deleted file mode 100644
index b82d08473c8..00000000000
--- a/src/test/ui/privacy/issue-75907_b.stderr
+++ /dev/null
@@ -1,31 +0,0 @@
-error[E0532]: cannot match against a tuple struct which contains private fields
-  --> $DIR/issue-75907_b.rs:9:9
-   |
-LL |     let Bar(x, y, z) = make_bar();
-   |         ^^^
-   |
-note: constructor is not visible here due to private fields
-  --> $DIR/issue-75907_b.rs:9:16
-   |
-LL |     let Bar(x, y, z) = make_bar();
-   |                ^  ^ private field
-   |                |
-   |                private field
-
-error[E0532]: cannot match against a tuple struct which contains private fields
-  --> $DIR/issue-75907_b.rs:12:9
-   |
-LL |     let Foo(x, y, z) = Foo::new();
-   |         ^^^
-   |
-note: constructor is not visible here due to private fields
-  --> $DIR/issue-75907_b.rs:12:13
-   |
-LL |     let Foo(x, y, z) = Foo::new();
-   |             ^     ^ private field
-   |             |
-   |             private field
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0532`.
diff --git a/src/test/ui/privacy/issue-79593.rs b/src/test/ui/privacy/issue-79593.rs
deleted file mode 100644
index 39c222f7c34..00000000000
--- a/src/test/ui/privacy/issue-79593.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-mod foo {
-    pub struct Pub { private: () }
-
-    pub enum Enum {
-        Variant { x: (), y: () },
-        Other
-    }
-
-    fn correct() {
-        Pub {};
-        //~^ ERROR missing field `private` in initializer of `Pub`
-        Enum::Variant { x: () };
-        //~^ ERROR missing field `y` in initializer of `Enum`
-    }
-}
-
-fn correct() {
-    foo::Pub {};
-    //~^ ERROR cannot construct `Pub` with struct literal syntax due to private fields
-}
-
-fn wrong() {
-    foo::Enum::Variant { x: () };
-    //~^ ERROR missing field `y` in initializer of `Enum`
-    foo::Enum::Variant { };
-    //~^ ERROR missing fields `x` and `y` in initializer of `Enum`
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/issue-79593.stderr b/src/test/ui/privacy/issue-79593.stderr
deleted file mode 100644
index 21ba760ad0b..00000000000
--- a/src/test/ui/privacy/issue-79593.stderr
+++ /dev/null
@@ -1,35 +0,0 @@
-error[E0063]: missing field `private` in initializer of `Pub`
-  --> $DIR/issue-79593.rs:10:9
-   |
-LL |         Pub {};
-   |         ^^^ missing `private`
-
-error[E0063]: missing field `y` in initializer of `Enum`
-  --> $DIR/issue-79593.rs:12:9
-   |
-LL |         Enum::Variant { x: () };
-   |         ^^^^^^^^^^^^^ missing `y`
-
-error: cannot construct `Pub` with struct literal syntax due to private fields
-  --> $DIR/issue-79593.rs:18:5
-   |
-LL |     foo::Pub {};
-   |     ^^^^^^^^
-   |
-   = note: ... and other private field `private` that was not provided
-
-error[E0063]: missing field `y` in initializer of `Enum`
-  --> $DIR/issue-79593.rs:23:5
-   |
-LL |     foo::Enum::Variant { x: () };
-   |     ^^^^^^^^^^^^^^^^^^ missing `y`
-
-error[E0063]: missing fields `x` and `y` in initializer of `Enum`
-  --> $DIR/issue-79593.rs:25:5
-   |
-LL |     foo::Enum::Variant { };
-   |     ^^^^^^^^^^^^^^^^^^ missing `x` and `y`
-
-error: aborting due to 5 previous errors
-
-For more information about this error, try `rustc --explain E0063`.
diff --git a/src/test/ui/privacy/issue-92755.rs b/src/test/ui/privacy/issue-92755.rs
deleted file mode 100644
index 49559152b6f..00000000000
--- a/src/test/ui/privacy/issue-92755.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// aux-build:issue-92755.rs
-// build-pass
-
-// Thank you @tmiasko for providing the content of this test!
-
-extern crate issue_92755;
-
-fn main() {
-    issue_92755::ctx().a.b.f();
-}
diff --git a/src/test/ui/privacy/legacy-ctor-visibility.rs b/src/test/ui/privacy/legacy-ctor-visibility.rs
deleted file mode 100644
index 5732b6446fe..00000000000
--- a/src/test/ui/privacy/legacy-ctor-visibility.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-use m::S;
-
-mod m {
-    pub struct S(u8);
-
-    mod n {
-        use S;
-        fn f() {
-            S(10);
-            //~^ ERROR expected function, tuple struct or tuple variant, found struct `S`
-        }
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/legacy-ctor-visibility.stderr b/src/test/ui/privacy/legacy-ctor-visibility.stderr
deleted file mode 100644
index c8057d85ed1..00000000000
--- a/src/test/ui/privacy/legacy-ctor-visibility.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0423]: expected function, tuple struct or tuple variant, found struct `S`
-  --> $DIR/legacy-ctor-visibility.rs:9:13
-   |
-LL |             S(10);
-   |             ^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0423`.
diff --git a/src/test/ui/privacy/macro-private-reexport.rs b/src/test/ui/privacy/macro-private-reexport.rs
deleted file mode 100644
index d0aab528ed4..00000000000
--- a/src/test/ui/privacy/macro-private-reexport.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// edition:2021
-
-#![feature(decl_macro)]
-
-mod foo {
-    macro_rules! bar {
-        () => {};
-    }
-
-    pub use bar as _; //~ ERROR `bar` is only public within the crate, and cannot be re-exported outside
-
-    macro baz() {}
-
-    pub use baz as _; //~ ERROR `baz` is private, and cannot be re-exported
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/macro-private-reexport.stderr b/src/test/ui/privacy/macro-private-reexport.stderr
deleted file mode 100644
index b8768f3612e..00000000000
--- a/src/test/ui/privacy/macro-private-reexport.stderr
+++ /dev/null
@@ -1,29 +0,0 @@
-error[E0364]: `bar` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/macro-private-reexport.rs:10:13
-   |
-LL |     pub use bar as _;
-   |             ^^^^^^^^
-   |
-help: consider adding a `#[macro_export]` to the macro in the imported module
-  --> $DIR/macro-private-reexport.rs:6:5
-   |
-LL | /     macro_rules! bar {
-LL | |         () => {};
-LL | |     }
-   | |_____^
-
-error[E0364]: `baz` is private, and cannot be re-exported
-  --> $DIR/macro-private-reexport.rs:14:13
-   |
-LL |     pub use baz as _;
-   |             ^^^^^^^^
-   |
-note: consider marking `baz` as `pub` in the imported module
-  --> $DIR/macro-private-reexport.rs:14:13
-   |
-LL |     pub use baz as _;
-   |             ^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0364`.
diff --git a/src/test/ui/privacy/priv-impl-prim-ty.rs b/src/test/ui/privacy/priv-impl-prim-ty.rs
deleted file mode 100644
index 5d6a6b64ed3..00000000000
--- a/src/test/ui/privacy/priv-impl-prim-ty.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// run-pass
-// aux-build:priv-impl-prim-ty.rs
-
-// pretty-expanded FIXME #23616
-
-extern crate priv_impl_prim_ty as bar;
-
-pub fn main() {
-    bar::frob(1);
-
-}
diff --git a/src/test/ui/privacy/priv-in-bad-locations.rs b/src/test/ui/privacy/priv-in-bad-locations.rs
deleted file mode 100644
index 76af8c6cde8..00000000000
--- a/src/test/ui/privacy/priv-in-bad-locations.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-pub extern "C" { //~ ERROR unnecessary visibility qualifier
-    pub fn bar();
-}
-
-trait A {
-    fn foo(&self) {}
-}
-
-struct B;
-
-pub impl B {} //~ ERROR unnecessary visibility qualifier
-
-pub impl A for B { //~ ERROR unnecessary visibility qualifier
-    pub fn foo(&self) {} //~ ERROR unnecessary visibility qualifier
-}
-
-pub fn main() {}
diff --git a/src/test/ui/privacy/priv-in-bad-locations.stderr b/src/test/ui/privacy/priv-in-bad-locations.stderr
deleted file mode 100644
index 75bd2fe47b7..00000000000
--- a/src/test/ui/privacy/priv-in-bad-locations.stderr
+++ /dev/null
@@ -1,31 +0,0 @@
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/priv-in-bad-locations.rs:1:1
-   |
-LL | pub extern "C" {
-   | ^^^ `pub` not permitted here because it's implied
-   |
-   = note: place qualifiers on individual foreign items instead
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/priv-in-bad-locations.rs:11:1
-   |
-LL | pub impl B {}
-   | ^^^ `pub` not permitted here because it's implied
-   |
-   = note: place qualifiers on individual impl items instead
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/priv-in-bad-locations.rs:13:1
-   |
-LL | pub impl A for B {
-   | ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/priv-in-bad-locations.rs:14:5
-   |
-LL |     pub fn foo(&self) {}
-   |     ^^^ `pub` not permitted here because it's implied
-
-error: aborting due to 4 previous errors
-
-For more information about this error, try `rustc --explain E0449`.
diff --git a/src/test/ui/privacy/privacy-in-paths.rs b/src/test/ui/privacy/privacy-in-paths.rs
deleted file mode 100644
index 9cee2b89dd5..00000000000
--- a/src/test/ui/privacy/privacy-in-paths.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-mod foo {
-    pub use self::bar::S;
-    mod bar {
-        pub struct S;
-        pub use baz;
-    }
-
-    trait T {
-        type Assoc;
-    }
-    impl T for () {
-        type Assoc = S;
-    }
-}
-
-impl foo::S {
-    fn f() {}
-}
-
-pub mod baz {
-    fn f() {}
-
-    fn g() {
-        ::foo::bar::baz::f(); //~ERROR module `bar` is private
-        ::foo::bar::S::f(); //~ERROR module `bar` is private
-        <() as ::foo::T>::Assoc::f(); //~ERROR trait `T` is private
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/privacy-in-paths.stderr b/src/test/ui/privacy/privacy-in-paths.stderr
deleted file mode 100644
index 2eb3ebb51c2..00000000000
--- a/src/test/ui/privacy/privacy-in-paths.stderr
+++ /dev/null
@@ -1,39 +0,0 @@
-error[E0603]: module `bar` is private
-  --> $DIR/privacy-in-paths.rs:24:16
-   |
-LL |         ::foo::bar::baz::f();
-   |                ^^^ private module
-   |
-note: the module `bar` is defined here
-  --> $DIR/privacy-in-paths.rs:3:5
-   |
-LL |     mod bar {
-   |     ^^^^^^^
-
-error[E0603]: module `bar` is private
-  --> $DIR/privacy-in-paths.rs:25:16
-   |
-LL |         ::foo::bar::S::f();
-   |                ^^^ private module
-   |
-note: the module `bar` is defined here
-  --> $DIR/privacy-in-paths.rs:3:5
-   |
-LL |     mod bar {
-   |     ^^^^^^^
-
-error[E0603]: trait `T` is private
-  --> $DIR/privacy-in-paths.rs:26:23
-   |
-LL |         <() as ::foo::T>::Assoc::f();
-   |                       ^ private trait
-   |
-note: the trait `T` is defined here
-  --> $DIR/privacy-in-paths.rs:8:5
-   |
-LL |     trait T {
-   |     ^^^^^^^
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/privacy-ns.rs b/src/test/ui/privacy/privacy-ns.rs
deleted file mode 100644
index c32e3f17880..00000000000
--- a/src/test/ui/privacy/privacy-ns.rs
+++ /dev/null
@@ -1,114 +0,0 @@
-// run-pass
-#![allow(non_snake_case)]
-
-
-// Check we do the correct privacy checks when we import a name and there is an
-// item with that name in both the value and type namespaces.
-
-// pretty-expanded FIXME #23616
-
-#![allow(dead_code)]
-#![allow(unused_imports)]
-
-
-// public type, private value
-pub mod foo1 {
-    pub trait Bar {
-        fn dummy(&self) { }
-    }
-    pub struct Baz;
-
-    fn Bar() { }
-}
-
-fn test_unused1() {
-    use foo1::*;
-}
-
-fn test_single1() {
-    use foo1::Bar;
-
-    let _x: Box<dyn Bar>;
-}
-
-fn test_list1() {
-    use foo1::{Bar,Baz};
-
-    let _x: Box<dyn Bar>;
-}
-
-fn test_glob1() {
-    use foo1::*;
-
-    let _x: Box<dyn Bar>;
-}
-
-// private type, public value
-pub mod foo2 {
-    trait Bar {
-        fn dummy(&self) { }
-    }
-    pub struct Baz;
-
-    pub fn Bar() { }
-}
-
-fn test_unused2() {
-    use foo2::*;
-}
-
-fn test_single2() {
-    use foo2::Bar;
-
-    Bar();
-}
-
-fn test_list2() {
-    use foo2::{Bar,Baz};
-
-    Bar();
-}
-
-fn test_glob2() {
-    use foo2::*;
-
-    Bar();
-}
-
-// public type, public value
-pub mod foo3 {
-    pub trait Bar {
-        fn dummy(&self) { }
-    }
-    pub struct Baz;
-
-    pub fn Bar() { }
-}
-
-fn test_unused3() {
-    use foo3::*;
-}
-
-fn test_single3() {
-    use foo3::Bar;
-
-    Bar();
-    let _x: Box<dyn Bar>;
-}
-
-fn test_list3() {
-    use foo3::{Bar,Baz};
-
-    Bar();
-    let _x: Box<dyn Bar>;
-}
-
-fn test_glob3() {
-    use foo3::*;
-
-    Bar();
-    let _x: Box<dyn Bar>;
-}
-
-fn main() {
-}
diff --git a/src/test/ui/privacy/privacy-ns1.rs b/src/test/ui/privacy/privacy-ns1.rs
deleted file mode 100644
index 1af5b857e9d..00000000000
--- a/src/test/ui/privacy/privacy-ns1.rs
+++ /dev/null
@@ -1,56 +0,0 @@
-// Check we do the correct privacy checks when we import a name and there is an
-// item with that name in both the value and type namespaces.
-
-#![allow(dead_code)]
-#![allow(unused_imports)]
-
-
-// public type, private value
-pub mod foo1 {
-    pub trait Bar {
-    }
-    pub struct Baz;
-
-    fn Bar() { }
-}
-
-fn test_glob1() {
-    use foo1::*;
-
-    Bar();  //~ ERROR expected function, tuple struct or tuple variant, found trait `Bar`
-}
-
-// private type, public value
-pub mod foo2 {
-    trait Bar {
-    }
-    pub struct Baz;
-
-    pub fn Bar() { }
-}
-
-fn test_glob2() {
-    use foo2::*;
-
-    let _x: Box<Bar>;
-    //~^ ERROR constant provided when a type was expected
-}
-
-// neither public
-pub mod foo3 {
-    trait Bar {
-    }
-    pub struct Baz;
-
-    fn Bar() { }
-}
-
-fn test_glob3() {
-    use foo3::*;
-
-    Bar();  //~ ERROR cannot find function, tuple struct or tuple variant `Bar` in this scope
-    let _x: Box<Bar>;  //~ ERROR cannot find type `Bar` in this scope
-}
-
-fn main() {
-}
diff --git a/src/test/ui/privacy/privacy-ns1.stderr b/src/test/ui/privacy/privacy-ns1.stderr
deleted file mode 100644
index 91bc84e70ac..00000000000
--- a/src/test/ui/privacy/privacy-ns1.stderr
+++ /dev/null
@@ -1,67 +0,0 @@
-error[E0423]: expected function, tuple struct or tuple variant, found trait `Bar`
-  --> $DIR/privacy-ns1.rs:20:5
-   |
-LL |     pub struct Baz;
-   |     --------------- similarly named unit struct `Baz` defined here
-...
-LL |     Bar();
-   |     ^^^
-   |
-help: a unit struct with a similar name exists
-   |
-LL |     Baz();
-   |     ~~~
-help: consider importing this function instead
-   |
-LL | use foo2::Bar;
-   |
-
-error[E0425]: cannot find function, tuple struct or tuple variant `Bar` in this scope
-  --> $DIR/privacy-ns1.rs:51:5
-   |
-LL |     pub struct Baz;
-   |     --------------- similarly named unit struct `Baz` defined here
-...
-LL |     Bar();
-   |     ^^^
-   |
-help: a unit struct with a similar name exists
-   |
-LL |     Baz();
-   |     ~~~
-help: consider importing this function
-   |
-LL | use foo2::Bar;
-   |
-
-error[E0412]: cannot find type `Bar` in this scope
-  --> $DIR/privacy-ns1.rs:52:17
-   |
-LL |     pub struct Baz;
-   |     --------------- similarly named struct `Baz` defined here
-...
-LL |     let _x: Box<Bar>;
-   |                 ^^^
-   |
-help: a struct with a similar name exists
-   |
-LL |     let _x: Box<Baz>;
-   |                 ~~~
-help: consider importing this trait
-   |
-LL | use foo1::Bar;
-   |
-
-error[E0747]: constant provided when a type was expected
-  --> $DIR/privacy-ns1.rs:35:17
-   |
-LL |     let _x: Box<Bar>;
-   |                 ^^^
-   |
-   = help: `Bar` is a function item, not a type
-   = help: function item types cannot be named directly
-
-error: aborting due to 4 previous errors
-
-Some errors have detailed explanations: E0412, E0423, E0425, E0747.
-For more information about an error, try `rustc --explain E0412`.
diff --git a/src/test/ui/privacy/privacy-ns2.rs b/src/test/ui/privacy/privacy-ns2.rs
deleted file mode 100644
index 47035ef3af5..00000000000
--- a/src/test/ui/privacy/privacy-ns2.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-// Check we do the correct privacy checks when we import a name and there is an
-// item with that name in both the value and type namespaces.
-
-#![allow(dead_code)]
-#![allow(unused_imports)]
-
-
-// public type, private value
-pub mod foo1 {
-    pub trait Bar {
-    }
-    pub struct Baz;
-
-    fn Bar() { }
-}
-
-fn test_single1() {
-    use foo1::Bar;
-
-    Bar(); //~ ERROR expected function, tuple struct or tuple variant, found trait `Bar`
-}
-
-fn test_list1() {
-    use foo1::{Bar,Baz};
-
-    Bar(); //~ ERROR expected function, tuple struct or tuple variant, found trait `Bar`
-}
-
-// private type, public value
-pub mod foo2 {
-    trait Bar {
-    }
-    pub struct Baz;
-
-    pub fn Bar() { }
-}
-
-fn test_single2() {
-    use foo2::Bar;
-
-    let _x : Box<Bar>; //~ ERROR constant provided when a type was expected
-    let _x : Bar(); //~ ERROR expected type, found function `Bar`
-}
-
-fn test_list2() {
-    use foo2::{Bar,Baz};
-
-    let _x: Box<Bar>; //~ ERROR constant provided when a type was expected
-}
-
-// neither public
-pub mod foo3 {
-    trait Bar {
-    }
-    pub struct Baz;
-
-    fn Bar() { }
-}
-
-fn test_unused3() {
-    use foo3::Bar;  //~ ERROR `Bar` is private
-}
-
-fn test_single3() {
-    use foo3::Bar;  //~ ERROR `Bar` is private
-
-    Bar();
-    let _x: Box<Bar>;
-}
-
-fn test_list3() {
-    use foo3::{Bar,Baz};  //~ ERROR `Bar` is private
-
-    Bar();
-    let _x: Box<Bar>;
-}
-
-fn main() {
-}
diff --git a/src/test/ui/privacy/privacy-ns2.stderr b/src/test/ui/privacy/privacy-ns2.stderr
deleted file mode 100644
index 904e9013f94..00000000000
--- a/src/test/ui/privacy/privacy-ns2.stderr
+++ /dev/null
@@ -1,102 +0,0 @@
-error[E0423]: expected function, tuple struct or tuple variant, found trait `Bar`
-  --> $DIR/privacy-ns2.rs:20:5
-   |
-LL |     Bar();
-   |     ^^^ not a function, tuple struct or tuple variant
-   |
-help: consider importing this function instead
-   |
-LL | use foo2::Bar;
-   |
-
-error[E0423]: expected function, tuple struct or tuple variant, found trait `Bar`
-  --> $DIR/privacy-ns2.rs:26:5
-   |
-LL |     pub struct Baz;
-   |     --------------- similarly named unit struct `Baz` defined here
-...
-LL |     Bar();
-   |     ^^^
-   |
-help: a unit struct with a similar name exists
-   |
-LL |     Baz();
-   |     ~~~
-help: consider importing this function instead
-   |
-LL | use foo2::Bar;
-   |
-
-error[E0573]: expected type, found function `Bar`
-  --> $DIR/privacy-ns2.rs:42:14
-   |
-LL |     let _x : Bar();
-   |              ^^^^^ not a type
-   |
-help: use `=` if you meant to assign
-   |
-LL |     let _x = Bar();
-   |            ~
-help: consider importing this trait instead
-   |
-LL | use foo1::Bar;
-   |
-
-error[E0603]: trait `Bar` is private
-  --> $DIR/privacy-ns2.rs:61:15
-   |
-LL |     use foo3::Bar;
-   |               ^^^ private trait
-   |
-note: the trait `Bar` is defined here
-  --> $DIR/privacy-ns2.rs:53:5
-   |
-LL |     trait Bar {
-   |     ^^^^^^^^^
-
-error[E0603]: trait `Bar` is private
-  --> $DIR/privacy-ns2.rs:65:15
-   |
-LL |     use foo3::Bar;
-   |               ^^^ private trait
-   |
-note: the trait `Bar` is defined here
-  --> $DIR/privacy-ns2.rs:53:5
-   |
-LL |     trait Bar {
-   |     ^^^^^^^^^
-
-error[E0603]: trait `Bar` is private
-  --> $DIR/privacy-ns2.rs:72:16
-   |
-LL |     use foo3::{Bar,Baz};
-   |                ^^^ private trait
-   |
-note: the trait `Bar` is defined here
-  --> $DIR/privacy-ns2.rs:53:5
-   |
-LL |     trait Bar {
-   |     ^^^^^^^^^
-
-error[E0747]: constant provided when a type was expected
-  --> $DIR/privacy-ns2.rs:41:18
-   |
-LL |     let _x : Box<Bar>;
-   |                  ^^^
-   |
-   = help: `Bar` is a function item, not a type
-   = help: function item types cannot be named directly
-
-error[E0747]: constant provided when a type was expected
-  --> $DIR/privacy-ns2.rs:48:17
-   |
-LL |     let _x: Box<Bar>;
-   |                 ^^^
-   |
-   = help: `Bar` is a function item, not a type
-   = help: function item types cannot be named directly
-
-error: aborting due to 8 previous errors
-
-Some errors have detailed explanations: E0423, E0573, E0603, E0747.
-For more information about an error, try `rustc --explain E0423`.
diff --git a/src/test/ui/privacy/privacy-reexport.rs b/src/test/ui/privacy/privacy-reexport.rs
deleted file mode 100644
index b3ec3af04ac..00000000000
--- a/src/test/ui/privacy/privacy-reexport.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// run-pass
-// aux-build:privacy_reexport.rs
-
-// pretty-expanded FIXME #23616
-
-extern crate privacy_reexport;
-
-pub fn main() {
-    // Check that public extern crates are visible to outside crates
-    privacy_reexport::core::cell::Cell::new(0);
-
-    privacy_reexport::bar::frob();
-}
diff --git a/src/test/ui/privacy/privacy-sanity.rs b/src/test/ui/privacy/privacy-sanity.rs
deleted file mode 100644
index 8bbf1ab5d1f..00000000000
--- a/src/test/ui/privacy/privacy-sanity.rs
+++ /dev/null
@@ -1,82 +0,0 @@
-#![feature(negative_impls)]
-
-pub trait Tr {
-    fn f();
-    const C: u8;
-    type T;
-}
-pub struct S {
-    pub a: u8
-}
-struct Ts(pub u8);
-
-pub impl Tr for S {  //~ ERROR unnecessary visibility qualifier
-    pub fn f() {} //~ ERROR unnecessary visibility qualifier
-    pub const C: u8 = 0; //~ ERROR unnecessary visibility qualifier
-    pub type T = u8; //~ ERROR unnecessary visibility qualifier
-}
-pub impl S { //~ ERROR unnecessary visibility qualifier
-    pub fn f() {}
-    pub const C: u8 = 0;
-    // pub type T = u8;
-}
-pub extern "C" { //~ ERROR unnecessary visibility qualifier
-    pub fn f();
-    pub static St: u8;
-}
-
-const MAIN: u8 = {
-    pub trait Tr {
-        fn f();
-        const C: u8;
-        type T;
-    }
-    pub struct S {
-        pub a: u8
-    }
-    struct Ts(pub u8);
-
-    pub impl Tr for S {  //~ ERROR unnecessary visibility qualifier
-        pub fn f() {} //~ ERROR unnecessary visibility qualifier
-        pub const C: u8 = 0; //~ ERROR unnecessary visibility qualifier
-        pub type T = u8; //~ ERROR unnecessary visibility qualifier
-    }
-    pub impl S { //~ ERROR unnecessary visibility qualifier
-        pub fn f() {}
-        pub const C: u8 = 0;
-        // pub type T = u8;
-    }
-    pub extern "C" { //~ ERROR unnecessary visibility qualifier
-        pub fn f();
-        pub static St: u8;
-    }
-
-    0
-};
-
-fn main() {
-    pub trait Tr {
-        fn f();
-        const C: u8;
-        type T;
-    }
-    pub struct S {
-        pub a: u8
-    }
-    struct Ts(pub u8);
-
-    pub impl Tr for S {  //~ ERROR unnecessary visibility qualifier
-        pub fn f() {} //~ ERROR unnecessary visibility qualifier
-        pub const C: u8 = 0; //~ ERROR unnecessary visibility qualifier
-        pub type T = u8; //~ ERROR unnecessary visibility qualifier
-    }
-    pub impl S { //~ ERROR unnecessary visibility qualifier
-        pub fn f() {}
-        pub const C: u8 = 0;
-        // pub type T = u8;
-    }
-    pub extern "C" { //~ ERROR unnecessary visibility qualifier
-        pub fn f();
-        pub static St: u8;
-    }
-}
diff --git a/src/test/ui/privacy/privacy-sanity.stderr b/src/test/ui/privacy/privacy-sanity.stderr
deleted file mode 100644
index c92553fd1a1..00000000000
--- a/src/test/ui/privacy/privacy-sanity.stderr
+++ /dev/null
@@ -1,123 +0,0 @@
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:13:1
-   |
-LL | pub impl Tr for S {
-   | ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:14:5
-   |
-LL |     pub fn f() {}
-   |     ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:15:5
-   |
-LL |     pub const C: u8 = 0;
-   |     ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:16:5
-   |
-LL |     pub type T = u8;
-   |     ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:18:1
-   |
-LL | pub impl S {
-   | ^^^ `pub` not permitted here because it's implied
-   |
-   = note: place qualifiers on individual impl items instead
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:23:1
-   |
-LL | pub extern "C" {
-   | ^^^ `pub` not permitted here because it's implied
-   |
-   = note: place qualifiers on individual foreign items instead
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:39:5
-   |
-LL |     pub impl Tr for S {
-   |     ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:40:9
-   |
-LL |         pub fn f() {}
-   |         ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:41:9
-   |
-LL |         pub const C: u8 = 0;
-   |         ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:42:9
-   |
-LL |         pub type T = u8;
-   |         ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:44:5
-   |
-LL |     pub impl S {
-   |     ^^^ `pub` not permitted here because it's implied
-   |
-   = note: place qualifiers on individual impl items instead
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:49:5
-   |
-LL |     pub extern "C" {
-   |     ^^^ `pub` not permitted here because it's implied
-   |
-   = note: place qualifiers on individual foreign items instead
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:68:5
-   |
-LL |     pub impl Tr for S {
-   |     ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:69:9
-   |
-LL |         pub fn f() {}
-   |         ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:70:9
-   |
-LL |         pub const C: u8 = 0;
-   |         ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:71:9
-   |
-LL |         pub type T = u8;
-   |         ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:73:5
-   |
-LL |     pub impl S {
-   |     ^^^ `pub` not permitted here because it's implied
-   |
-   = note: place qualifiers on individual impl items instead
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/privacy-sanity.rs:78:5
-   |
-LL |     pub extern "C" {
-   |     ^^^ `pub` not permitted here because it's implied
-   |
-   = note: place qualifiers on individual foreign items instead
-
-error: aborting due to 18 previous errors
-
-For more information about this error, try `rustc --explain E0449`.
diff --git a/src/test/ui/privacy/privacy-ufcs.rs b/src/test/ui/privacy/privacy-ufcs.rs
deleted file mode 100644
index fec7f41340a..00000000000
--- a/src/test/ui/privacy/privacy-ufcs.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// Test to ensure private traits are inaccessible with UFCS angle-bracket syntax.
-
-mod foo {
-    trait Bar {
-        fn baz() {}
-    }
-
-    impl Bar for i32 {}
-}
-
-fn main() {
-    <i32 as ::foo::Bar>::baz(); //~ERROR trait `Bar` is private
-}
diff --git a/src/test/ui/privacy/privacy-ufcs.stderr b/src/test/ui/privacy/privacy-ufcs.stderr
deleted file mode 100644
index e93a458ce6c..00000000000
--- a/src/test/ui/privacy/privacy-ufcs.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0603]: trait `Bar` is private
-  --> $DIR/privacy-ufcs.rs:12:20
-   |
-LL |     <i32 as ::foo::Bar>::baz();
-   |                    ^^^ private trait
-   |
-note: the trait `Bar` is defined here
-  --> $DIR/privacy-ufcs.rs:4:5
-   |
-LL |     trait Bar {
-   |     ^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/privacy1-rpass.rs b/src/test/ui/privacy/privacy1-rpass.rs
deleted file mode 100644
index 4e54780dad2..00000000000
--- a/src/test/ui/privacy/privacy1-rpass.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-// pretty-expanded FIXME #23616
-
-pub mod test2 {
-    // This used to generate an ICE (make sure that default functions are
-    // parented to their trait to find the first private thing as the trait).
-
-    struct B;
-    trait A { fn foo(&self) {} }
-    impl A for B {}
-
-    mod tests {
-        use super::A;
-        fn foo() {
-            let a = super::B;
-            a.foo();
-        }
-    }
-}
-
-
-pub fn main() {}
diff --git a/src/test/ui/privacy/privacy1.rs b/src/test/ui/privacy/privacy1.rs
deleted file mode 100644
index 3c9fa983dfd..00000000000
--- a/src/test/ui/privacy/privacy1.rs
+++ /dev/null
@@ -1,176 +0,0 @@
-#![feature(lang_items, start, no_core)]
-#![no_core] // makes debugging this test *a lot* easier (during resolve)
-
-#[lang="sized"]
-pub trait Sized {}
-
-#[lang="copy"]
-pub trait Copy {}
-
-#[lang="deref"]
-pub trait Deref {
-    type Target;
-}
-
-#[lang="receiver"]
-pub trait Receiver: Deref {}
-
-impl<'a, T> Deref for &'a T {
-    type Target = T;
-}
-
-impl<'a, T> Receiver for &'a T {}
-
-mod bar {
-    // shouldn't bring in too much
-    pub use self::glob::*;
-
-    // can't publicly re-export private items
-    pub use self::baz::{foo, bar};
-
-    pub struct A;
-    impl A {
-        pub fn foo() {}
-        fn bar() {}
-
-        pub fn foo2(&self) {}
-        fn bar2(&self) {}
-    }
-
-    trait B {
-        fn foo() -> Self;
-    }
-
-    impl B for isize { fn foo() -> isize { 3 } }
-
-    pub enum Enum {
-        Pub
-    }
-
-    mod baz {
-        pub struct A;
-        impl A {
-            pub fn foo() {}
-            fn bar() {}
-
-            pub fn foo2(&self) {}
-            fn bar2(&self) {}
-        }
-
-        pub fn foo() {}
-        pub fn bar() {}
-    }
-
-    extern "C" {
-        fn epriv();
-        pub fn epub();
-    }
-
-    fn test() {
-        self::Enum::Pub;
-        unsafe {
-            epriv();
-            epub();
-        }
-        self::baz::A;
-        self::baz::A::foo();
-        self::baz::A::bar(); //~ ERROR: associated function `bar` is private
-        self::baz::A.foo2();
-
-        // this used to cause an ICE in privacy traversal.
-        super::gpub();
-    }
-
-    mod glob {
-        pub fn gpub() {}
-        fn gpriv() {}
-    }
-}
-
-pub fn gpub() {}
-
-fn lol() {
-    bar::A;
-    bar::A::foo();
-    bar::A::bar(); //~ ERROR: associated function `bar` is private
-    bar::A.foo2();
-}
-
-mod foo {
-    fn test() {
-        ::bar::A::foo();
-        ::bar::A::bar();        //~ ERROR: associated function `bar` is private
-        ::bar::A.foo2();
-        ::bar::baz::A::foo();   //~ ERROR: module `baz` is private
-        ::bar::baz::A::bar();   //~ ERROR: module `baz` is private
-                                //~^ ERROR: associated function `bar` is private
-        ::bar::baz::A.foo2();   //~ ERROR: module `baz` is private
-        ::bar::baz::A.bar2();   //~ ERROR: module `baz` is private
-                                //~^ ERROR: associated function `bar2` is private
-
-        let _: isize =
-        ::bar::B::foo();        //~ ERROR: trait `B` is private
-        ::lol();
-
-        ::bar::Enum::Pub;
-
-        unsafe {
-            ::bar::epriv(); //~ ERROR: function `epriv` is private
-            ::bar::epub();
-        }
-
-        ::bar::foo();
-        ::bar::bar();
-
-        ::bar::gpub();
-
-        ::bar::baz::foo(); //~ ERROR: module `baz` is private
-        ::bar::baz::bar(); //~ ERROR: module `baz` is private
-    }
-
-    fn test2() {
-        use bar::baz::{foo, bar};
-        //~^ ERROR: module `baz` is private
-        //~| ERROR: module `baz` is private
-
-        foo();
-        bar();
-    }
-
-    fn test3() {
-        use bar::baz;
-        //~^ ERROR: module `baz` is private
-    }
-
-    fn test4() {
-        use bar::{foo, bar};
-        foo();
-        bar();
-    }
-
-    fn test5() {
-        use bar;
-        bar::foo();
-        bar::bar();
-    }
-
-    impl ::bar::B for f32 { fn foo() -> f32 { 1.0 } }
-    //~^ ERROR: trait `B` is private
-}
-
-pub mod mytest {
-    // Even though the inner `A` struct is a publicly exported item (usable from
-    // external crates through `foo::foo`, it should not be accessible through
-    // its definition path (which has the private `i` module).
-    use self::foo::i::A; //~ ERROR: module `i` is private
-
-    pub mod foo {
-        pub use self::i::A as foo;
-
-        mod i {
-            pub struct A;
-        }
-    }
-}
-
-#[start] fn main(_: isize, _: *const *const u8) -> isize { 3 }
diff --git a/src/test/ui/privacy/privacy1.stderr b/src/test/ui/privacy/privacy1.stderr
deleted file mode 100644
index 70e6fcb7a07..00000000000
--- a/src/test/ui/privacy/privacy1.stderr
+++ /dev/null
@@ -1,205 +0,0 @@
-error[E0603]: module `baz` is private
-  --> $DIR/privacy1.rs:132:18
-   |
-LL |         use bar::baz::{foo, bar};
-   |                  ^^^ private module
-   |
-note: the module `baz` is defined here
-  --> $DIR/privacy1.rs:50:5
-   |
-LL |     mod baz {
-   |     ^^^^^^^
-
-error[E0603]: module `baz` is private
-  --> $DIR/privacy1.rs:132:18
-   |
-LL |         use bar::baz::{foo, bar};
-   |                  ^^^ private module
-   |
-note: the module `baz` is defined here
-  --> $DIR/privacy1.rs:50:5
-   |
-LL |     mod baz {
-   |     ^^^^^^^
-
-error[E0603]: module `baz` is private
-  --> $DIR/privacy1.rs:141:18
-   |
-LL |         use bar::baz;
-   |                  ^^^ private module
-   |
-note: the module `baz` is defined here
-  --> $DIR/privacy1.rs:50:5
-   |
-LL |     mod baz {
-   |     ^^^^^^^
-
-error[E0603]: module `i` is private
-  --> $DIR/privacy1.rs:165:20
-   |
-LL |     use self::foo::i::A;
-   |                    ^ private module
-   |
-note: the module `i` is defined here
-  --> $DIR/privacy1.rs:170:9
-   |
-LL |         mod i {
-   |         ^^^^^
-
-error[E0603]: module `baz` is private
-  --> $DIR/privacy1.rs:104:16
-   |
-LL |         ::bar::baz::A::foo();
-   |                ^^^ private module
-   |
-note: the module `baz` is defined here
-  --> $DIR/privacy1.rs:50:5
-   |
-LL |     mod baz {
-   |     ^^^^^^^
-
-error[E0603]: module `baz` is private
-  --> $DIR/privacy1.rs:105:16
-   |
-LL |         ::bar::baz::A::bar();
-   |                ^^^ private module
-   |
-note: the module `baz` is defined here
-  --> $DIR/privacy1.rs:50:5
-   |
-LL |     mod baz {
-   |     ^^^^^^^
-
-error[E0603]: module `baz` is private
-  --> $DIR/privacy1.rs:107:16
-   |
-LL |         ::bar::baz::A.foo2();
-   |                ^^^ private module
-   |
-note: the module `baz` is defined here
-  --> $DIR/privacy1.rs:50:5
-   |
-LL |     mod baz {
-   |     ^^^^^^^
-
-error[E0603]: module `baz` is private
-  --> $DIR/privacy1.rs:108:16
-   |
-LL |         ::bar::baz::A.bar2();
-   |                ^^^ private module
-   |
-note: the module `baz` is defined here
-  --> $DIR/privacy1.rs:50:5
-   |
-LL |     mod baz {
-   |     ^^^^^^^
-
-error[E0603]: trait `B` is private
-  --> $DIR/privacy1.rs:112:16
-   |
-LL |         ::bar::B::foo();
-   |                ^ private trait
-   |
-note: the trait `B` is defined here
-  --> $DIR/privacy1.rs:40:5
-   |
-LL |     trait B {
-   |     ^^^^^^^
-
-error[E0603]: function `epriv` is private
-  --> $DIR/privacy1.rs:118:20
-   |
-LL |             ::bar::epriv();
-   |                    ^^^^^ private function
-   |
-note: the function `epriv` is defined here
-  --> $DIR/privacy1.rs:65:9
-   |
-LL |         fn epriv();
-   |         ^^^^^^^^^^^
-
-error[E0603]: module `baz` is private
-  --> $DIR/privacy1.rs:127:16
-   |
-LL |         ::bar::baz::foo();
-   |                ^^^ private module
-   |
-note: the module `baz` is defined here
-  --> $DIR/privacy1.rs:50:5
-   |
-LL |     mod baz {
-   |     ^^^^^^^
-
-error[E0603]: module `baz` is private
-  --> $DIR/privacy1.rs:128:16
-   |
-LL |         ::bar::baz::bar();
-   |                ^^^ private module
-   |
-note: the module `baz` is defined here
-  --> $DIR/privacy1.rs:50:5
-   |
-LL |     mod baz {
-   |     ^^^^^^^
-
-error[E0603]: trait `B` is private
-  --> $DIR/privacy1.rs:157:17
-   |
-LL |     impl ::bar::B for f32 { fn foo() -> f32 { 1.0 } }
-   |                 ^ private trait
-   |
-note: the trait `B` is defined here
-  --> $DIR/privacy1.rs:40:5
-   |
-LL |     trait B {
-   |     ^^^^^^^
-
-error[E0624]: associated function `bar` is private
-  --> $DIR/privacy1.rs:77:23
-   |
-LL |             fn bar() {}
-   |             -------- private associated function defined here
-...
-LL |         self::baz::A::bar();
-   |                       ^^^ private associated function
-
-error[E0624]: associated function `bar` is private
-  --> $DIR/privacy1.rs:95:13
-   |
-LL |         fn bar() {}
-   |         -------- private associated function defined here
-...
-LL |     bar::A::bar();
-   |             ^^^ private associated function
-
-error[E0624]: associated function `bar` is private
-  --> $DIR/privacy1.rs:102:19
-   |
-LL |         fn bar() {}
-   |         -------- private associated function defined here
-...
-LL |         ::bar::A::bar();
-   |                   ^^^ private associated function
-
-error[E0624]: associated function `bar` is private
-  --> $DIR/privacy1.rs:105:24
-   |
-LL |             fn bar() {}
-   |             -------- private associated function defined here
-...
-LL |         ::bar::baz::A::bar();
-   |                        ^^^ private associated function
-
-error[E0624]: associated function `bar2` is private
-  --> $DIR/privacy1.rs:108:23
-   |
-LL |             fn bar2(&self) {}
-   |             -------------- private associated function defined here
-...
-LL |         ::bar::baz::A.bar2();
-   |                       ^^^^ private associated function
-
-error: aborting due to 18 previous errors
-
-Some errors have detailed explanations: E0603, E0624.
-For more information about an error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/privacy2.rs b/src/test/ui/privacy/privacy2.rs
deleted file mode 100644
index c8fa436bd14..00000000000
--- a/src/test/ui/privacy/privacy2.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-#![feature(start, no_core)]
-#![no_core] // makes debugging this test *a lot* easier (during resolve)
-
-// Test to make sure that globs don't leak in regular `use` statements.
-
-mod bar {
-    pub use self::glob::*;
-
-    pub mod glob {
-        use foo;
-    }
-}
-
-pub fn foo() {}
-
-fn test1() {
-    use bar::foo;
-    //~^ ERROR unresolved import `bar::foo` [E0432]
-    //~| no `foo` in `bar`
-}
-
-fn test2() {
-    use bar::glob::foo;
-    //~^ ERROR `foo` is private
-}
-
-#[start] fn main(_: isize, _: *const *const u8) -> isize { 3 }
diff --git a/src/test/ui/privacy/privacy2.stderr b/src/test/ui/privacy/privacy2.stderr
deleted file mode 100644
index 882f314655d..00000000000
--- a/src/test/ui/privacy/privacy2.stderr
+++ /dev/null
@@ -1,35 +0,0 @@
-error[E0432]: unresolved import `bar::foo`
-  --> $DIR/privacy2.rs:17:9
-   |
-LL |     use bar::foo;
-   |         ^^^^^^^^ no `foo` in `bar`
-
-error[E0603]: function import `foo` is private
-  --> $DIR/privacy2.rs:23:20
-   |
-LL |     use bar::glob::foo;
-   |                    ^^^ private function import
-   |
-note: the function import `foo` is defined here...
-  --> $DIR/privacy2.rs:10:13
-   |
-LL |         use foo;
-   |             ^^^
-note: ...and refers to the function `foo` which is defined here
-  --> $DIR/privacy2.rs:14:1
-   |
-LL | pub fn foo() {}
-   | ^^^^^^^^^^^^ consider importing it directly
-
-error: requires `sized` lang_item
-
-error: requires `sized` lang_item
-
-error: requires `sized` lang_item
-
-error: requires `sized` lang_item
-
-error: aborting due to 6 previous errors
-
-Some errors have detailed explanations: E0432, E0603.
-For more information about an error, try `rustc --explain E0432`.
diff --git a/src/test/ui/privacy/privacy3.rs b/src/test/ui/privacy/privacy3.rs
deleted file mode 100644
index 5a7cd76a98f..00000000000
--- a/src/test/ui/privacy/privacy3.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-#![feature(start, no_core)]
-#![no_core] // makes debugging this test *a lot* easier (during resolve)
-
-// Test to make sure that private items imported through globs remain private
-// when  they're used.
-
-mod bar {
-    pub use self::glob::*;
-
-    mod glob {
-        fn gpriv() {}
-    }
-}
-
-pub fn foo() {}
-
-fn test1() {
-    use bar::gpriv;
-    //~^ ERROR unresolved import `bar::gpriv` [E0432]
-    //~| no `gpriv` in `bar`
-
-    // This should pass because the compiler will insert a fake name binding
-    // for `gpriv`
-    gpriv();
-}
-
-#[start] fn main(_: isize, _: *const *const u8) -> isize { 3 }
diff --git a/src/test/ui/privacy/privacy3.stderr b/src/test/ui/privacy/privacy3.stderr
deleted file mode 100644
index 42ce456d962..00000000000
--- a/src/test/ui/privacy/privacy3.stderr
+++ /dev/null
@@ -1,17 +0,0 @@
-error[E0432]: unresolved import `bar::gpriv`
-  --> $DIR/privacy3.rs:18:9
-   |
-LL |     use bar::gpriv;
-   |         ^^^^^^^^^^ no `gpriv` in `bar`
-
-error: requires `sized` lang_item
-
-error: requires `sized` lang_item
-
-error: requires `sized` lang_item
-
-error: requires `sized` lang_item
-
-error: aborting due to 5 previous errors
-
-For more information about this error, try `rustc --explain E0432`.
diff --git a/src/test/ui/privacy/privacy4.rs b/src/test/ui/privacy/privacy4.rs
deleted file mode 100644
index fa257b80039..00000000000
--- a/src/test/ui/privacy/privacy4.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-#![feature(lang_items, start, no_core)]
-#![no_core] // makes debugging this test *a lot* easier (during resolve)
-
-#[lang = "sized"] pub trait Sized {}
-#[lang="copy"] pub trait Copy {}
-
-// Test to make sure that private items imported through globs remain private
-// when  they're used.
-
-mod bar {
-    pub use self::glob::*;
-
-    mod glob {
-        fn gpriv() {}
-    }
-}
-
-pub fn foo() {}
-
-fn test2() {
-    use bar::glob::gpriv; //~ ERROR: module `glob` is private
-    gpriv();
-}
-
-#[start] fn main(_: isize, _: *const *const u8) -> isize { 3 }
diff --git a/src/test/ui/privacy/privacy4.stderr b/src/test/ui/privacy/privacy4.stderr
deleted file mode 100644
index 7552fa71a3a..00000000000
--- a/src/test/ui/privacy/privacy4.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0603]: module `glob` is private
-  --> $DIR/privacy4.rs:21:14
-   |
-LL |     use bar::glob::gpriv;
-   |              ^^^^ private module
-   |
-note: the module `glob` is defined here
-  --> $DIR/privacy4.rs:13:5
-   |
-LL |     mod glob {
-   |     ^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/privacy5.rs b/src/test/ui/privacy/privacy5.rs
deleted file mode 100644
index 3dc26b1955c..00000000000
--- a/src/test/ui/privacy/privacy5.rs
+++ /dev/null
@@ -1,128 +0,0 @@
-// aux-build:privacy_tuple_struct.rs
-
-extern crate privacy_tuple_struct as other;
-
-mod a {
-    pub struct A(());
-    pub struct B(isize);
-    pub struct C(pub isize, isize);
-    pub struct D(pub isize);
-
-    fn test() {
-        let a = A(());
-        let b = B(2);
-        let c = C(2, 3);
-        let d = D(4);
-
-        let A(()) = a;
-        let A(_) = a;
-        match a { A(()) => {} }
-        match a { A(_) => {} }
-
-        let B(_) = b;
-        let B(_b) = b;
-        match b { B(_) => {} }
-        match b { B(_b) => {} }
-        match b { B(1) => {} B(_) => {} }
-
-        let C(_, _) = c;
-        let C(_a, _) = c;
-        let C(_, _b) = c;
-        let C(_a, _b) = c;
-        match c { C(_, _) => {} }
-        match c { C(_a, _) => {} }
-        match c { C(_, _b) => {} }
-        match c { C(_a, _b) => {} }
-
-        let D(_) = d;
-        let D(_d) = d;
-        match d { D(_) => {} }
-        match d { D(_d) => {} }
-        match d { D(1) => {} D(_) => {} }
-
-        let a2 = A;
-        let b2 = B;
-        let c2 = C;
-        let d2 = D;
-    }
-}
-
-fn this_crate() {
-    let a = a::A(()); //~ ERROR tuple struct constructor `A` is private
-    let b = a::B(2); //~ ERROR tuple struct constructor `B` is private
-    let c = a::C(2, 3); //~ ERROR tuple struct constructor `C` is private
-    let d = a::D(4);
-
-    let a::A(()) = a; //~ ERROR tuple struct constructor `A` is private
-    let a::A(_) = a; //~ ERROR tuple struct constructor `A` is private
-    match a { a::A(()) => {} } //~ ERROR tuple struct constructor `A` is private
-    match a { a::A(_) => {} } //~ ERROR tuple struct constructor `A` is private
-
-    let a::B(_) = b; //~ ERROR tuple struct constructor `B` is private
-    let a::B(_b) = b; //~ ERROR tuple struct constructor `B` is private
-    match b { a::B(_) => {} } //~ ERROR tuple struct constructor `B` is private
-    match b { a::B(_b) => {} } //~ ERROR tuple struct constructor `B` is private
-    match b { a::B(1) => {} a::B(_) => {} } //~ ERROR tuple struct constructor `B` is private
-                                            //~^ ERROR tuple struct constructor `B` is private
-
-    let a::C(_, _) = c; //~ ERROR tuple struct constructor `C` is private
-    let a::C(_a, _) = c; //~ ERROR tuple struct constructor `C` is private
-    let a::C(_, _b) = c; //~ ERROR tuple struct constructor `C` is private
-    let a::C(_a, _b) = c; //~ ERROR tuple struct constructor `C` is private
-    match c { a::C(_, _) => {} } //~ ERROR tuple struct constructor `C` is private
-    match c { a::C(_a, _) => {} } //~ ERROR tuple struct constructor `C` is private
-    match c { a::C(_, _b) => {} } //~ ERROR tuple struct constructor `C` is private
-    match c { a::C(_a, _b) => {} } //~ ERROR tuple struct constructor `C` is private
-
-    let a::D(_) = d;
-    let a::D(_d) = d;
-    match d { a::D(_) => {} }
-    match d { a::D(_d) => {} }
-    match d { a::D(1) => {} a::D(_) => {} }
-
-    let a2 = a::A; //~ ERROR tuple struct constructor `A` is private
-    let b2 = a::B; //~ ERROR tuple struct constructor `B` is private
-    let c2 = a::C; //~ ERROR tuple struct constructor `C` is private
-    let d2 = a::D;
-}
-
-fn xcrate() {
-    let a = other::A(()); //~ ERROR tuple struct constructor `A` is private
-    let b = other::B(2); //~ ERROR tuple struct constructor `B` is private
-    let c = other::C(2, 3); //~ ERROR tuple struct constructor `C` is private
-    let d = other::D(4);
-
-    let other::A(()) = a; //~ ERROR tuple struct constructor `A` is private
-    let other::A(_) = a; //~ ERROR tuple struct constructor `A` is private
-    match a { other::A(()) => {} } //~ ERROR tuple struct constructor `A` is private
-    match a { other::A(_) => {} } //~ ERROR tuple struct constructor `A` is private
-
-    let other::B(_) = b; //~ ERROR tuple struct constructor `B` is private
-    let other::B(_b) = b; //~ ERROR tuple struct constructor `B` is private
-    match b { other::B(_) => {} } //~ ERROR tuple struct constructor `B` is private
-    match b { other::B(_b) => {} } //~ ERROR tuple struct constructor `B` is private
-    match b { other::B(1) => {}//~ ERROR tuple struct constructor `B` is private
-        other::B(_) => {} }    //~ ERROR tuple struct constructor `B` is private
-
-    let other::C(_, _) = c; //~ ERROR tuple struct constructor `C` is private
-    let other::C(_a, _) = c; //~ ERROR tuple struct constructor `C` is private
-    let other::C(_, _b) = c; //~ ERROR tuple struct constructor `C` is private
-    let other::C(_a, _b) = c; //~ ERROR tuple struct constructor `C` is private
-    match c { other::C(_, _) => {} } //~ ERROR tuple struct constructor `C` is private
-    match c { other::C(_a, _) => {} } //~ ERROR tuple struct constructor `C` is private
-    match c { other::C(_, _b) => {} } //~ ERROR tuple struct constructor `C` is private
-    match c { other::C(_a, _b) => {} } //~ ERROR tuple struct constructor `C` is private
-
-    let other::D(_) = d;
-    let other::D(_d) = d;
-    match d { other::D(_) => {} }
-    match d { other::D(_d) => {} }
-    match d { other::D(1) => {} other::D(_) => {} }
-
-    let a2 = other::A; //~ ERROR tuple struct constructor `A` is private
-    let b2 = other::B; //~ ERROR tuple struct constructor `B` is private
-    let c2 = other::C; //~ ERROR tuple struct constructor `C` is private
-    let d2 = other::D;
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/privacy5.stderr b/src/test/ui/privacy/privacy5.stderr
deleted file mode 100644
index 680161272ce..00000000000
--- a/src/test/ui/privacy/privacy5.stderr
+++ /dev/null
@@ -1,771 +0,0 @@
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:51:16
-   |
-LL |     pub struct A(());
-   |                  -- a constructor is private if any of the fields is private
-...
-LL |     let a = a::A(());
-   |                ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/privacy5.rs:6:5
-   |
-LL |     pub struct A(());
-   |     ^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:52:16
-   |
-LL |     pub struct B(isize);
-   |                  ----- a constructor is private if any of the fields is private
-...
-LL |     let b = a::B(2);
-   |                ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/privacy5.rs:7:5
-   |
-LL |     pub struct B(isize);
-   |     ^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:53:16
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     let c = a::C(2, 3);
-   |                ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:56:12
-   |
-LL |     pub struct A(());
-   |                  -- a constructor is private if any of the fields is private
-...
-LL |     let a::A(()) = a;
-   |            ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/privacy5.rs:6:5
-   |
-LL |     pub struct A(());
-   |     ^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:57:12
-   |
-LL |     pub struct A(());
-   |                  -- a constructor is private if any of the fields is private
-...
-LL |     let a::A(_) = a;
-   |            ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/privacy5.rs:6:5
-   |
-LL |     pub struct A(());
-   |     ^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:58:18
-   |
-LL |     pub struct A(());
-   |                  -- a constructor is private if any of the fields is private
-...
-LL |     match a { a::A(()) => {} }
-   |                  ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/privacy5.rs:6:5
-   |
-LL |     pub struct A(());
-   |     ^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:59:18
-   |
-LL |     pub struct A(());
-   |                  -- a constructor is private if any of the fields is private
-...
-LL |     match a { a::A(_) => {} }
-   |                  ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/privacy5.rs:6:5
-   |
-LL |     pub struct A(());
-   |     ^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:61:12
-   |
-LL |     pub struct B(isize);
-   |                  ----- a constructor is private if any of the fields is private
-...
-LL |     let a::B(_) = b;
-   |            ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/privacy5.rs:7:5
-   |
-LL |     pub struct B(isize);
-   |     ^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:62:12
-   |
-LL |     pub struct B(isize);
-   |                  ----- a constructor is private if any of the fields is private
-...
-LL |     let a::B(_b) = b;
-   |            ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/privacy5.rs:7:5
-   |
-LL |     pub struct B(isize);
-   |     ^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:63:18
-   |
-LL |     pub struct B(isize);
-   |                  ----- a constructor is private if any of the fields is private
-...
-LL |     match b { a::B(_) => {} }
-   |                  ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/privacy5.rs:7:5
-   |
-LL |     pub struct B(isize);
-   |     ^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:64:18
-   |
-LL |     pub struct B(isize);
-   |                  ----- a constructor is private if any of the fields is private
-...
-LL |     match b { a::B(_b) => {} }
-   |                  ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/privacy5.rs:7:5
-   |
-LL |     pub struct B(isize);
-   |     ^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:65:18
-   |
-LL |     pub struct B(isize);
-   |                  ----- a constructor is private if any of the fields is private
-...
-LL |     match b { a::B(1) => {} a::B(_) => {} }
-   |                  ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/privacy5.rs:7:5
-   |
-LL |     pub struct B(isize);
-   |     ^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:65:32
-   |
-LL |     pub struct B(isize);
-   |                  ----- a constructor is private if any of the fields is private
-...
-LL |     match b { a::B(1) => {} a::B(_) => {} }
-   |                                ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/privacy5.rs:7:5
-   |
-LL |     pub struct B(isize);
-   |     ^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:68:12
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     let a::C(_, _) = c;
-   |            ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:69:12
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     let a::C(_a, _) = c;
-   |            ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:70:12
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     let a::C(_, _b) = c;
-   |            ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:71:12
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     let a::C(_a, _b) = c;
-   |            ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:72:18
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     match c { a::C(_, _) => {} }
-   |                  ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:73:18
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     match c { a::C(_a, _) => {} }
-   |                  ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:74:18
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     match c { a::C(_, _b) => {} }
-   |                  ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:75:18
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     match c { a::C(_a, _b) => {} }
-   |                  ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:83:17
-   |
-LL |     pub struct A(());
-   |                  -- a constructor is private if any of the fields is private
-...
-LL |     let a2 = a::A;
-   |                 ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/privacy5.rs:6:5
-   |
-LL |     pub struct A(());
-   |     ^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:84:17
-   |
-LL |     pub struct B(isize);
-   |                  ----- a constructor is private if any of the fields is private
-...
-LL |     let b2 = a::B;
-   |                 ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/privacy5.rs:7:5
-   |
-LL |     pub struct B(isize);
-   |     ^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:85:17
-   |
-LL |     pub struct C(pub isize, isize);
-   |                  ---------------- a constructor is private if any of the fields is private
-...
-LL |     let c2 = a::C;
-   |                 ^ private tuple struct constructor
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/privacy5.rs:8:5
-   |
-LL |     pub struct C(pub isize, isize);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:90:20
-   |
-LL |     let a = other::A(());
-   |                    ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:1:14
-   |
-LL | pub struct A(());
-   |              -- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:1:1
-   |
-LL | pub struct A(());
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:91:20
-   |
-LL |     let b = other::B(2);
-   |                    ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:2:14
-   |
-LL | pub struct B(isize);
-   |              ----- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:2:1
-   |
-LL | pub struct B(isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:92:20
-   |
-LL |     let c = other::C(2, 3);
-   |                    ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:95:16
-   |
-LL |     let other::A(()) = a;
-   |                ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:1:14
-   |
-LL | pub struct A(());
-   |              -- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:1:1
-   |
-LL | pub struct A(());
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:96:16
-   |
-LL |     let other::A(_) = a;
-   |                ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:1:14
-   |
-LL | pub struct A(());
-   |              -- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:1:1
-   |
-LL | pub struct A(());
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:97:22
-   |
-LL |     match a { other::A(()) => {} }
-   |                      ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:1:14
-   |
-LL | pub struct A(());
-   |              -- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:1:1
-   |
-LL | pub struct A(());
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:98:22
-   |
-LL |     match a { other::A(_) => {} }
-   |                      ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:1:14
-   |
-LL | pub struct A(());
-   |              -- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:1:1
-   |
-LL | pub struct A(());
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:100:16
-   |
-LL |     let other::B(_) = b;
-   |                ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:2:14
-   |
-LL | pub struct B(isize);
-   |              ----- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:2:1
-   |
-LL | pub struct B(isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:101:16
-   |
-LL |     let other::B(_b) = b;
-   |                ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:2:14
-   |
-LL | pub struct B(isize);
-   |              ----- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:2:1
-   |
-LL | pub struct B(isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:102:22
-   |
-LL |     match b { other::B(_) => {} }
-   |                      ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:2:14
-   |
-LL | pub struct B(isize);
-   |              ----- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:2:1
-   |
-LL | pub struct B(isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:103:22
-   |
-LL |     match b { other::B(_b) => {} }
-   |                      ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:2:14
-   |
-LL | pub struct B(isize);
-   |              ----- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:2:1
-   |
-LL | pub struct B(isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:104:22
-   |
-LL |     match b { other::B(1) => {}
-   |                      ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:2:14
-   |
-LL | pub struct B(isize);
-   |              ----- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:2:1
-   |
-LL | pub struct B(isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:105:16
-   |
-LL |         other::B(_) => {} }
-   |                ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:2:14
-   |
-LL | pub struct B(isize);
-   |              ----- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:2:1
-   |
-LL | pub struct B(isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:107:16
-   |
-LL |     let other::C(_, _) = c;
-   |                ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:108:16
-   |
-LL |     let other::C(_a, _) = c;
-   |                ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:109:16
-   |
-LL |     let other::C(_, _b) = c;
-   |                ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:110:16
-   |
-LL |     let other::C(_a, _b) = c;
-   |                ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:111:22
-   |
-LL |     match c { other::C(_, _) => {} }
-   |                      ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:112:22
-   |
-LL |     match c { other::C(_a, _) => {} }
-   |                      ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:113:22
-   |
-LL |     match c { other::C(_, _b) => {} }
-   |                      ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:114:22
-   |
-LL |     match c { other::C(_a, _b) => {} }
-   |                      ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `A` is private
-  --> $DIR/privacy5.rs:122:21
-   |
-LL |     let a2 = other::A;
-   |                     ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:1:14
-   |
-LL | pub struct A(());
-   |              -- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `A` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:1:1
-   |
-LL | pub struct A(());
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `B` is private
-  --> $DIR/privacy5.rs:123:21
-   |
-LL |     let b2 = other::B;
-   |                     ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:2:14
-   |
-LL | pub struct B(isize);
-   |              ----- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `B` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:2:1
-   |
-LL | pub struct B(isize);
-   | ^^^^^^^^^^^^
-
-error[E0603]: tuple struct constructor `C` is private
-  --> $DIR/privacy5.rs:124:21
-   |
-LL |     let c2 = other::C;
-   |                     ^ private tuple struct constructor
-   |
-  ::: $DIR/auxiliary/privacy_tuple_struct.rs:3:14
-   |
-LL | pub struct C(pub isize, isize);
-   |              ---------------- a constructor is private if any of the fields is private
-   |
-note: the tuple struct constructor `C` is defined here
-  --> $DIR/auxiliary/privacy_tuple_struct.rs:3:1
-   |
-LL | pub struct C(pub isize, isize);
-   | ^^^^^^^^^^^^
-
-error: aborting due to 48 previous errors
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/private-class-field.rs b/src/test/ui/privacy/private-class-field.rs
deleted file mode 100644
index 98e32ee0745..00000000000
--- a/src/test/ui/privacy/private-class-field.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-#![allow(non_camel_case_types)]
-
-
-struct cat {
-    meows : usize,
-
-    how_hungry : isize,
-}
-
-impl cat {
-  pub fn meow_count(&mut self) -> usize { self.meows }
-}
-
-fn cat(in_x : usize, in_y : isize) -> cat {
-    cat {
-        meows: in_x,
-        how_hungry: in_y
-    }
-}
-
-pub fn main() {
-    let mut nyan : cat = cat(52, 99);
-    assert_eq!(nyan.meow_count(), 52);
-}
diff --git a/src/test/ui/privacy/private-field-ty-err.rs b/src/test/ui/privacy/private-field-ty-err.rs
deleted file mode 100644
index 10db6069567..00000000000
--- a/src/test/ui/privacy/private-field-ty-err.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-fn main() {
-    let x = foo::Foo::default();
-    if x.len {
-        //~^ ERROR field `len` of struct `Foo` is private
-        println!("foo");
-    }
-}
-
-mod foo {
-    #[derive(Default)]
-    pub struct Foo {
-        len: String,
-    }
-
-    impl Foo {
-        pub fn len(&self) -> usize {
-            42
-        }
-    }
-}
diff --git a/src/test/ui/privacy/private-field-ty-err.stderr b/src/test/ui/privacy/private-field-ty-err.stderr
deleted file mode 100644
index 98ba7856e57..00000000000
--- a/src/test/ui/privacy/private-field-ty-err.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0616]: field `len` of struct `Foo` is private
-  --> $DIR/private-field-ty-err.rs:3:10
-   |
-LL |     if x.len {
-   |          ^^^ private field
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0616`.
diff --git a/src/test/ui/privacy/private-impl-method.rs b/src/test/ui/privacy/private-impl-method.rs
deleted file mode 100644
index f7be6726c5e..00000000000
--- a/src/test/ui/privacy/private-impl-method.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-mod a {
-    pub struct Foo {
-        pub x: isize
-    }
-
-    impl Foo {
-        fn foo(&self) {}
-    }
-}
-
-fn f() {
-    impl a::Foo {
-        fn bar(&self) {} // This should be visible outside `f`
-    }
-}
-
-fn main() {
-    let s = a::Foo { x: 1 };
-    s.bar();
-    s.foo();    //~ ERROR associated function `foo` is private
-}
diff --git a/src/test/ui/privacy/private-impl-method.stderr b/src/test/ui/privacy/private-impl-method.stderr
deleted file mode 100644
index bb54dce7e7e..00000000000
--- a/src/test/ui/privacy/private-impl-method.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0624]: associated function `foo` is private
-  --> $DIR/private-impl-method.rs:20:7
-   |
-LL |         fn foo(&self) {}
-   |         ------------- private associated function defined here
-...
-LL |     s.foo();
-   |       ^^^ private associated function
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0624`.
diff --git a/src/test/ui/privacy/private-in-public-assoc-ty.rs b/src/test/ui/privacy/private-in-public-assoc-ty.rs
deleted file mode 100644
index fba72c13170..00000000000
--- a/src/test/ui/privacy/private-in-public-assoc-ty.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-// Private types and traits are not allowed in interfaces of associated types.
-// This test also ensures that the checks are performed even inside private modules.
-
-#![feature(associated_type_defaults)]
-#![feature(type_alias_impl_trait)]
-
-mod m {
-    struct Priv;
-    trait PrivTr {}
-    impl PrivTr for Priv {}
-    pub trait PubTrAux1<T> {}
-    pub trait PubTrAux2 {
-        type A;
-    }
-    impl<T> PubTrAux1<T> for u8 {}
-    impl PubTrAux2 for u8 {
-        type A = Priv;
-        //~^ ERROR private type `Priv` in public interface
-    }
-
-    // "Private-in-public in associated types is hard error" in RFC 2145
-    // applies only to the aliased types, not bounds.
-    pub trait PubTr {
-        type Alias1: PrivTr;
-        //~^ WARN private trait `PrivTr` in public interface
-        //~| WARN this was previously accepted
-        type Alias2: PubTrAux1<Priv> = u8;
-        //~^ WARN private type `Priv` in public interface
-        //~| WARN this was previously accepted
-        type Alias3: PubTrAux2<A = Priv> = u8;
-        //~^ WARN private type `Priv` in public interface
-        //~| WARN this was previously accepted
-
-        type Alias4 = Priv;
-        //~^ ERROR private type `Priv` in public interface
-
-        type Exist;
-        fn infer_exist() -> Self::Exist;
-    }
-    impl PubTr for u8 {
-        type Alias1 = Priv;
-        //~^ ERROR private type `Priv` in public interface
-
-        type Exist = impl PrivTr;
-        //~^ ERROR private trait `PrivTr` in public interface
-        fn infer_exist() -> Self::Exist {
-            Priv
-        }
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-in-public-assoc-ty.stderr b/src/test/ui/privacy/private-in-public-assoc-ty.stderr
deleted file mode 100644
index a59027d81d2..00000000000
--- a/src/test/ui/privacy/private-in-public-assoc-ty.stderr
+++ /dev/null
@@ -1,68 +0,0 @@
-error[E0446]: private type `Priv` in public interface
-  --> $DIR/private-in-public-assoc-ty.rs:17:9
-   |
-LL |     struct Priv;
-   |     ----------- `Priv` declared as private
-...
-LL |         type A = Priv;
-   |         ^^^^^^ can't leak private type
-
-warning: private trait `PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-assoc-ty.rs:24:9
-   |
-LL |         type Alias1: PrivTr;
-   |         ^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-   = note: `#[warn(private_in_public)]` on by default
-
-warning: private type `Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-assoc-ty.rs:27:9
-   |
-LL |         type Alias2: PubTrAux1<Priv> = u8;
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-warning: private type `Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-assoc-ty.rs:30:9
-   |
-LL |         type Alias3: PubTrAux2<A = Priv> = u8;
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error[E0446]: private type `Priv` in public interface
-  --> $DIR/private-in-public-assoc-ty.rs:34:9
-   |
-LL |     struct Priv;
-   |     ----------- `Priv` declared as private
-...
-LL |         type Alias4 = Priv;
-   |         ^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `Priv` in public interface
-  --> $DIR/private-in-public-assoc-ty.rs:41:9
-   |
-LL |     struct Priv;
-   |     ----------- `Priv` declared as private
-...
-LL |         type Alias1 = Priv;
-   |         ^^^^^^^^^^^ can't leak private type
-
-error[E0445]: private trait `PrivTr` in public interface
-  --> $DIR/private-in-public-assoc-ty.rs:44:9
-   |
-LL |     trait PrivTr {}
-   |     ------------ `PrivTr` declared as private
-...
-LL |         type Exist = impl PrivTr;
-   |         ^^^^^^^^^^ can't leak private trait
-
-error: aborting due to 4 previous errors; 3 warnings emitted
-
-Some errors have detailed explanations: E0445, E0446.
-For more information about an error, try `rustc --explain E0445`.
diff --git a/src/test/ui/privacy/private-in-public-expr-pat.rs b/src/test/ui/privacy/private-in-public-expr-pat.rs
deleted file mode 100644
index 5c9ecd13b09..00000000000
--- a/src/test/ui/privacy/private-in-public-expr-pat.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// Patterns and expressions are not interface parts and don't produce private-in-public errors.
-
-// build-pass (FIXME(62277): could be check-pass?)
-
-struct Priv1(usize);
-struct Priv2;
-
-pub struct Pub(Priv2);
-
-pub fn public_expr(_: [u8; Priv1(0).0]) {} // OK
-pub fn public_pat(Pub(Priv2): Pub) {} // OK
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-in-public-ill-formed.rs b/src/test/ui/privacy/private-in-public-ill-formed.rs
deleted file mode 100644
index 031e2874a2b..00000000000
--- a/src/test/ui/privacy/private-in-public-ill-formed.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-mod aliases_pub {
-    struct Priv;
-    mod m {
-        pub struct Pub3;
-    }
-
-    trait PrivTr {
-        type AssocAlias;
-    }
-    impl PrivTr for Priv {
-        type AssocAlias = m::Pub3;
-    }
-
-    impl <Priv as PrivTr>::AssocAlias {
-        //~^ ERROR no nominal type found for inherent implementation
-        pub fn f(arg: Priv) {} // private type `aliases_pub::Priv` in public interface
-    }
-}
-
-mod aliases_priv {
-    struct Priv;
-    struct Priv3;
-
-    trait PrivTr {
-        type AssocAlias;
-    }
-    impl PrivTr for Priv {
-        type AssocAlias = Priv3;
-    }
-
-    impl <Priv as PrivTr>::AssocAlias {
-        //~^ ERROR no nominal type found for inherent implementation
-        pub fn f(arg: Priv) {} // OK
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-in-public-ill-formed.stderr b/src/test/ui/privacy/private-in-public-ill-formed.stderr
deleted file mode 100644
index e7c94bc301b..00000000000
--- a/src/test/ui/privacy/private-in-public-ill-formed.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0118]: no nominal type found for inherent implementation
-  --> $DIR/private-in-public-ill-formed.rs:14:10
-   |
-LL |     impl <Priv as PrivTr>::AssocAlias {
-   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl requires a nominal type
-   |
-   = note: either implement a trait on it or create a newtype to wrap it instead
-
-error[E0118]: no nominal type found for inherent implementation
-  --> $DIR/private-in-public-ill-formed.rs:31:10
-   |
-LL |     impl <Priv as PrivTr>::AssocAlias {
-   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl requires a nominal type
-   |
-   = note: either implement a trait on it or create a newtype to wrap it instead
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0118`.
diff --git a/src/test/ui/privacy/private-in-public-lint.rs b/src/test/ui/privacy/private-in-public-lint.rs
deleted file mode 100644
index 8b6e4360160..00000000000
--- a/src/test/ui/privacy/private-in-public-lint.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-mod m1 {
-    pub struct Pub;
-    struct Priv;
-
-    impl Pub {
-        pub fn f() -> Priv {Priv} //~ ERROR private type `m1::Priv` in public interface
-    }
-}
-
-mod m2 {
-    pub struct Pub;
-    struct Priv;
-
-    impl Pub {
-        pub fn f() -> Priv {Priv} //~ ERROR private type `m2::Priv` in public interface
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-in-public-lint.stderr b/src/test/ui/privacy/private-in-public-lint.stderr
deleted file mode 100644
index 1e98e3bed14..00000000000
--- a/src/test/ui/privacy/private-in-public-lint.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0446]: private type `m1::Priv` in public interface
-  --> $DIR/private-in-public-lint.rs:6:9
-   |
-LL |     struct Priv;
-   |     ----------- `m1::Priv` declared as private
-...
-LL |         pub fn f() -> Priv {Priv}
-   |         ^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `m2::Priv` in public interface
-  --> $DIR/private-in-public-lint.rs:15:9
-   |
-LL |     struct Priv;
-   |     ----------- `m2::Priv` declared as private
-...
-LL |         pub fn f() -> Priv {Priv}
-   |         ^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0446`.
diff --git a/src/test/ui/privacy/private-in-public-non-principal-2.rs b/src/test/ui/privacy/private-in-public-non-principal-2.rs
deleted file mode 100644
index db451d33429..00000000000
--- a/src/test/ui/privacy/private-in-public-non-principal-2.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-#![feature(auto_traits)]
-#![feature(negative_impls)]
-
-#[allow(private_in_public)]
-mod m {
-    pub trait PubPrincipal {}
-    auto trait PrivNonPrincipal {}
-    pub fn leak_dyn_nonprincipal() -> Box<dyn PubPrincipal + PrivNonPrincipal> { loop {} }
-}
-
-fn main() {
-    m::leak_dyn_nonprincipal();
-    //~^ ERROR trait `PrivNonPrincipal` is private
-}
diff --git a/src/test/ui/privacy/private-in-public-non-principal-2.stderr b/src/test/ui/privacy/private-in-public-non-principal-2.stderr
deleted file mode 100644
index 7cc8bf0de2b..00000000000
--- a/src/test/ui/privacy/private-in-public-non-principal-2.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: trait `PrivNonPrincipal` is private
-  --> $DIR/private-in-public-non-principal-2.rs:12:5
-   |
-LL |     m::leak_dyn_nonprincipal();
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ private trait
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/privacy/private-in-public-non-principal.rs b/src/test/ui/privacy/private-in-public-non-principal.rs
deleted file mode 100644
index ac1d5a9e6a2..00000000000
--- a/src/test/ui/privacy/private-in-public-non-principal.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-#![feature(auto_traits)]
-#![feature(negative_impls)]
-
-pub trait PubPrincipal {}
-auto trait PrivNonPrincipal {}
-
-pub fn leak_dyn_nonprincipal() -> Box<dyn PubPrincipal + PrivNonPrincipal> { loop {} }
-//~^ WARN private trait `PrivNonPrincipal` in public interface
-//~| WARN this was previously accepted
-
-#[deny(missing_docs)]
-fn container() {
-    impl dyn PubPrincipal {
-        pub fn check_doc_lint() {} //~ ERROR missing documentation for an associated function
-    }
-    impl dyn PubPrincipal + PrivNonPrincipal {
-        pub fn check_doc_lint() {} // OK, no missing doc lint
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-in-public-non-principal.stderr b/src/test/ui/privacy/private-in-public-non-principal.stderr
deleted file mode 100644
index de20cada42e..00000000000
--- a/src/test/ui/privacy/private-in-public-non-principal.stderr
+++ /dev/null
@@ -1,24 +0,0 @@
-warning: private trait `PrivNonPrincipal` in public interface (error E0445)
-  --> $DIR/private-in-public-non-principal.rs:7:1
-   |
-LL | pub fn leak_dyn_nonprincipal() -> Box<dyn PubPrincipal + PrivNonPrincipal> { loop {} }
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-   = note: `#[warn(private_in_public)]` on by default
-
-error: missing documentation for an associated function
-  --> $DIR/private-in-public-non-principal.rs:14:9
-   |
-LL |         pub fn check_doc_lint() {}
-   |         ^^^^^^^^^^^^^^^^^^^^^^^
-   |
-note: the lint level is defined here
-  --> $DIR/private-in-public-non-principal.rs:11:8
-   |
-LL | #[deny(missing_docs)]
-   |        ^^^^^^^^^^^^
-
-error: aborting due to previous error; 1 warning emitted
-
diff --git a/src/test/ui/privacy/private-in-public-type-alias-impl-trait.rs b/src/test/ui/privacy/private-in-public-type-alias-impl-trait.rs
deleted file mode 100644
index c7df31529bc..00000000000
--- a/src/test/ui/privacy/private-in-public-type-alias-impl-trait.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-// build-pass (FIXME(62277): could be check-pass?)
-
-#![feature(type_alias_impl_trait)]
-#![deny(private_in_public)]
-
-pub type Pub = impl Default;
-
-#[derive(Default)]
-struct Priv;
-
-fn check() -> Pub {
-    Priv
-}
-
-pub trait Trait {
-    type Pub: Default;
-    fn method() -> Self::Pub;
-}
-
-impl Trait for u8 {
-    type Pub = impl Default;
-    fn method() -> Self::Pub {
-        Priv
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-in-public-warn.rs b/src/test/ui/privacy/private-in-public-warn.rs
deleted file mode 100644
index 0fa1de975b0..00000000000
--- a/src/test/ui/privacy/private-in-public-warn.rs
+++ /dev/null
@@ -1,280 +0,0 @@
-// Private types and traits are not allowed in public interfaces.
-// This test also ensures that the checks are performed even inside private modules.
-
-#![feature(associated_type_defaults)]
-#![deny(private_in_public)]
-#![allow(improper_ctypes)]
-
-mod types {
-    struct Priv;
-    pub struct Pub;
-    pub trait PubTr {
-        type Alias;
-    }
-
-    pub type Alias = Priv; //~ ERROR private type `types::Priv` in public interface
-    //~^ WARNING hard error
-    pub enum E {
-        V1(Priv), //~ ERROR private type `types::Priv` in public interface
-        //~^ WARNING hard error
-        V2 { field: Priv }, //~ ERROR private type `types::Priv` in public interface
-        //~^ WARNING hard error
-    }
-    pub trait Tr {
-        const C: Priv = Priv; //~ ERROR private type `types::Priv` in public interface
-        //~^ WARNING hard error
-        type Alias = Priv; //~ ERROR private type `types::Priv` in public interface
-        fn f1(arg: Priv) {} //~ ERROR private type `types::Priv` in public interface
-        //~^ WARNING hard error
-        fn f2() -> Priv { panic!() } //~ ERROR private type `types::Priv` in public interface
-        //~^ WARNING hard error
-    }
-    extern "C" {
-        pub static ES: Priv; //~ ERROR private type `types::Priv` in public interface
-        //~^ WARNING hard error
-        pub fn ef1(arg: Priv); //~ ERROR private type `types::Priv` in public interface
-        //~^ WARNING hard error
-        pub fn ef2() -> Priv; //~ ERROR private type `types::Priv` in public interface
-        //~^ WARNING hard error
-    }
-    impl PubTr for Pub {
-        type Alias = Priv; //~ ERROR private type `types::Priv` in public interface
-    }
-}
-
-mod traits {
-    trait PrivTr {}
-    pub struct Pub<T>(T);
-    pub trait PubTr {}
-
-    pub type Alias<T: PrivTr> = T; //~ ERROR private trait `traits::PrivTr` in public interface
-    //~| WARNING hard error
-    //~| WARNING bounds on generic parameters are not enforced in type aliases
-    pub trait Tr1: PrivTr {} //~ ERROR private trait `traits::PrivTr` in public interface
-    //~^ WARNING hard error
-    pub trait Tr2<T: PrivTr> {} //~ ERROR private trait `traits::PrivTr` in public interface
-        //~^ WARNING hard error
-    pub trait Tr3 {
-        type Alias: PrivTr;
-        //~^ ERROR private trait `traits::PrivTr` in public interface
-        //~| WARNING hard error
-        fn f<T: PrivTr>(arg: T) {} //~ ERROR private trait `traits::PrivTr` in public interface
-        //~^ WARNING hard error
-    }
-    impl<T: PrivTr> Pub<T> {} //~ ERROR private trait `traits::PrivTr` in public interface
-        //~^ WARNING hard error
-    impl<T: PrivTr> PubTr for Pub<T> {} // OK, trait impl predicates
-}
-
-mod traits_where {
-    trait PrivTr {}
-    pub struct Pub<T>(T);
-    pub trait PubTr {}
-
-    pub type Alias<T> where T: PrivTr = T;
-        //~^ ERROR private trait `traits_where::PrivTr` in public interface
-        //~| WARNING hard error
-        //~| WARNING where clauses are not enforced in type aliases
-    pub trait Tr2<T> where T: PrivTr {}
-        //~^ ERROR private trait `traits_where::PrivTr` in public interface
-        //~| WARNING hard error
-    pub trait Tr3 {
-        fn f<T>(arg: T) where T: PrivTr {}
-        //~^ ERROR private trait `traits_where::PrivTr` in public interface
-        //~| WARNING hard error
-    }
-    impl<T> Pub<T> where T: PrivTr {}
-        //~^ ERROR private trait `traits_where::PrivTr` in public interface
-        //~| WARNING hard error
-    impl<T> PubTr for Pub<T> where T: PrivTr {} // OK, trait impl predicates
-}
-
-mod generics {
-    struct Priv<T = u8>(T);
-    pub struct Pub<T = u8>(T);
-    trait PrivTr<T> {}
-    pub trait PubTr<T> {}
-
-    pub trait Tr1: PrivTr<Pub> {}
-        //~^ ERROR private trait `generics::PrivTr<generics::Pub>` in public interface
-        //~| WARNING hard error
-    pub trait Tr2: PubTr<Priv> {} //~ ERROR private type `generics::Priv` in public interface
-        //~^ WARNING hard error
-    pub trait Tr3: PubTr<[Priv; 1]> {} //~ ERROR private type `generics::Priv` in public interface
-        //~^ WARNING hard error
-    pub trait Tr4: PubTr<Pub<Priv>> {} //~ ERROR private type `generics::Priv` in public interface
-        //~^ WARNING hard error
-}
-
-mod impls {
-    struct Priv;
-    pub struct Pub;
-    trait PrivTr {
-        type Alias;
-    }
-    pub trait PubTr {
-        type Alias;
-    }
-
-    impl Priv {
-        pub fn f(arg: Priv) {} // OK
-    }
-    impl PrivTr for Priv {
-        type Alias = Priv; // OK
-    }
-    impl PubTr for Priv {
-        type Alias = Priv; // OK
-    }
-    impl PrivTr for Pub {
-        type Alias = Priv; // OK
-    }
-    impl PubTr for Pub {
-        type Alias = Priv; //~ ERROR private type `impls::Priv` in public interface
-    }
-}
-
-mod impls_generics {
-    struct Priv<T = u8>(T);
-    pub struct Pub<T = u8>(T);
-    trait PrivTr<T = u8> {
-        type Alias;
-    }
-    pub trait PubTr<T = u8> {
-        type Alias;
-    }
-
-    impl Priv<Pub> {
-        pub fn f(arg: Priv) {} // OK
-    }
-    impl Pub<Priv> {
-        pub fn f(arg: Priv) {} // OK
-    }
-    impl PrivTr<Pub> for Priv {
-        type Alias = Priv; // OK
-    }
-    impl PubTr<Priv> for Priv {
-        type Alias = Priv; // OK
-    }
-    impl PubTr for Priv<Pub> {
-        type Alias = Priv; // OK
-    }
-    impl PubTr for [Priv; 1] {
-        type Alias = Priv; // OK
-    }
-    impl PubTr for Pub<Priv> {
-        type Alias = Priv; // OK
-    }
-    impl PrivTr<Pub> for Pub {
-        type Alias = Priv; // OK
-    }
-    impl PubTr<Priv> for Pub {
-        type Alias = Priv; // OK
-    }
-}
-
-mod aliases_pub {
-    struct Priv;
-    mod m {
-        pub struct Pub1;
-        pub struct Pub2;
-        pub struct Pub3;
-        pub trait PubTr<T = u8> {
-            type Check = u8;
-        }
-    }
-
-    use self::m::Pub1 as PrivUseAlias;
-    use self::m::PubTr as PrivUseAliasTr;
-    type PrivAlias = m::Pub2;
-    trait PrivTr {
-        type AssocAlias;
-    }
-    impl PrivTr for Priv {
-        type AssocAlias = m::Pub3;
-    }
-
-    pub fn f1(arg: PrivUseAlias) {} // OK
-    pub fn f2(arg: PrivAlias) {} // OK
-
-    pub trait Tr1: PrivUseAliasTr {} // OK
-    pub trait Tr2: PrivUseAliasTr<PrivAlias> {} // OK
-
-    impl PrivAlias {
-        pub fn f(arg: Priv) {} //~ ERROR private type `aliases_pub::Priv` in public interface
-        //~^ WARNING hard error
-    }
-    impl PrivUseAliasTr for PrivUseAlias {
-        type Check = Priv; //~ ERROR private type `aliases_pub::Priv` in public interface
-    }
-    impl PrivUseAliasTr for PrivAlias {
-        type Check = Priv; //~ ERROR private type `aliases_pub::Priv` in public interface
-    }
-    impl PrivUseAliasTr for <Priv as PrivTr>::AssocAlias {
-        type Check = Priv; //~ ERROR private type `aliases_pub::Priv` in public interface
-    }
-    impl PrivUseAliasTr for Option<<Priv as PrivTr>::AssocAlias> {
-        type Check = Priv; //~ ERROR private type `aliases_pub::Priv` in public interface
-    }
-    impl PrivUseAliasTr for (<Priv as PrivTr>::AssocAlias, Priv) {
-        type Check = Priv; // OK
-    }
-    impl PrivUseAliasTr for Option<(<Priv as PrivTr>::AssocAlias, Priv)> {
-        type Check = Priv; // OK
-    }
-}
-
-mod aliases_priv {
-    struct Priv;
-
-    struct Priv1;
-    struct Priv2;
-    struct Priv3;
-    trait PrivTr1<T = u8> {
-        type Check = u8;
-    }
-
-    use self::Priv1 as PrivUseAlias;
-    use self::PrivTr1 as PrivUseAliasTr;
-    type PrivAlias = Priv2;
-    trait PrivTr {
-        type AssocAlias;
-    }
-    impl PrivTr for Priv {
-        type AssocAlias = Priv3;
-    }
-
-    pub trait Tr1: PrivUseAliasTr {}
-        //~^ ERROR private trait `PrivTr1` in public interface
-        //~| WARNING hard error
-    pub trait Tr2: PrivUseAliasTr<PrivAlias> {}
-        //~^ ERROR private trait `PrivTr1<Priv2>` in public interface
-        //~| WARNING hard error
-        //~| ERROR private type `Priv2` in public interface
-        //~| WARNING hard error
-
-    impl PrivUseAlias {
-        pub fn f(arg: Priv) {} // OK
-    }
-    impl PrivAlias {
-        pub fn f(arg: Priv) {} // OK
-    }
-    impl PrivUseAliasTr for PrivUseAlias {
-        type Check = Priv; // OK
-    }
-    impl PrivUseAliasTr for PrivAlias {
-        type Check = Priv; // OK
-    }
-    impl PrivUseAliasTr for <Priv as PrivTr>::AssocAlias {
-        type Check = Priv; // OK
-    }
-}
-
-mod aliases_params {
-    struct Priv;
-    type PrivAliasGeneric<T = Priv> = T;
-    type Result<T> = ::std::result::Result<T, Priv>;
-
-    pub fn f1(arg: PrivAliasGeneric<u8>) {} // OK, not an error
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-in-public-warn.stderr b/src/test/ui/privacy/private-in-public-warn.stderr
deleted file mode 100644
index 66f91ce6fd6..00000000000
--- a/src/test/ui/privacy/private-in-public-warn.stderr
+++ /dev/null
@@ -1,339 +0,0 @@
-error: private type `types::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:15:5
-   |
-LL |     pub type Alias = Priv;
-   |     ^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-note: the lint level is defined here
-  --> $DIR/private-in-public-warn.rs:5:9
-   |
-LL | #![deny(private_in_public)]
-   |         ^^^^^^^^^^^^^^^^^
-
-error: private type `types::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:18:12
-   |
-LL |         V1(Priv),
-   |            ^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `types::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:20:14
-   |
-LL |         V2 { field: Priv },
-   |              ^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `types::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:24:9
-   |
-LL |         const C: Priv = Priv;
-   |         ^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public-warn.rs:26:9
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |         type Alias = Priv;
-   |         ^^^^^^^^^^ can't leak private type
-
-error: private type `types::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:27:9
-   |
-LL |         fn f1(arg: Priv) {}
-   |         ^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `types::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:29:9
-   |
-LL |         fn f2() -> Priv { panic!() }
-   |         ^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `types::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:33:9
-   |
-LL |         pub static ES: Priv;
-   |         ^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `types::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:35:9
-   |
-LL |         pub fn ef1(arg: Priv);
-   |         ^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `types::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:37:9
-   |
-LL |         pub fn ef2() -> Priv;
-   |         ^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public-warn.rs:41:9
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |         type Alias = Priv;
-   |         ^^^^^^^^^^ can't leak private type
-
-error: private trait `traits::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:50:5
-   |
-LL |     pub type Alias<T: PrivTr> = T;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `traits::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:53:5
-   |
-LL |     pub trait Tr1: PrivTr {}
-   |     ^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `traits::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:55:5
-   |
-LL |     pub trait Tr2<T: PrivTr> {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `traits::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:58:9
-   |
-LL |         type Alias: PrivTr;
-   |         ^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `traits::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:61:9
-   |
-LL |         fn f<T: PrivTr>(arg: T) {}
-   |         ^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `traits::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:64:5
-   |
-LL |     impl<T: PrivTr> Pub<T> {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `traits_where::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:74:5
-   |
-LL |     pub type Alias<T> where T: PrivTr = T;
-   |     ^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `traits_where::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:78:5
-   |
-LL |     pub trait Tr2<T> where T: PrivTr {}
-   |     ^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `traits_where::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:82:9
-   |
-LL |         fn f<T>(arg: T) where T: PrivTr {}
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `traits_where::PrivTr` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:86:5
-   |
-LL |     impl<T> Pub<T> where T: PrivTr {}
-   |     ^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `generics::PrivTr<generics::Pub>` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:98:5
-   |
-LL |     pub trait Tr1: PrivTr<Pub> {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `generics::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:101:5
-   |
-LL |     pub trait Tr2: PubTr<Priv> {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `generics::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:103:5
-   |
-LL |     pub trait Tr3: PubTr<[Priv; 1]> {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `generics::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:105:5
-   |
-LL |     pub trait Tr4: PubTr<Pub<Priv>> {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error[E0446]: private type `impls::Priv` in public interface
-  --> $DIR/private-in-public-warn.rs:132:9
-   |
-LL |     struct Priv;
-   |     ----------- `impls::Priv` declared as private
-...
-LL |         type Alias = Priv;
-   |         ^^^^^^^^^^ can't leak private type
-
-error: private type `aliases_pub::Priv` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:203:9
-   |
-LL |         pub fn f(arg: Priv) {}
-   |         ^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error[E0446]: private type `aliases_pub::Priv` in public interface
-  --> $DIR/private-in-public-warn.rs:207:9
-   |
-LL |     struct Priv;
-   |     ----------- `aliases_pub::Priv` declared as private
-...
-LL |         type Check = Priv;
-   |         ^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `aliases_pub::Priv` in public interface
-  --> $DIR/private-in-public-warn.rs:210:9
-   |
-LL |     struct Priv;
-   |     ----------- `aliases_pub::Priv` declared as private
-...
-LL |         type Check = Priv;
-   |         ^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `aliases_pub::Priv` in public interface
-  --> $DIR/private-in-public-warn.rs:213:9
-   |
-LL |     struct Priv;
-   |     ----------- `aliases_pub::Priv` declared as private
-...
-LL |         type Check = Priv;
-   |         ^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `aliases_pub::Priv` in public interface
-  --> $DIR/private-in-public-warn.rs:216:9
-   |
-LL |     struct Priv;
-   |     ----------- `aliases_pub::Priv` declared as private
-...
-LL |         type Check = Priv;
-   |         ^^^^^^^^^^ can't leak private type
-
-error: private trait `PrivTr1` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:246:5
-   |
-LL |     pub trait Tr1: PrivUseAliasTr {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private trait `PrivTr1<Priv2>` in public interface (error E0445)
-  --> $DIR/private-in-public-warn.rs:249:5
-   |
-LL |     pub trait Tr2: PrivUseAliasTr<PrivAlias> {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error: private type `Priv2` in public interface (error E0446)
-  --> $DIR/private-in-public-warn.rs:249:5
-   |
-LL |     pub trait Tr2: PrivUseAliasTr<PrivAlias> {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-warning: bounds on generic parameters are not enforced in type aliases
-  --> $DIR/private-in-public-warn.rs:50:23
-   |
-LL |     pub type Alias<T: PrivTr> = T;
-   |                       ^^^^^^
-   |
-   = note: `#[warn(type_alias_bounds)]` on by default
-help: the bound will not be checked when the type alias is used, and should be removed
-   |
-LL -     pub type Alias<T: PrivTr> = T;
-LL +     pub type Alias<T> = T;
-   |
-
-warning: where clauses are not enforced in type aliases
-  --> $DIR/private-in-public-warn.rs:74:29
-   |
-LL |     pub type Alias<T> where T: PrivTr = T;
-   |                             ^^^^^^^^^
-   |
-help: the clause will not be checked when the type alias is used, and should be removed
-   |
-LL -     pub type Alias<T> where T: PrivTr = T;
-LL +     pub type Alias<T>  = T;
-   |
-
-error: aborting due to 34 previous errors; 2 warnings emitted
-
-For more information about this error, try `rustc --explain E0446`.
diff --git a/src/test/ui/privacy/private-in-public.rs b/src/test/ui/privacy/private-in-public.rs
deleted file mode 100644
index dbd1c483f81..00000000000
--- a/src/test/ui/privacy/private-in-public.rs
+++ /dev/null
@@ -1,148 +0,0 @@
-// Private types and traits are not allowed in public interfaces.
-// This test also ensures that the checks are performed even inside private modules.
-
-#![feature(associated_type_defaults)]
-
-mod types {
-    struct Priv;
-    pub struct Pub;
-    pub trait PubTr {
-        type Alias;
-    }
-
-    pub const C: Priv = Priv; //~ ERROR private type `types::Priv` in public interface
-    pub static S: Priv = Priv; //~ ERROR private type `types::Priv` in public interface
-    pub fn f1(arg: Priv) {} //~ ERROR private type `types::Priv` in public interface
-    pub fn f2() -> Priv { panic!() } //~ ERROR private type `types::Priv` in public interface
-    pub struct S1(pub Priv); //~ ERROR private type `types::Priv` in public interface
-    pub struct S2 { pub field: Priv } //~ ERROR private type `types::Priv` in public interface
-    impl Pub {
-        pub const C: Priv = Priv; //~ ERROR private type `types::Priv` in public interface
-        pub fn f1(arg: Priv) {} //~ ERROR private type `types::Priv` in public interface
-        pub fn f2() -> Priv { panic!() } //~ ERROR private type `types::Priv` in public interface
-    }
-}
-
-mod traits {
-    trait PrivTr {}
-    pub struct Pub<T>(T);
-    pub trait PubTr {}
-
-    pub enum E<T: PrivTr> { V(T) } //~ ERROR private trait `traits::PrivTr` in public interface
-    pub fn f<T: PrivTr>(arg: T) {} //~ ERROR private trait `traits::PrivTr` in public interface
-    pub struct S1<T: PrivTr>(T); //~ ERROR private trait `traits::PrivTr` in public interface
-    impl<T: PrivTr> Pub<T> { //~ ERROR private trait `traits::PrivTr` in public interface
-        pub fn f<U: PrivTr>(arg: U) {} //~ ERROR private trait `traits::PrivTr` in public interface
-    }
-}
-
-mod traits_where {
-    trait PrivTr {}
-    pub struct Pub<T>(T);
-    pub trait PubTr {}
-
-    pub enum E<T> where T: PrivTr { V(T) }
-    //~^ ERROR private trait `traits_where::PrivTr` in public interface
-    pub fn f<T>(arg: T) where T: PrivTr {}
-    //~^ ERROR private trait `traits_where::PrivTr` in public interface
-    pub struct S1<T>(T) where T: PrivTr;
-    //~^ ERROR private trait `traits_where::PrivTr` in public interface
-    impl<T> Pub<T> where T: PrivTr {
-    //~^ ERROR private trait `traits_where::PrivTr` in public interface
-        pub fn f<U>(arg: U) where U: PrivTr {}
-        //~^ ERROR private trait `traits_where::PrivTr` in public interface
-    }
-}
-
-mod generics {
-    struct Priv<T = u8>(T);
-    pub struct Pub<T = u8>(T);
-    trait PrivTr<T> {}
-    pub trait PubTr<T> {}
-
-    pub fn f1(arg: [Priv; 1]) {} //~ ERROR private type `generics::Priv` in public interface
-    pub fn f2(arg: Pub<Priv>) {} //~ ERROR private type `generics::Priv` in public interface
-    pub fn f3(arg: Priv<Pub>) {}
-    //~^ ERROR private type `generics::Priv<generics::Pub>` in public interface
-}
-
-mod impls {
-    struct Priv;
-    pub struct Pub;
-    trait PrivTr {
-        type Alias;
-    }
-    pub trait PubTr {
-        type Alias;
-    }
-
-    impl Pub {
-        pub fn f(arg: Priv) {} //~ ERROR private type `impls::Priv` in public interface
-    }
-}
-
-mod aliases_pub {
-    struct Priv;
-    mod m {
-        pub struct Pub1;
-        pub struct Pub2;
-        pub struct Pub3;
-        pub trait PubTr<T = u8> {
-            type Check = u8;
-        }
-    }
-
-    use self::m::Pub1 as PrivUseAlias;
-    use self::m::PubTr as PrivUseAliasTr;
-    type PrivAlias = m::Pub2;
-    trait PrivTr {
-        type Assoc = m::Pub3;
-    }
-    impl PrivTr for Priv {}
-
-    // This should be OK, but associated type aliases are not substituted yet
-    pub fn f3(arg: <Priv as PrivTr>::Assoc) {}
-    //~^ ERROR private trait `aliases_pub::PrivTr` in public interface
-    //~| ERROR private type `aliases_pub::Priv` in public interface
-
-    impl PrivUseAlias {
-        pub fn f(arg: Priv) {} //~ ERROR private type `aliases_pub::Priv` in public interface
-    }
-}
-
-mod aliases_priv {
-    struct Priv;
-
-    struct Priv1;
-    struct Priv2;
-    struct Priv3;
-    trait PrivTr1<T = u8> {
-        type Check = u8;
-    }
-
-    use self::Priv1 as PrivUseAlias;
-    use self::PrivTr1 as PrivUseAliasTr;
-    type PrivAlias = Priv2;
-    trait PrivTr {
-        type Assoc = Priv3;
-    }
-    impl PrivTr for Priv {}
-
-    pub fn f1(arg: PrivUseAlias) {} //~ ERROR private type `Priv1` in public interface
-    pub fn f2(arg: PrivAlias) {} //~ ERROR private type `Priv2` in public interface
-    pub fn f3(arg: <Priv as PrivTr>::Assoc) {}
-    //~^ ERROR private trait `aliases_priv::PrivTr` in public interface
-    //~| ERROR private type `aliases_priv::Priv` in public interface
-}
-
-mod aliases_params {
-    struct Priv;
-    type PrivAliasGeneric<T = Priv> = T;
-    type Result<T> = ::std::result::Result<T, Priv>;
-
-    pub fn f2(arg: PrivAliasGeneric) {}
-    //~^ ERROR private type `aliases_params::Priv` in public interface
-    pub fn f3(arg: Result<u8>) {} //~ ERROR private type `aliases_params::Priv` in public interface
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-in-public.stderr b/src/test/ui/privacy/private-in-public.stderr
deleted file mode 100644
index 887eebf53ef..00000000000
--- a/src/test/ui/privacy/private-in-public.stderr
+++ /dev/null
@@ -1,292 +0,0 @@
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public.rs:13:5
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |     pub const C: Priv = Priv;
-   |     ^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public.rs:14:5
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |     pub static S: Priv = Priv;
-   |     ^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public.rs:15:5
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |     pub fn f1(arg: Priv) {}
-   |     ^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public.rs:16:5
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |     pub fn f2() -> Priv { panic!() }
-   |     ^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public.rs:17:19
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |     pub struct S1(pub Priv);
-   |                   ^^^^^^^^ can't leak private type
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public.rs:18:21
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |     pub struct S2 { pub field: Priv }
-   |                     ^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public.rs:20:9
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |         pub const C: Priv = Priv;
-   |         ^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public.rs:21:9
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |         pub fn f1(arg: Priv) {}
-   |         ^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `types::Priv` in public interface
-  --> $DIR/private-in-public.rs:22:9
-   |
-LL |     struct Priv;
-   |     ----------- `types::Priv` declared as private
-...
-LL |         pub fn f2() -> Priv { panic!() }
-   |         ^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0445]: private trait `traits::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:31:5
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits::PrivTr` declared as private
-...
-LL |     pub enum E<T: PrivTr> { V(T) }
-   |     ^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `traits::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:32:5
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits::PrivTr` declared as private
-...
-LL |     pub fn f<T: PrivTr>(arg: T) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `traits::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:33:5
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits::PrivTr` declared as private
-...
-LL |     pub struct S1<T: PrivTr>(T);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `traits::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:34:5
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits::PrivTr` declared as private
-...
-LL |     impl<T: PrivTr> Pub<T> {
-   |     ^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `traits::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:35:9
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits::PrivTr` declared as private
-...
-LL |         pub fn f<U: PrivTr>(arg: U) {}
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `traits_where::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:44:5
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits_where::PrivTr` declared as private
-...
-LL |     pub enum E<T> where T: PrivTr { V(T) }
-   |     ^^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `traits_where::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:46:5
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits_where::PrivTr` declared as private
-...
-LL |     pub fn f<T>(arg: T) where T: PrivTr {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `traits_where::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:48:5
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits_where::PrivTr` declared as private
-...
-LL |     pub struct S1<T>(T) where T: PrivTr;
-   |     ^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `traits_where::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:50:5
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits_where::PrivTr` declared as private
-...
-LL |     impl<T> Pub<T> where T: PrivTr {
-   |     ^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `traits_where::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:52:9
-   |
-LL |     trait PrivTr {}
-   |     ------------ `traits_where::PrivTr` declared as private
-...
-LL |         pub fn f<U>(arg: U) where U: PrivTr {}
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0446]: private type `generics::Priv` in public interface
-  --> $DIR/private-in-public.rs:63:5
-   |
-LL |     struct Priv<T = u8>(T);
-   |     ------------------- `generics::Priv` declared as private
-...
-LL |     pub fn f1(arg: [Priv; 1]) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `generics::Priv` in public interface
-  --> $DIR/private-in-public.rs:64:5
-   |
-LL |     struct Priv<T = u8>(T);
-   |     ------------------- `generics::Priv` declared as private
-...
-LL |     pub fn f2(arg: Pub<Priv>) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `generics::Priv<generics::Pub>` in public interface
-  --> $DIR/private-in-public.rs:65:5
-   |
-LL |     struct Priv<T = u8>(T);
-   |     ------------------- `generics::Priv<generics::Pub>` declared as private
-...
-LL |     pub fn f3(arg: Priv<Pub>) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `impls::Priv` in public interface
-  --> $DIR/private-in-public.rs:80:9
-   |
-LL |     struct Priv;
-   |     ----------- `impls::Priv` declared as private
-...
-LL |         pub fn f(arg: Priv) {}
-   |         ^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0445]: private trait `aliases_pub::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:104:5
-   |
-LL |     trait PrivTr {
-   |     ------------ `aliases_pub::PrivTr` declared as private
-...
-LL |     pub fn f3(arg: <Priv as PrivTr>::Assoc) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0446]: private type `aliases_pub::Priv` in public interface
-  --> $DIR/private-in-public.rs:104:5
-   |
-LL |     struct Priv;
-   |     ----------- `aliases_pub::Priv` declared as private
-...
-LL |     pub fn f3(arg: <Priv as PrivTr>::Assoc) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `aliases_pub::Priv` in public interface
-  --> $DIR/private-in-public.rs:109:9
-   |
-LL |     struct Priv;
-   |     ----------- `aliases_pub::Priv` declared as private
-...
-LL |         pub fn f(arg: Priv) {}
-   |         ^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `Priv1` in public interface
-  --> $DIR/private-in-public.rs:131:5
-   |
-LL |     struct Priv1;
-   |     ------------ `Priv1` declared as private
-...
-LL |     pub fn f1(arg: PrivUseAlias) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `Priv2` in public interface
-  --> $DIR/private-in-public.rs:132:5
-   |
-LL |     struct Priv2;
-   |     ------------ `Priv2` declared as private
-...
-LL |     pub fn f2(arg: PrivAlias) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0445]: private trait `aliases_priv::PrivTr` in public interface
-  --> $DIR/private-in-public.rs:133:5
-   |
-LL |     trait PrivTr {
-   |     ------------ `aliases_priv::PrivTr` declared as private
-...
-LL |     pub fn f3(arg: <Priv as PrivTr>::Assoc) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
-
-error[E0446]: private type `aliases_priv::Priv` in public interface
-  --> $DIR/private-in-public.rs:133:5
-   |
-LL |     struct Priv;
-   |     ----------- `aliases_priv::Priv` declared as private
-...
-LL |     pub fn f3(arg: <Priv as PrivTr>::Assoc) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `aliases_params::Priv` in public interface
-  --> $DIR/private-in-public.rs:143:5
-   |
-LL |     struct Priv;
-   |     ----------- `aliases_params::Priv` declared as private
-...
-LL |     pub fn f2(arg: PrivAliasGeneric) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `aliases_params::Priv` in public interface
-  --> $DIR/private-in-public.rs:145:5
-   |
-LL |     struct Priv;
-   |     ----------- `aliases_params::Priv` declared as private
-...
-LL |     pub fn f3(arg: Result<u8>) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error: aborting due to 32 previous errors
-
-Some errors have detailed explanations: E0445, E0446.
-For more information about an error, try `rustc --explain E0445`.
diff --git a/src/test/ui/privacy/private-inferred-type-1.rs b/src/test/ui/privacy/private-inferred-type-1.rs
deleted file mode 100644
index d633189e3fb..00000000000
--- a/src/test/ui/privacy/private-inferred-type-1.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-trait Arr0 {
-    fn arr0_secret(&self);
-}
-trait TyParam {
-    fn ty_param_secret(&self);
-}
-
-mod m {
-    struct Priv;
-
-    impl ::Arr0 for [Priv; 0] { fn arr0_secret(&self) {} }
-    impl ::TyParam for Option<Priv> { fn ty_param_secret(&self) {} }
-}
-
-fn main() {
-    [].arr0_secret(); //~ ERROR type `Priv` is private
-    None.ty_param_secret(); //~ ERROR type `Priv` is private
-}
diff --git a/src/test/ui/privacy/private-inferred-type-1.stderr b/src/test/ui/privacy/private-inferred-type-1.stderr
deleted file mode 100644
index 245789f4353..00000000000
--- a/src/test/ui/privacy/private-inferred-type-1.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: type `Priv` is private
-  --> $DIR/private-inferred-type-1.rs:16:5
-   |
-LL |     [].arr0_secret();
-   |     ^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type-1.rs:17:5
-   |
-LL |     None.ty_param_secret();
-   |     ^^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/privacy/private-inferred-type-2.rs b/src/test/ui/privacy/private-inferred-type-2.rs
deleted file mode 100644
index 15b263b3814..00000000000
--- a/src/test/ui/privacy/private-inferred-type-2.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// aux-build:private-inferred-type.rs
-
-extern crate private_inferred_type as ext;
-
-mod m {
-    struct Priv;
-    pub struct Pub<T>(pub T);
-
-    impl Pub<Priv> {
-        pub fn get_priv() -> Priv { Priv }
-        pub fn static_method() {}
-    }
-}
-
-fn main() {
-    m::Pub::get_priv; //~ ERROR type `Priv` is private
-    m::Pub::static_method; //~ ERROR type `Priv` is private
-    ext::Pub::static_method; //~ ERROR type `ext::Priv` is private
-}
diff --git a/src/test/ui/privacy/private-inferred-type-2.stderr b/src/test/ui/privacy/private-inferred-type-2.stderr
deleted file mode 100644
index 3a0fc03b4d5..00000000000
--- a/src/test/ui/privacy/private-inferred-type-2.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: type `Priv` is private
-  --> $DIR/private-inferred-type-2.rs:16:5
-   |
-LL |     m::Pub::get_priv;
-   |     ^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type-2.rs:17:5
-   |
-LL |     m::Pub::static_method;
-   |     ^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: type `ext::Priv` is private
-  --> $DIR/private-inferred-type-2.rs:18:5
-   |
-LL |     ext::Pub::static_method;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/privacy/private-inferred-type-3.rs b/src/test/ui/privacy/private-inferred-type-3.rs
deleted file mode 100644
index cdbdcf60b2c..00000000000
--- a/src/test/ui/privacy/private-inferred-type-3.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// aux-build:private-inferred-type.rs
-
-// error-pattern:type `fn() {ext::priv_fn}` is private
-// error-pattern:static `ext::PRIV_STATIC` is private
-// error-pattern:type `ext::PrivEnum` is private
-// error-pattern:type `fn() {<u8 as ext::PrivTrait>::method}` is private
-// error-pattern:type `fn(u8) -> ext::PrivTupleStruct {ext::PrivTupleStruct}` is private
-// error-pattern:type `fn(u8) -> PubTupleStruct {PubTupleStruct}` is private
-// error-pattern:type `for<'a> fn(&'a Pub<u8>) {Pub::<u8>::priv_method}` is private
-
-#![feature(decl_macro)]
-
-extern crate private_inferred_type as ext;
-
-fn main() {
-    ext::m!();
-}
diff --git a/src/test/ui/privacy/private-inferred-type-3.stderr b/src/test/ui/privacy/private-inferred-type-3.stderr
deleted file mode 100644
index 42faeb4bf34..00000000000
--- a/src/test/ui/privacy/private-inferred-type-3.stderr
+++ /dev/null
@@ -1,58 +0,0 @@
-error: type `fn() {ext::priv_fn}` is private
-  --> $DIR/private-inferred-type-3.rs:16:5
-   |
-LL |     ext::m!();
-   |     ^^^^^^^^^ private type
-   |
-   = note: this error originates in the macro `ext::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: static `ext::PRIV_STATIC` is private
-  --> $DIR/private-inferred-type-3.rs:16:5
-   |
-LL |     ext::m!();
-   |     ^^^^^^^^^ private static
-   |
-   = note: this error originates in the macro `ext::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `ext::PrivEnum` is private
-  --> $DIR/private-inferred-type-3.rs:16:5
-   |
-LL |     ext::m!();
-   |     ^^^^^^^^^ private type
-   |
-   = note: this error originates in the macro `ext::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `fn() {<u8 as ext::PrivTrait>::method}` is private
-  --> $DIR/private-inferred-type-3.rs:16:5
-   |
-LL |     ext::m!();
-   |     ^^^^^^^^^ private type
-   |
-   = note: this error originates in the macro `ext::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `fn(u8) -> ext::PrivTupleStruct {ext::PrivTupleStruct}` is private
-  --> $DIR/private-inferred-type-3.rs:16:5
-   |
-LL |     ext::m!();
-   |     ^^^^^^^^^ private type
-   |
-   = note: this error originates in the macro `ext::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `fn(u8) -> PubTupleStruct {PubTupleStruct}` is private
-  --> $DIR/private-inferred-type-3.rs:16:5
-   |
-LL |     ext::m!();
-   |     ^^^^^^^^^ private type
-   |
-   = note: this error originates in the macro `ext::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `for<'a> fn(&'a Pub<u8>) {Pub::<u8>::priv_method}` is private
-  --> $DIR/private-inferred-type-3.rs:16:5
-   |
-LL |     ext::m!();
-   |     ^^^^^^^^^ private type
-   |
-   = note: this error originates in the macro `ext::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 7 previous errors
-
diff --git a/src/test/ui/privacy/private-inferred-type.rs b/src/test/ui/privacy/private-inferred-type.rs
deleted file mode 100644
index e8743dd968f..00000000000
--- a/src/test/ui/privacy/private-inferred-type.rs
+++ /dev/null
@@ -1,133 +0,0 @@
-#![feature(decl_macro)]
-#![allow(private_in_public)]
-
-mod m {
-    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() {} }
-
-    #[derive(Clone, Copy)]
-    struct Priv;
-    pub type Alias = Priv;
-    pub struct Pub<T = Alias>(pub T);
-
-    impl Pub<Priv> {
-        pub fn static_method() {}
-        pub const INHERENT_ASSOC_CONST: u8 = 0;
-    }
-    impl<T> Pub<T> {
-        pub fn static_method_generic_self() {}
-        pub const INHERENT_ASSOC_CONST_GENERIC_SELF: u8 = 0;
-    }
-    impl Pub<u8> {
-        fn priv_method(&self) {}
-        pub fn method_with_substs<T>(&self) {}
-        pub fn method_with_priv_params(&self, _: Priv) {}
-    }
-    impl TraitWithAssocConst for Priv {}
-    impl TraitWithAssocTy for Priv { type AssocTy = u8; }
-
-    pub macro m() {
-        priv_fn; //~ ERROR type `fn() {priv_fn}` is private
-        PRIV_STATIC; // OK, not cross-crate
-        PrivEnum::Variant; //~ ERROR type `PrivEnum` is private
-        PubEnum::Variant; // OK
-        <u8 as PrivTrait>::method; //~ ERROR type `fn() {<u8 as PrivTrait>::method}` is private
-        <u8 as PubTrait>::method; // OK
-        PrivTupleStruct;
-        //~^ ERROR type `fn(u8) -> PrivTupleStruct {PrivTupleStruct}` is private
-        PubTupleStruct;
-        //~^ ERROR type `fn(u8) -> PubTupleStruct {PubTupleStruct}` is private
-        Pub(0u8).priv_method();
-        //~^ ERROR type `for<'a> fn(&'a Pub<u8>) {Pub::<u8>::priv_method}` is private
-    }
-
-    trait Trait {}
-    pub trait TraitWithTyParam<T> {}
-    pub trait TraitWithTyParam2<T> { fn pub_method() {} }
-    pub trait TraitWithAssocTy { type AssocTy; }
-    pub trait TraitWithAssocConst { const TRAIT_ASSOC_CONST: u8 = 0; }
-    impl Trait for u8 {}
-    impl<T> TraitWithTyParam<T> for u8 {}
-    impl TraitWithTyParam2<Priv> for u8 {}
-    impl TraitWithAssocTy for u8 { type AssocTy = Priv; }
-    //~^ ERROR private type `Priv` in public interface
-
-    pub fn leak_anon1() -> impl Trait + 'static { 0 }
-    pub fn leak_anon2() -> impl TraitWithTyParam<Alias> { 0 }
-    pub fn leak_anon3() -> impl TraitWithAssocTy<AssocTy = Alias> { 0 }
-
-    pub fn leak_dyn1() -> Box<dyn Trait + 'static> { Box::new(0) }
-    pub fn leak_dyn2() -> Box<dyn TraitWithTyParam<Alias>> { Box::new(0) }
-    pub fn leak_dyn3() -> Box<dyn TraitWithAssocTy<AssocTy = Alias>> { Box::new(0) }
-}
-
-mod adjust {
-    // Construct a chain of derefs with a private type in the middle
-    use std::ops::Deref;
-
-    pub struct S1;
-    struct S2;
-    pub type S2Alias = S2;
-    pub struct S3;
-
-    impl Deref for S1 {
-        type Target = S2Alias; //~ ERROR private type `S2` in public interface
-        fn deref(&self) -> &Self::Target { loop {} }
-    }
-    impl Deref for S2 {
-        type Target = S3;
-        fn deref(&self) -> &Self::Target { loop {} }
-    }
-
-    impl S3 {
-        pub fn method_s3(&self) {}
-    }
-}
-
-fn main() {
-    let _: m::Alias; //~ ERROR type `Priv` is private
-                     //~^ ERROR type `Priv` is private
-    let _: <m::Alias as m::TraitWithAssocTy>::AssocTy; //~ ERROR type `Priv` is private
-    m::Alias {}; //~ ERROR type `Priv` is private
-    m::Pub { 0: m::Alias {} }; //~ ERROR type `Priv` is private
-    m::Pub { 0: loop {} }; // OK, `m::Pub` is in value context, so it means Pub<_>, not Pub<Priv>
-    m::Pub::static_method; //~ ERROR type `Priv` is private
-    m::Pub::INHERENT_ASSOC_CONST; //~ ERROR type `Priv` is private
-    m::Pub(0u8).method_with_substs::<m::Alias>(); //~ ERROR type `Priv` is private
-    m::Pub(0u8).method_with_priv_params(loop{}); //~ ERROR type `Priv` is private
-    <m::Alias as m::TraitWithAssocConst>::TRAIT_ASSOC_CONST; //~ ERROR type `Priv` is private
-    <m::Pub<m::Alias>>::INHERENT_ASSOC_CONST; //~ ERROR type `Priv` is private
-    <m::Pub<m::Alias>>::INHERENT_ASSOC_CONST_GENERIC_SELF; //~ ERROR type `Priv` is private
-    <m::Pub<m::Alias>>::static_method_generic_self; //~ ERROR type `Priv` is private
-    use m::TraitWithTyParam2;
-    u8::pub_method; //~ ERROR type `Priv` is private
-
-    adjust::S1.method_s3(); //~ ERROR type `S2` is private
-
-    m::m!();
-
-    m::leak_anon1(); //~ ERROR trait `Trait` is private
-    m::leak_anon2(); //~ ERROR type `Priv` is private
-    m::leak_anon3(); //~ ERROR type `Priv` is private
-
-    m::leak_dyn1(); //~ ERROR trait `Trait` is private
-    m::leak_dyn2(); //~ ERROR type `Priv` is private
-    m::leak_dyn3(); //~ ERROR type `Priv` is private
-
-    // Check that messages are not duplicated for various kinds of assignments
-    let a = m::Alias {}; //~ ERROR type `Priv` is private
-    let mut b = a; //~ ERROR type `Priv` is private
-    b = a; //~ ERROR type `Priv` is private
-    match a { //~ ERROR type `Priv` is private
-        _ => {}
-    }
-}
diff --git a/src/test/ui/privacy/private-inferred-type.stderr b/src/test/ui/privacy/private-inferred-type.stderr
deleted file mode 100644
index fc3f9ab62bf..00000000000
--- a/src/test/ui/privacy/private-inferred-type.stderr
+++ /dev/null
@@ -1,237 +0,0 @@
-error[E0446]: private type `Priv` in public interface
-  --> $DIR/private-inferred-type.rs:61:36
-   |
-LL |     struct Priv;
-   |     ----------- `Priv` declared as private
-...
-LL |     impl TraitWithAssocTy for u8 { type AssocTy = Priv; }
-   |                                    ^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `S2` in public interface
-  --> $DIR/private-inferred-type.rs:83:9
-   |
-LL |     struct S2;
-   |     --------- `S2` declared as private
-...
-LL |         type Target = S2Alias;
-   |         ^^^^^^^^^^^ can't leak private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:97:9
-   |
-LL |     let _: m::Alias;
-   |         ^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:97:12
-   |
-LL |     let _: m::Alias;
-   |            ^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:99:13
-   |
-LL |     let _: <m::Alias as m::TraitWithAssocTy>::AssocTy;
-   |             ^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:100:5
-   |
-LL |     m::Alias {};
-   |     ^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:101:5
-   |
-LL |     m::Pub { 0: m::Alias {} };
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:103:5
-   |
-LL |     m::Pub::static_method;
-   |     ^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:104:5
-   |
-LL |     m::Pub::INHERENT_ASSOC_CONST;
-   |     ^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:105:5
-   |
-LL |     m::Pub(0u8).method_with_substs::<m::Alias>();
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:106:17
-   |
-LL |     m::Pub(0u8).method_with_priv_params(loop{});
-   |                 ^^^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:107:5
-   |
-LL |     <m::Alias as m::TraitWithAssocConst>::TRAIT_ASSOC_CONST;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:108:6
-   |
-LL |     <m::Pub<m::Alias>>::INHERENT_ASSOC_CONST;
-   |      ^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:109:5
-   |
-LL |     <m::Pub<m::Alias>>::INHERENT_ASSOC_CONST_GENERIC_SELF;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:110:5
-   |
-LL |     <m::Pub<m::Alias>>::static_method_generic_self;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:112:5
-   |
-LL |     u8::pub_method;
-   |     ^^^^^^^^^^^^^^ private type
-
-error: type `S2` is private
-  --> $DIR/private-inferred-type.rs:114:5
-   |
-LL |     adjust::S1.method_s3();
-   |     ^^^^^^^^^^ private type
-
-error: type `fn() {priv_fn}` is private
-  --> $DIR/private-inferred-type.rs:39:9
-   |
-LL |         priv_fn;
-   |         ^^^^^^^ private type
-...
-LL |     m::m!();
-   |     ------- in this macro invocation
-   |
-   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `PrivEnum` is private
-  --> $DIR/private-inferred-type.rs:41:9
-   |
-LL |         PrivEnum::Variant;
-   |         ^^^^^^^^^^^^^^^^^ private type
-...
-LL |     m::m!();
-   |     ------- in this macro invocation
-   |
-   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `fn() {<u8 as PrivTrait>::method}` is private
-  --> $DIR/private-inferred-type.rs:43:9
-   |
-LL |         <u8 as PrivTrait>::method;
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-...
-LL |     m::m!();
-   |     ------- in this macro invocation
-   |
-   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `fn(u8) -> PrivTupleStruct {PrivTupleStruct}` is private
-  --> $DIR/private-inferred-type.rs:45:9
-   |
-LL |         PrivTupleStruct;
-   |         ^^^^^^^^^^^^^^^ private type
-...
-LL |     m::m!();
-   |     ------- in this macro invocation
-   |
-   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `fn(u8) -> PubTupleStruct {PubTupleStruct}` is private
-  --> $DIR/private-inferred-type.rs:47:9
-   |
-LL |         PubTupleStruct;
-   |         ^^^^^^^^^^^^^^ private type
-...
-LL |     m::m!();
-   |     ------- in this macro invocation
-   |
-   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: type `for<'a> fn(&'a Pub<u8>) {Pub::<u8>::priv_method}` is private
-  --> $DIR/private-inferred-type.rs:49:18
-   |
-LL |         Pub(0u8).priv_method();
-   |                  ^^^^^^^^^^^ private type
-...
-LL |     m::m!();
-   |     ------- in this macro invocation
-   |
-   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: trait `Trait` is private
-  --> $DIR/private-inferred-type.rs:118:5
-   |
-LL |     m::leak_anon1();
-   |     ^^^^^^^^^^^^^^^ private trait
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:119:5
-   |
-LL |     m::leak_anon2();
-   |     ^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:120:5
-   |
-LL |     m::leak_anon3();
-   |     ^^^^^^^^^^^^^^^ private type
-
-error: trait `Trait` is private
-  --> $DIR/private-inferred-type.rs:122:5
-   |
-LL |     m::leak_dyn1();
-   |     ^^^^^^^^^^^^^^ private trait
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:123:5
-   |
-LL |     m::leak_dyn2();
-   |     ^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:124:5
-   |
-LL |     m::leak_dyn3();
-   |     ^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:127:13
-   |
-LL |     let a = m::Alias {};
-   |             ^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:128:17
-   |
-LL |     let mut b = a;
-   |                 ^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:129:9
-   |
-LL |     b = a;
-   |         ^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-inferred-type.rs:130:11
-   |
-LL |     match a {
-   |           ^ private type
-
-error: aborting due to 33 previous errors
-
-For more information about this error, try `rustc --explain E0446`.
diff --git a/src/test/ui/privacy/private-item-simple.rs b/src/test/ui/privacy/private-item-simple.rs
deleted file mode 100644
index 1f718ed9201..00000000000
--- a/src/test/ui/privacy/private-item-simple.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-mod a {
-    fn f() {}
-}
-
-fn main() {
-    a::f(); //~ ERROR function `f` is private
-}
diff --git a/src/test/ui/privacy/private-item-simple.stderr b/src/test/ui/privacy/private-item-simple.stderr
deleted file mode 100644
index e3d90150e2e..00000000000
--- a/src/test/ui/privacy/private-item-simple.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0603]: function `f` is private
-  --> $DIR/private-item-simple.rs:6:8
-   |
-LL |     a::f();
-   |        ^ private function
-   |
-note: the function `f` is defined here
-  --> $DIR/private-item-simple.rs:2:5
-   |
-LL |     fn f() {}
-   |     ^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0603`.
diff --git a/src/test/ui/privacy/private-method-cross-crate.rs b/src/test/ui/privacy/private-method-cross-crate.rs
deleted file mode 100644
index ab3bbdfe496..00000000000
--- a/src/test/ui/privacy/private-method-cross-crate.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// aux-build:cci_class_5.rs
-extern crate cci_class_5;
-use cci_class_5::kitties::cat;
-
-fn main() {
-  let nyan : cat = cat(52, 99);
-  nyan.nap();   //~ ERROR associated function `nap` is private
-}
diff --git a/src/test/ui/privacy/private-method-cross-crate.stderr b/src/test/ui/privacy/private-method-cross-crate.stderr
deleted file mode 100644
index 93f6a7f2f61..00000000000
--- a/src/test/ui/privacy/private-method-cross-crate.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error[E0624]: associated function `nap` is private
-  --> $DIR/private-method-cross-crate.rs:7:8
-   |
-LL |   nyan.nap();
-   |        ^^^ private associated function
-   |
-  ::: $DIR/auxiliary/cci_class_5.rs:8:9
-   |
-LL |         fn nap(&self) {}
-   |         ------------- private associated function defined here
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0624`.
diff --git a/src/test/ui/privacy/private-method-inherited.rs b/src/test/ui/privacy/private-method-inherited.rs
deleted file mode 100644
index 2f6454288ae..00000000000
--- a/src/test/ui/privacy/private-method-inherited.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// Tests that inherited visibility applies to methods.
-
-mod a {
-    pub struct Foo;
-
-    impl Foo {
-        fn f(self) {}
-    }
-}
-
-fn main() {
-    let x = a::Foo;
-    x.f();  //~ ERROR associated function `f` is private
-}
diff --git a/src/test/ui/privacy/private-method-inherited.stderr b/src/test/ui/privacy/private-method-inherited.stderr
deleted file mode 100644
index 011a7fee478..00000000000
--- a/src/test/ui/privacy/private-method-inherited.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0624]: associated function `f` is private
-  --> $DIR/private-method-inherited.rs:13:7
-   |
-LL |         fn f(self) {}
-   |         ---------- private associated function defined here
-...
-LL |     x.f();
-   |       ^ private associated function
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0624`.
diff --git a/src/test/ui/privacy/private-method-rpass.rs b/src/test/ui/privacy/private-method-rpass.rs
deleted file mode 100644
index 726944fb251..00000000000
--- a/src/test/ui/privacy/private-method-rpass.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-#![allow(non_camel_case_types)]
-
-// pretty-expanded FIXME #23616
-
-struct cat {
-    meows : usize,
-
-    how_hungry : isize,
-}
-
-impl cat {
-    pub fn play(&mut self) {
-        self.meows += 1_usize;
-        self.nap();
-    }
-}
-
-impl cat {
-    fn nap(&mut self) { for _ in 1_usize..10_usize { } }
-}
-
-fn cat(in_x : usize, in_y : isize) -> cat {
-    cat {
-        meows: in_x,
-        how_hungry: in_y
-    }
-}
-
-pub fn main() {
-  let mut nyan : cat = cat(52_usize, 99);
-  nyan.play();
-}
diff --git a/src/test/ui/privacy/private-method.rs b/src/test/ui/privacy/private-method.rs
deleted file mode 100644
index 76a642cde1a..00000000000
--- a/src/test/ui/privacy/private-method.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-mod kitties {
-    pub struct Cat {
-        meows : usize,
-
-        how_hungry : isize,
-    }
-
-    impl Cat {
-        fn nap(&self) {}
-    }
-
-    pub fn cat(in_x : usize, in_y : isize) -> Cat {
-        Cat {
-            meows: in_x,
-            how_hungry: in_y
-        }
-    }
-}
-
-fn main() {
-  let nyan : kitties::Cat = kitties::cat(52, 99);
-  nyan.nap(); //~ ERROR associated function `nap` is private
-}
diff --git a/src/test/ui/privacy/private-method.stderr b/src/test/ui/privacy/private-method.stderr
deleted file mode 100644
index 17c7179dc36..00000000000
--- a/src/test/ui/privacy/private-method.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0624]: associated function `nap` is private
-  --> $DIR/private-method.rs:22:8
-   |
-LL |         fn nap(&self) {}
-   |         ------------- private associated function defined here
-...
-LL |   nyan.nap();
-   |        ^^^ private associated function
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0624`.
diff --git a/src/test/ui/privacy/private-struct-field-cross-crate.rs b/src/test/ui/privacy/private-struct-field-cross-crate.rs
deleted file mode 100644
index 301cd37b76c..00000000000
--- a/src/test/ui/privacy/private-struct-field-cross-crate.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// aux-build:cci_class.rs
-extern crate cci_class;
-use cci_class::kitties::cat;
-
-fn main() {
-  let nyan : cat = cat(52, 99);
-  assert_eq!(nyan.meows, 52);
-  //~^ ERROR field `meows` of struct `cat` is private
-}
diff --git a/src/test/ui/privacy/private-struct-field-cross-crate.stderr b/src/test/ui/privacy/private-struct-field-cross-crate.stderr
deleted file mode 100644
index 40cf3448d6f..00000000000
--- a/src/test/ui/privacy/private-struct-field-cross-crate.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0616]: field `meows` of struct `cat` is private
-  --> $DIR/private-struct-field-cross-crate.rs:7:19
-   |
-LL |   assert_eq!(nyan.meows, 52);
-   |                   ^^^^^ private field
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0616`.
diff --git a/src/test/ui/privacy/private-struct-field-ctor.rs b/src/test/ui/privacy/private-struct-field-ctor.rs
deleted file mode 100644
index 56e84a7510d..00000000000
--- a/src/test/ui/privacy/private-struct-field-ctor.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-mod a {
-    pub struct Foo {
-        x: isize
-    }
-}
-
-fn main() {
-    let s = a::Foo { x: 1 };    //~ ERROR field `x` of struct `Foo` is private
-}
diff --git a/src/test/ui/privacy/private-struct-field-ctor.stderr b/src/test/ui/privacy/private-struct-field-ctor.stderr
deleted file mode 100644
index 9dc9db0eaca..00000000000
--- a/src/test/ui/privacy/private-struct-field-ctor.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0451]: field `x` of struct `Foo` is private
-  --> $DIR/private-struct-field-ctor.rs:8:22
-   |
-LL |     let s = a::Foo { x: 1 };
-   |                      ^^^^ private field
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0451`.
diff --git a/src/test/ui/privacy/private-struct-field-pattern.rs b/src/test/ui/privacy/private-struct-field-pattern.rs
deleted file mode 100644
index 4a766500e1b..00000000000
--- a/src/test/ui/privacy/private-struct-field-pattern.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-use a::Foo;
-
-mod a {
-    pub struct Foo {
-        x: isize
-    }
-
-    pub fn make() -> Foo {
-        Foo { x: 3 }
-    }
-}
-
-fn main() {
-    match a::make() {
-        Foo { x: _ } => {}  //~ ERROR field `x` of struct `Foo` is private
-    }
-}
diff --git a/src/test/ui/privacy/private-struct-field-pattern.stderr b/src/test/ui/privacy/private-struct-field-pattern.stderr
deleted file mode 100644
index 63055303683..00000000000
--- a/src/test/ui/privacy/private-struct-field-pattern.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0451]: field `x` of struct `Foo` is private
-  --> $DIR/private-struct-field-pattern.rs:15:15
-   |
-LL |         Foo { x: _ } => {}
-   |               ^^^^ private field
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0451`.
diff --git a/src/test/ui/privacy/private-struct-field.rs b/src/test/ui/privacy/private-struct-field.rs
deleted file mode 100644
index 94cee4eff2c..00000000000
--- a/src/test/ui/privacy/private-struct-field.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-mod cat {
-    pub struct Cat {
-        meows: usize
-    }
-
-    pub fn new_cat() -> Cat {
-        Cat { meows: 52 }
-    }
-}
-
-fn main() {
-    let nyan = cat::new_cat();
-    assert_eq!(nyan.meows, 52);    //~ ERROR field `meows` of struct `Cat` is private
-}
diff --git a/src/test/ui/privacy/private-struct-field.stderr b/src/test/ui/privacy/private-struct-field.stderr
deleted file mode 100644
index facf4e82fd6..00000000000
--- a/src/test/ui/privacy/private-struct-field.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0616]: field `meows` of struct `Cat` is private
-  --> $DIR/private-struct-field.rs:13:21
-   |
-LL |     assert_eq!(nyan.meows, 52);
-   |                     ^^^^^ private field
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0616`.
diff --git a/src/test/ui/privacy/private-type-in-interface.rs b/src/test/ui/privacy/private-type-in-interface.rs
deleted file mode 100644
index 7fbdbaf5f31..00000000000
--- a/src/test/ui/privacy/private-type-in-interface.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-// aux-build:private-inferred-type.rs
-
-#![allow(warnings)]
-
-extern crate private_inferred_type as ext;
-
-mod m {
-    struct Priv;
-    pub type Alias = Priv;
-
-    pub trait Trait { type X; }
-    impl Trait for Priv { type X = u8; }
-}
-
-fn f(_: m::Alias) {} //~ ERROR type `Priv` is private
-                     //~^ ERROR type `Priv` is private
-fn f_ext(_: ext::Alias) {} //~ ERROR type `ext::Priv` is private
-                           //~^ ERROR type `ext::Priv` is private
-
-trait Tr1 {}
-impl m::Alias {} //~ ERROR type `Priv` is private
-impl Tr1 for ext::Alias {} //~ ERROR type `ext::Priv` is private
-type A = <m::Alias as m::Trait>::X; //~ ERROR type `Priv` is private
-
-trait Tr2<T> {}
-impl<T> Tr2<T> for u8 {}
-fn g() -> impl Tr2<m::Alias> { 0 } //~ ERROR type `Priv` is private
-fn g_ext() -> impl Tr2<ext::Alias> { 0 } //~ ERROR type `ext::Priv` is private
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-type-in-interface.stderr b/src/test/ui/privacy/private-type-in-interface.stderr
deleted file mode 100644
index 4e87caa3415..00000000000
--- a/src/test/ui/privacy/private-type-in-interface.stderr
+++ /dev/null
@@ -1,56 +0,0 @@
-error: type `Priv` is private
-  --> $DIR/private-type-in-interface.rs:15:9
-   |
-LL | fn f(_: m::Alias) {}
-   |         ^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-type-in-interface.rs:15:6
-   |
-LL | fn f(_: m::Alias) {}
-   |      ^ private type
-
-error: type `ext::Priv` is private
-  --> $DIR/private-type-in-interface.rs:17:13
-   |
-LL | fn f_ext(_: ext::Alias) {}
-   |             ^^^^^^^^^^ private type
-
-error: type `ext::Priv` is private
-  --> $DIR/private-type-in-interface.rs:17:10
-   |
-LL | fn f_ext(_: ext::Alias) {}
-   |          ^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-type-in-interface.rs:21:6
-   |
-LL | impl m::Alias {}
-   |      ^^^^^^^^ private type
-
-error: type `ext::Priv` is private
-  --> $DIR/private-type-in-interface.rs:22:14
-   |
-LL | impl Tr1 for ext::Alias {}
-   |              ^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-type-in-interface.rs:23:10
-   |
-LL | type A = <m::Alias as m::Trait>::X;
-   |          ^^^^^^^^^^^^^^^^^^^^^^^^^ private type
-
-error: type `Priv` is private
-  --> $DIR/private-type-in-interface.rs:27:11
-   |
-LL | fn g() -> impl Tr2<m::Alias> { 0 }
-   |           ^^^^^^^^^^^^^^^^^^ private type
-
-error: type `ext::Priv` is private
-  --> $DIR/private-type-in-interface.rs:28:15
-   |
-LL | fn g_ext() -> impl Tr2<ext::Alias> { 0 }
-   |               ^^^^^^^^^^^^^^^^^^^^ private type
-
-error: aborting due to 9 previous errors
-
diff --git a/src/test/ui/privacy/private-variant-reexport.rs b/src/test/ui/privacy/private-variant-reexport.rs
deleted file mode 100644
index 68828446022..00000000000
--- a/src/test/ui/privacy/private-variant-reexport.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-mod m1 {
-    pub use ::E::V; //~ ERROR `V` is only public within the crate, and cannot be re-exported outside
-}
-
-mod m2 {
-    pub use ::E::{V}; //~ ERROR `V` is only public within the crate, and cannot be re-exported outside
-}
-
-mod m3 {
-    pub use ::E::V::{self}; //~ ERROR `V` is only public within the crate, and cannot be re-exported outside
-}
-
-#[deny(unused_imports)]
-mod m4 {
-    pub use ::E::*; //~ ERROR glob import doesn't reexport anything
-}
-
-enum E { V }
-
-fn main() {}
diff --git a/src/test/ui/privacy/private-variant-reexport.stderr b/src/test/ui/privacy/private-variant-reexport.stderr
deleted file mode 100644
index 78771ee30d3..00000000000
--- a/src/test/ui/privacy/private-variant-reexport.stderr
+++ /dev/null
@@ -1,48 +0,0 @@
-error[E0364]: `V` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/private-variant-reexport.rs:2:13
-   |
-LL |     pub use ::E::V;
-   |             ^^^^^^
-   |
-note: consider marking `V` as `pub` in the imported module
-  --> $DIR/private-variant-reexport.rs:2:13
-   |
-LL |     pub use ::E::V;
-   |             ^^^^^^
-
-error[E0364]: `V` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/private-variant-reexport.rs:6:19
-   |
-LL |     pub use ::E::{V};
-   |                   ^
-   |
-note: consider marking `V` as `pub` in the imported module
-  --> $DIR/private-variant-reexport.rs:6:19
-   |
-LL |     pub use ::E::{V};
-   |                   ^
-
-error[E0365]: `V` is only public within the crate, and cannot be re-exported outside
-  --> $DIR/private-variant-reexport.rs:10:22
-   |
-LL |     pub use ::E::V::{self};
-   |                      ^^^^ re-export of crate public `V`
-   |
-   = note: consider declaring type or module `V` with `pub`
-
-error: glob import doesn't reexport anything because no candidate is public enough
-  --> $DIR/private-variant-reexport.rs:15:13
-   |
-LL |     pub use ::E::*;
-   |             ^^^^^^
-   |
-note: the lint level is defined here
-  --> $DIR/private-variant-reexport.rs:13:8
-   |
-LL | #[deny(unused_imports)]
-   |        ^^^^^^^^^^^^^^
-
-error: aborting due to 4 previous errors
-
-Some errors have detailed explanations: E0364, E0365.
-For more information about an error, try `rustc --explain E0364`.
diff --git a/src/test/ui/privacy/pub-extern-privacy.rs b/src/test/ui/privacy/pub-extern-privacy.rs
deleted file mode 100644
index dbbbe4e3b7d..00000000000
--- a/src/test/ui/privacy/pub-extern-privacy.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// run-pass
-// ignore-wasm32-bare no libc to test ffi with
-
-// pretty-expanded FIXME #23616
-
-use std::mem::transmute;
-
-mod a {
-    extern "C" {
-        pub fn free(x: *const u8);
-    }
-}
-
-pub fn main() {
-    unsafe {
-        a::free(transmute(0_usize));
-    }
-}
diff --git a/src/test/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs b/src/test/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs
deleted file mode 100644
index e7afeb84fb4..00000000000
--- a/src/test/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-pub struct OtherType;
-pub trait OtherTrait {}
diff --git a/src/test/ui/privacy/pub-priv-dep/auxiliary/pub_dep.rs b/src/test/ui/privacy/pub-priv-dep/auxiliary/pub_dep.rs
deleted file mode 100644
index 3ebafd953ad..00000000000
--- a/src/test/ui/privacy/pub-priv-dep/auxiliary/pub_dep.rs
+++ /dev/null
@@ -1 +0,0 @@
-pub struct PubType;
diff --git a/src/test/ui/privacy/pub-priv-dep/pub-priv1.rs b/src/test/ui/privacy/pub-priv-dep/pub-priv1.rs
deleted file mode 100644
index ec8666f93f0..00000000000
--- a/src/test/ui/privacy/pub-priv-dep/pub-priv1.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-// aux-crate:priv:priv_dep=priv_dep.rs
-// aux-build:pub_dep.rs
-// compile-flags: -Zunstable-options
-#![deny(exported_private_dependencies)]
-
-// This crate is a private dependency
-extern crate priv_dep;
-// This crate is a public dependency
-extern crate pub_dep;
-
-use priv_dep::{OtherTrait, OtherType};
-use pub_dep::PubType;
-
-// Type from private dependency used in private
-// type - this is fine
-struct PrivateType {
-    field: OtherType,
-}
-
-pub struct PublicType {
-    pub field: OtherType,
-    //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
-    priv_field: OtherType,    // Private field - this is fine
-    pub other_field: PubType, // Type from public dependency - this is fine
-}
-
-impl PublicType {
-    pub fn pub_fn(param: OtherType) {}
-    //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
-
-    fn priv_fn(param: OtherType) {}
-}
-
-pub trait MyPubTrait {
-    type Foo: OtherTrait;
-}
-//~^^ ERROR trait `OtherTrait` from private dependency 'priv_dep' in public interface
-
-pub struct AllowedPrivType {
-    #[allow(exported_private_dependencies)]
-    pub allowed: OtherType,
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr b/src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr
deleted file mode 100644
index e62a440d8f5..00000000000
--- a/src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:21:5
-   |
-LL |     pub field: OtherType,
-   |     ^^^^^^^^^^^^^^^^^^^^
-   |
-note: the lint level is defined here
-  --> $DIR/pub-priv1.rs:4:9
-   |
-LL | #![deny(exported_private_dependencies)]
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:28:5
-   |
-LL |     pub fn pub_fn(param: OtherType) {}
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: trait `OtherTrait` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:35:5
-   |
-LL |     type Foo: OtherTrait;
-   |     ^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/privacy/pub-priv-dep/std-pub.rs b/src/test/ui/privacy/pub-priv-dep/std-pub.rs
deleted file mode 100644
index e25aa93a02e..00000000000
--- a/src/test/ui/privacy/pub-priv-dep/std-pub.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// The 'std' crates should always be implicitly public,
-// without having to pass any compiler arguments
-
-// run-pass
-
-#![deny(exported_private_dependencies)]
-
-pub struct PublicType {
-    pub field: Option<u8>
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/pub-use-xcrate.rs b/src/test/ui/privacy/pub-use-xcrate.rs
deleted file mode 100644
index e8a6e8cf182..00000000000
--- a/src/test/ui/privacy/pub-use-xcrate.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// run-pass
-// aux-build:pub_use_xcrate1.rs
-// aux-build:pub_use_xcrate2.rs
-
-// pretty-expanded FIXME #23616
-
-extern crate pub_use_xcrate2;
-
-use pub_use_xcrate2::Foo;
-
-pub fn main() {
-    let _foo: Foo = Foo {
-        name: 0
-    };
-}
diff --git a/src/test/ui/privacy/pub_use_mods_xcrate_exe.rs b/src/test/ui/privacy/pub_use_mods_xcrate_exe.rs
deleted file mode 100644
index f163619e7cb..00000000000
--- a/src/test/ui/privacy/pub_use_mods_xcrate_exe.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// run-pass
-// aux-build:pub_use_mods_xcrate.rs
-
-// pretty-expanded FIXME #23616
-
-#![allow(unused_imports)]
-
-extern crate pub_use_mods_xcrate;
-use pub_use_mods_xcrate::a::c;
-
-pub fn main(){}
diff --git a/src/test/ui/privacy/reachable-unnameable-items.rs b/src/test/ui/privacy/reachable-unnameable-items.rs
deleted file mode 100644
index 1babe011996..00000000000
--- a/src/test/ui/privacy/reachable-unnameable-items.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-// run-pass
-// needs-unwind
-// aux-build:reachable-unnameable-items.rs
-
-extern crate reachable_unnameable_items;
-use reachable_unnameable_items::*;
-
-fn main() {
-    let res1 = function_returning_unnameable_type().method_of_unnameable_type1();
-    let res2 = CONSTANT_OF_UNNAMEABLE_TYPE.method_of_unnameable_type2();
-    let res4 = AliasOfUnnameableType{}.method_of_unnameable_type4();
-    let res5 = function_returning_unnameable_type().inherent_method_returning_unnameable_type().
-                                                    method_of_unnameable_type5();
-    let res6 = function_returning_unnameable_type().trait_method_returning_unnameable_type().
-                                                    method_of_unnameable_type6();
-    let res7 = STATIC.field_of_unnameable_type.method_of_unnameable_type7();
-    let res8 = generic_function::<AliasOfUnnameableType>().method_of_unnameable_type8();
-    let res_enum = NameableVariant.method_of_unnameable_enum();
-    assert_eq!(res1, "Hello1");
-    assert_eq!(res2, "Hello2");
-    assert_eq!(res4, "Hello4");
-    assert_eq!(res5, "Hello5");
-    assert_eq!(res6, "Hello6");
-    assert_eq!(res7, "Hello7");
-    assert_eq!(res8, "Hello8");
-    assert_eq!(res_enum, "HelloEnum");
-
-    let none = None;
-    function_accepting_unnameable_type(none);
-    let _guard = std::panic::catch_unwind(|| none.unwrap().method_of_unnameable_type3());
-}
diff --git a/src/test/ui/privacy/restricted/auxiliary/pub_restricted.rs b/src/test/ui/privacy/restricted/auxiliary/pub_restricted.rs
deleted file mode 100644
index a4013e6ac60..00000000000
--- a/src/test/ui/privacy/restricted/auxiliary/pub_restricted.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-pub(crate) struct Crate;
-
-#[derive(Default)]
-pub struct Universe {
-    pub x: i32,
-    pub(crate) y: i32,
-    pub(crate) z: i32,
-}
-
-impl Universe {
-    pub fn f(&self) {}
-    pub(crate) fn g(&self) {}
-    pub(crate) fn h(&self) {}
-}
diff --git a/src/test/ui/privacy/restricted/lookup-ignores-private.rs b/src/test/ui/privacy/restricted/lookup-ignores-private.rs
deleted file mode 100644
index 240ce1e2b03..00000000000
--- a/src/test/ui/privacy/restricted/lookup-ignores-private.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-// build-pass (FIXME(62277): could be check-pass?)
-#![allow(warnings)]
-
-mod foo {
-    pub use foo::bar::S;
-    mod bar {
-        #[derive(Default)]
-        pub struct S {
-            pub(in foo) x: i32,
-        }
-        impl S {
-            pub(in foo) fn f(&self) -> i32 { 0 }
-        }
-
-        pub struct S2 {
-            pub(crate) x: bool,
-        }
-        impl S2 {
-            pub(crate) fn f(&self) -> bool { false }
-        }
-
-        impl ::std::ops::Deref for S {
-            type Target = S2;
-            fn deref(&self) -> &S2 { unimplemented!() }
-        }
-    }
-}
-
-
-fn main() {
-    let s = foo::S::default();
-    let _: bool = s.x;
-    let _: bool = s.f();
-}
diff --git a/src/test/ui/privacy/restricted/private-in-public.rs b/src/test/ui/privacy/restricted/private-in-public.rs
deleted file mode 100644
index 1e3dbdf73b9..00000000000
--- a/src/test/ui/privacy/restricted/private-in-public.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-mod foo {
-    struct Priv;
-    mod bar {
-        use foo::Priv;
-        pub(super) fn f(_: Priv) {}
-        pub(crate) fn g(_: Priv) {} //~ ERROR E0446
-        pub(crate) fn h(_: Priv) {} //~ ERROR E0446
-    }
-}
-
-fn main() { }
diff --git a/src/test/ui/privacy/restricted/private-in-public.stderr b/src/test/ui/privacy/restricted/private-in-public.stderr
deleted file mode 100644
index 65d996f0f07..00000000000
--- a/src/test/ui/privacy/restricted/private-in-public.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0446]: private type `Priv` in public interface
-  --> $DIR/private-in-public.rs:6:9
-   |
-LL |     struct Priv;
-   |     ----------- `Priv` declared as private
-...
-LL |         pub(crate) fn g(_: Priv) {}
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `Priv` in public interface
-  --> $DIR/private-in-public.rs:7:9
-   |
-LL |     struct Priv;
-   |     ----------- `Priv` declared as private
-...
-LL |         pub(crate) fn h(_: Priv) {}
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0446`.
diff --git a/src/test/ui/privacy/restricted/relative-2018.rs b/src/test/ui/privacy/restricted/relative-2018.rs
deleted file mode 100644
index 954169a9ffb..00000000000
--- a/src/test/ui/privacy/restricted/relative-2018.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// edition:2018
-
-mod m {
-    pub(in crate) struct S1; // OK
-    pub(in super) struct S2; // OK
-    pub(in self) struct S3; // OK
-    pub(in ::core) struct S4;
-    //~^ ERROR visibilities can only be restricted to ancestor modules
-    pub(in a::b) struct S5;
-    //~^ ERROR relative paths are not supported in visibilities in 2018 edition or later
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/restricted/relative-2018.stderr b/src/test/ui/privacy/restricted/relative-2018.stderr
deleted file mode 100644
index dec0d5157da..00000000000
--- a/src/test/ui/privacy/restricted/relative-2018.stderr
+++ /dev/null
@@ -1,17 +0,0 @@
-error[E0742]: visibilities can only be restricted to ancestor modules
-  --> $DIR/relative-2018.rs:7:12
-   |
-LL |     pub(in ::core) struct S4;
-   |            ^^^^^^
-
-error: relative paths are not supported in visibilities in 2018 edition or later
-  --> $DIR/relative-2018.rs:9:12
-   |
-LL |     pub(in a::b) struct S5;
-   |            ^---
-   |            |
-   |            help: try: `crate::a::b`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0742`.
diff --git a/src/test/ui/privacy/restricted/struct-literal-field.rs b/src/test/ui/privacy/restricted/struct-literal-field.rs
deleted file mode 100644
index 9c6104755a4..00000000000
--- a/src/test/ui/privacy/restricted/struct-literal-field.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-#![allow(warnings)]
-
-mod foo {
-    pub mod bar {
-        pub struct S {
-            pub(in foo) x: i32,
-        }
-    }
-
-    fn f() {
-        use foo::bar::S;
-        S { x: 0 }; // ok
-    }
-}
-
-fn main() {
-    use foo::bar::S;
-    S { x: 0 }; //~ ERROR private
-}
diff --git a/src/test/ui/privacy/restricted/struct-literal-field.stderr b/src/test/ui/privacy/restricted/struct-literal-field.stderr
deleted file mode 100644
index eee964f022a..00000000000
--- a/src/test/ui/privacy/restricted/struct-literal-field.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0451]: field `x` of struct `S` is private
-  --> $DIR/struct-literal-field.rs:18:9
-   |
-LL |     S { x: 0 };
-   |         ^^^^ private field
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0451`.
diff --git a/src/test/ui/privacy/restricted/test.rs b/src/test/ui/privacy/restricted/test.rs
deleted file mode 100644
index a8c269378c2..00000000000
--- a/src/test/ui/privacy/restricted/test.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-// aux-build:pub_restricted.rs
-
-#![allow(warnings)]
-extern crate pub_restricted;
-
-mod foo {
-    pub mod bar {
-        pub(super) fn f() {}
-        #[derive(Default)]
-        pub struct S {
-            pub(super) x: i32,
-        }
-        impl S {
-            pub(super) fn f(&self) {}
-            pub(super) fn g() {}
-        }
-    }
-    fn f() {
-        use foo::bar::S;
-        pub(self) use foo::bar::f; // ok
-        pub(super) use foo::bar::f as g; //~ ERROR cannot be re-exported
-        S::default().x; // ok
-        S::default().f(); // ok
-        S::g(); // ok
-    }
-}
-
-fn f() {
-    use foo::bar::S;
-    use foo::bar::f; //~ ERROR private
-    S::default().x; //~ ERROR private
-    S::default().f(); //~ ERROR private
-    S::g(); //~ ERROR private
-}
-
-fn main() {
-    use pub_restricted::Universe;
-    use pub_restricted::Crate; //~ ERROR private
-
-    let u = Universe::default();
-    let _ = u.x;
-    let _ = u.y; //~ ERROR private
-    let _ = u.z; //~ ERROR private
-    u.f();
-    u.g(); //~ ERROR private
-    u.h(); //~ ERROR private
-}
-
-mod pathological {
-    pub(in bad::path) mod m1 {} //~ ERROR failed to resolve: maybe a missing crate `bad`?
-    pub(in foo) mod m2 {} //~ ERROR visibilities can only be restricted to ancestor modules
-}
diff --git a/src/test/ui/privacy/restricted/test.stderr b/src/test/ui/privacy/restricted/test.stderr
deleted file mode 100644
index 1acd221b42c..00000000000
--- a/src/test/ui/privacy/restricted/test.stderr
+++ /dev/null
@@ -1,112 +0,0 @@
-error[E0433]: failed to resolve: maybe a missing crate `bad`?
-  --> $DIR/test.rs:50:12
-   |
-LL |     pub(in bad::path) mod m1 {}
-   |            ^^^ maybe a missing crate `bad`?
-   |
-   = help: consider adding `extern crate bad` to use the `bad` crate
-
-error[E0742]: visibilities can only be restricted to ancestor modules
-  --> $DIR/test.rs:51:12
-   |
-LL |     pub(in foo) mod m2 {}
-   |            ^^^
-
-error[E0364]: `f` is private, and cannot be re-exported
-  --> $DIR/test.rs:21:24
-   |
-LL |         pub(super) use foo::bar::f as g;
-   |                        ^^^^^^^^^^^^^^^^
-   |
-note: consider marking `f` as `pub` in the imported module
-  --> $DIR/test.rs:21:24
-   |
-LL |         pub(super) use foo::bar::f as g;
-   |                        ^^^^^^^^^^^^^^^^
-
-error[E0603]: struct `Crate` is private
-  --> $DIR/test.rs:38:25
-   |
-LL |     use pub_restricted::Crate;
-   |                         ^^^^^ private struct
-   |
-note: the struct `Crate` is defined here
-  --> $DIR/auxiliary/pub_restricted.rs:1:1
-   |
-LL | pub(crate) struct Crate;
-   | ^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0603]: function `f` is private
-  --> $DIR/test.rs:30:19
-   |
-LL |     use foo::bar::f;
-   |                   ^ private function
-   |
-note: the function `f` is defined here
-  --> $DIR/test.rs:8:9
-   |
-LL |         pub(super) fn f() {}
-   |         ^^^^^^^^^^^^^^^^^
-
-error[E0616]: field `x` of struct `S` is private
-  --> $DIR/test.rs:31:18
-   |
-LL |     S::default().x;
-   |                  ^ private field
-
-error[E0624]: associated function `f` is private
-  --> $DIR/test.rs:32:18
-   |
-LL |             pub(super) fn f(&self) {}
-   |             ---------------------- private associated function defined here
-...
-LL |     S::default().f();
-   |                  ^ private associated function
-
-error[E0624]: associated function `g` is private
-  --> $DIR/test.rs:33:8
-   |
-LL |             pub(super) fn g() {}
-   |             ----------------- private associated function defined here
-...
-LL |     S::g();
-   |        ^ private associated function
-
-error[E0616]: field `y` of struct `Universe` is private
-  --> $DIR/test.rs:42:15
-   |
-LL |     let _ = u.y;
-   |               ^ private field
-
-error[E0616]: field `z` of struct `Universe` is private
-  --> $DIR/test.rs:43:15
-   |
-LL |     let _ = u.z;
-   |               ^ private field
-
-error[E0624]: associated function `g` is private
-  --> $DIR/test.rs:45:7
-   |
-LL |     u.g();
-   |       ^ private associated function
-   |
-  ::: $DIR/auxiliary/pub_restricted.rs:12:5
-   |
-LL |     pub(crate) fn g(&self) {}
-   |     ---------------------- private associated function defined here
-
-error[E0624]: associated function `h` is private
-  --> $DIR/test.rs:46:7
-   |
-LL |     u.h();
-   |       ^ private associated function
-   |
-  ::: $DIR/auxiliary/pub_restricted.rs:13:5
-   |
-LL |     pub(crate) fn h(&self) {}
-   |     ---------------------- private associated function defined here
-
-error: aborting due to 12 previous errors
-
-Some errors have detailed explanations: E0364, E0433, E0603, E0616, E0624, E0742.
-For more information about an error, try `rustc --explain E0364`.
diff --git a/src/test/ui/privacy/union-field-privacy-1.rs b/src/test/ui/privacy/union-field-privacy-1.rs
deleted file mode 100644
index 8a84bd86ae5..00000000000
--- a/src/test/ui/privacy/union-field-privacy-1.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-mod m {
-    pub union U {
-        pub a: u8,
-        pub(super) b: u8,
-        c: u8,
-    }
-}
-
-fn main() { unsafe {
-    let u = m::U { a: 0 }; // OK
-    let u = m::U { b: 0 }; // OK
-    let u = m::U { c: 0 }; //~ ERROR field `c` of union `U` is private
-
-    let m::U { a } = u; // OK
-    let m::U { b } = u; // OK
-    let m::U { c } = u; //~ ERROR field `c` of union `U` is private
-}}
diff --git a/src/test/ui/privacy/union-field-privacy-1.stderr b/src/test/ui/privacy/union-field-privacy-1.stderr
deleted file mode 100644
index b1f0b785ea7..00000000000
--- a/src/test/ui/privacy/union-field-privacy-1.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0451]: field `c` of union `U` is private
-  --> $DIR/union-field-privacy-1.rs:12:20
-   |
-LL |     let u = m::U { c: 0 };
-   |                    ^^^^ private field
-
-error[E0451]: field `c` of union `U` is private
-  --> $DIR/union-field-privacy-1.rs:16:16
-   |
-LL |     let m::U { c } = u;
-   |                ^ private field
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0451`.
diff --git a/src/test/ui/privacy/union-field-privacy-2.rs b/src/test/ui/privacy/union-field-privacy-2.rs
deleted file mode 100644
index f02e0f8a9b9..00000000000
--- a/src/test/ui/privacy/union-field-privacy-2.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-mod m {
-    pub union U {
-        pub a: u8,
-        pub(super) b: u8,
-        c: u8,
-    }
-}
-
-fn main() {
-    let u = m::U { a: 10 };
-
-    let a = u.a; // OK
-    let b = u.b; // OK
-    let c = u.c; //~ ERROR field `c` of union `U` is private
-}
diff --git a/src/test/ui/privacy/union-field-privacy-2.stderr b/src/test/ui/privacy/union-field-privacy-2.stderr
deleted file mode 100644
index bf6a2b625d5..00000000000
--- a/src/test/ui/privacy/union-field-privacy-2.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0616]: field `c` of union `U` is private
-  --> $DIR/union-field-privacy-2.rs:14:15
-   |
-LL |     let c = u.c;
-   |               ^ private field
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0616`.
diff --git a/src/test/ui/privacy/useless-pub.rs b/src/test/ui/privacy/useless-pub.rs
deleted file mode 100644
index fde7cd5d89d..00000000000
--- a/src/test/ui/privacy/useless-pub.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-struct A { pub i: isize }
-
-pub trait E {
-    fn foo(&self);
-}
-
-impl E for A {
-    pub fn foo(&self) {} //~ ERROR: unnecessary visibility qualifier
-}
-
-enum Foo {
-    V1 { pub f: i32 }, //~ ERROR unnecessary visibility qualifier
-    V2(pub i32), //~ ERROR unnecessary visibility qualifier
-}
-
-fn main() {}
diff --git a/src/test/ui/privacy/useless-pub.stderr b/src/test/ui/privacy/useless-pub.stderr
deleted file mode 100644
index 14c4983ae29..00000000000
--- a/src/test/ui/privacy/useless-pub.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/useless-pub.rs:8:5
-   |
-LL |     pub fn foo(&self) {}
-   |     ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/useless-pub.rs:12:10
-   |
-LL |     V1 { pub f: i32 },
-   |          ^^^ `pub` not permitted here because it's implied
-
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/useless-pub.rs:13:8
-   |
-LL |     V2(pub i32),
-   |        ^^^ `pub` not permitted here because it's implied
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0449`.
diff --git a/src/test/ui/privacy/where-priv-type.rs b/src/test/ui/privacy/where-priv-type.rs
deleted file mode 100644
index 66ee9c4bbd8..00000000000
--- a/src/test/ui/privacy/where-priv-type.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-// priv-in-pub lint tests where the private type appears in the
-// `where` clause of a public item
-
-#![crate_type = "lib"]
-#![feature(generic_const_exprs)]
-#![allow(incomplete_features)]
-
-
-struct PrivTy;
-trait PrivTr {}
-pub struct PubTy;
-pub struct PubTyGeneric<T>(T);
-pub trait PubTr {}
-impl PubTr for PrivTy {}
-pub trait PubTrWithAssocTy { type AssocTy; }
-impl PubTrWithAssocTy for PrivTy { type AssocTy = PrivTy; }
-
-
-pub struct S
-//~^ WARNING private type `PrivTy` in public interface
-//~| WARNING hard error
-where
-    PrivTy:
-{}
-
-
-pub enum E
-//~^ WARNING private type `PrivTy` in public interface
-//~| WARNING hard error
-where
-    PrivTy:
-{}
-
-
-pub fn f()
-//~^ WARNING private type `PrivTy` in public interface
-//~| WARNING hard error
-where
-    PrivTy:
-{}
-
-
-impl S
-//~^ ERROR private type `PrivTy` in public interface
-where
-    PrivTy:
-{
-    pub fn f()
-    //~^ WARNING private type `PrivTy` in public interface
-    //~| WARNING hard error
-    where
-        PrivTy:
-    {}
-}
-
-
-impl PubTr for PubTy
-where
-    PrivTy:
-{}
-
-
-impl<T> PubTr for PubTyGeneric<T>
-where
-    T: PubTrWithAssocTy<AssocTy=PrivTy>
-{}
-
-
-pub struct Const<const U: u8>;
-
-pub trait Trait {
-    type AssocTy;
-    fn assoc_fn() -> Self::AssocTy;
-}
-
-impl<const U: u8> Trait for Const<U>
-where
-    Const<{ my_const_fn(U) }>: ,
-{
-    type AssocTy = Const<{ my_const_fn(U) }>;
-    //~^ ERROR private type
-    fn assoc_fn() -> Self::AssocTy {
-        Const
-    }
-}
-
-const fn my_const_fn(val: u8) -> u8 {
-    // body of this function doesn't matter
-    val
-}
diff --git a/src/test/ui/privacy/where-priv-type.stderr b/src/test/ui/privacy/where-priv-type.stderr
deleted file mode 100644
index c5fb2cdb0cf..00000000000
--- a/src/test/ui/privacy/where-priv-type.stderr
+++ /dev/null
@@ -1,66 +0,0 @@
-warning: private type `PrivTy` in public interface (error E0446)
-  --> $DIR/where-priv-type.rs:19:1
-   |
-LL | pub struct S
-   | ^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-   = note: `#[warn(private_in_public)]` on by default
-
-warning: private type `PrivTy` in public interface (error E0446)
-  --> $DIR/where-priv-type.rs:27:1
-   |
-LL | pub enum E
-   | ^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-warning: private type `PrivTy` in public interface (error E0446)
-  --> $DIR/where-priv-type.rs:35:1
-   |
-LL | / pub fn f()
-LL | |
-LL | |
-LL | | where
-LL | |     PrivTy:
-   | |___________^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error[E0446]: private type `PrivTy` in public interface
-  --> $DIR/where-priv-type.rs:43:1
-   |
-LL | struct PrivTy;
-   | ------------- `PrivTy` declared as private
-...
-LL | impl S
-   | ^^^^^^ can't leak private type
-
-warning: private type `PrivTy` in public interface (error E0446)
-  --> $DIR/where-priv-type.rs:48:5
-   |
-LL | /     pub fn f()
-LL | |
-LL | |
-LL | |     where
-LL | |         PrivTy:
-   | |_______________^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error[E0446]: private type `fn(u8) -> u8 {my_const_fn}` in public interface
-  --> $DIR/where-priv-type.rs:80:5
-   |
-LL |     type AssocTy = Const<{ my_const_fn(U) }>;
-   |     ^^^^^^^^^^^^ can't leak private type
-...
-LL | const fn my_const_fn(val: u8) -> u8 {
-   | ----------------------------------- `fn(u8) -> u8 {my_const_fn}` declared as private
-
-error: aborting due to 2 previous errors; 4 warnings emitted
-
-For more information about this error, try `rustc --explain E0446`.
diff --git a/src/test/ui/privacy/where-pub-type-impls-priv-trait.rs b/src/test/ui/privacy/where-pub-type-impls-priv-trait.rs
deleted file mode 100644
index 87c211df169..00000000000
--- a/src/test/ui/privacy/where-pub-type-impls-priv-trait.rs
+++ /dev/null
@@ -1,56 +0,0 @@
-// priv-in-pub lint tests where the private trait bounds a public type
-
-#![crate_type = "lib"]
-#![feature(generic_const_exprs)]
-#![allow(incomplete_features)]
-
-
-struct PrivTy;
-trait PrivTr {}
-pub struct PubTy;
-pub struct PubTyGeneric<T>(T);
-pub trait PubTr {}
-impl PubTr for PrivTy {}
-impl PrivTr for PubTy {}
-pub trait PubTrWithAssocTy { type AssocTy; }
-impl PubTrWithAssocTy for PrivTy { type AssocTy = PrivTy; }
-
-
-pub struct S
-//~^ ERROR private trait `PrivTr` in public interface
-where
-    PubTy: PrivTr
-{}
-
-
-pub enum E
-//~^ ERROR private trait `PrivTr` in public interface
-where
-    PubTy: PrivTr
-{}
-
-
-pub fn f()
-//~^ ERROR private trait `PrivTr` in public interface
-where
-    PubTy: PrivTr
-{}
-
-
-impl S
-//~^ ERROR private trait `PrivTr` in public interface
-where
-    PubTy: PrivTr
-{
-    pub fn f()
-    //~^ ERROR private trait `PrivTr` in public interface
-    where
-        PubTy: PrivTr
-    {}
-}
-
-
-impl PubTr for PubTy
-where
-    PubTy: PrivTr
-{}
diff --git a/src/test/ui/privacy/where-pub-type-impls-priv-trait.stderr b/src/test/ui/privacy/where-pub-type-impls-priv-trait.stderr
deleted file mode 100644
index a433cebbbc0..00000000000
--- a/src/test/ui/privacy/where-pub-type-impls-priv-trait.stderr
+++ /dev/null
@@ -1,54 +0,0 @@
-error[E0445]: private trait `PrivTr` in public interface
-  --> $DIR/where-pub-type-impls-priv-trait.rs:19:1
-   |
-LL | trait PrivTr {}
-   | ------------ `PrivTr` declared as private
-...
-LL | pub struct S
-   | ^^^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `PrivTr` in public interface
-  --> $DIR/where-pub-type-impls-priv-trait.rs:26:1
-   |
-LL | trait PrivTr {}
-   | ------------ `PrivTr` declared as private
-...
-LL | pub enum E
-   | ^^^^^^^^^^ can't leak private trait
-
-error[E0445]: private trait `PrivTr` in public interface
-  --> $DIR/where-pub-type-impls-priv-trait.rs:33:1
-   |
-LL |   trait PrivTr {}
-   |   ------------ `PrivTr` declared as private
-...
-LL | / pub fn f()
-LL | |
-LL | | where
-LL | |     PubTy: PrivTr
-   | |_________________^ can't leak private trait
-
-error[E0445]: private trait `PrivTr` in public interface
-  --> $DIR/where-pub-type-impls-priv-trait.rs:40:1
-   |
-LL | trait PrivTr {}
-   | ------------ `PrivTr` declared as private
-...
-LL | impl S
-   | ^^^^^^ can't leak private trait
-
-error[E0445]: private trait `PrivTr` in public interface
-  --> $DIR/where-pub-type-impls-priv-trait.rs:45:5
-   |
-LL |   trait PrivTr {}
-   |   ------------ `PrivTr` declared as private
-...
-LL | /     pub fn f()
-LL | |
-LL | |     where
-LL | |         PubTy: PrivTr
-   | |_____________________^ can't leak private trait
-
-error: aborting due to 5 previous errors
-
-For more information about this error, try `rustc --explain E0445`.