diff --git a/src/librustc/lint/builtin.rs b/src/librustc/lint/builtin.rs index ed94e5fe377c4..173f8d496990a 100644 --- a/src/librustc/lint/builtin.rs +++ b/src/librustc/lint/builtin.rs @@ -114,7 +114,7 @@ declare_lint! { declare_lint! { pub PRIVATE_IN_PUBLIC, - Deny, + Warn, "detect private items in public interfaces not caught by the old implementation" } diff --git a/src/librustc_privacy/diagnostics.rs b/src/librustc_privacy/diagnostics.rs index 891b6adea7893..66afe5835bf6f 100644 --- a/src/librustc_privacy/diagnostics.rs +++ b/src/librustc_privacy/diagnostics.rs @@ -17,6 +17,8 @@ A private trait was used on a public type parameter bound. Erroneous code examples: ```compile_fail,E0445 +#![deny(private_in_public)] + trait Foo { fn dummy(&self) { } } @@ -45,6 +47,8 @@ E0446: r##" A private type was used in a public type signature. Erroneous code example: ```compile_fail,E0446 +#![deny(private_in_public)] + mod Foo { struct Bar(u32); diff --git a/src/test/compile-fail/issue-28514.rs b/src/test/compile-fail/issue-28514.rs index 6ee375503c2af..fb25166531dcb 100644 --- a/src/test/compile-fail/issue-28514.rs +++ b/src/test/compile-fail/issue-28514.rs @@ -8,6 +8,8 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#![deny(private_in_public)] + pub use inner::C; mod inner { diff --git a/src/test/compile-fail/issue-30079.rs b/src/test/compile-fail/issue-30079.rs index 55c58ed021b27..6a54e53f14638 100644 --- a/src/test/compile-fail/issue-30079.rs +++ b/src/test/compile-fail/issue-30079.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#![deny(private_in_public)] #![allow(unused)] struct SemiPriv; diff --git a/src/test/compile-fail/private-in-public-warn.rs b/src/test/compile-fail/private-in-public-warn.rs index 6d6af77be92b0..455de37aee96f 100644 --- a/src/test/compile-fail/private-in-public-warn.rs +++ b/src/test/compile-fail/private-in-public-warn.rs @@ -13,8 +13,8 @@ #![feature(associated_consts)] #![feature(associated_type_defaults)] -#![allow(dead_code)] -#![allow(unused_variables)] +#![deny(private_in_public)] +#![allow(unused)] #![allow(improper_ctypes)] mod types { diff --git a/src/test/compile-fail/private-variant-and-crate-reexport.rs b/src/test/compile-fail/private-variant-and-crate-reexport.rs index ce029e7eff7fc..dce533e73feea 100644 --- a/src/test/compile-fail/private-variant-and-crate-reexport.rs +++ b/src/test/compile-fail/private-variant-and-crate-reexport.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#![deny(private_in_public)] #![allow(dead_code)] extern crate core;