privacy: Feature gate new type privacy lints
This commit is contained in:
parent
f9097f87c9
commit
d326aed46f
17 changed files with 149 additions and 32 deletions
|
@ -539,6 +539,8 @@ declare_features! (
|
|||
/// Allows creation of instances of a struct by moving fields that have
|
||||
/// not changed from prior instances of the same struct (RFC #2528)
|
||||
(active, type_changing_struct_update, "1.58.0", Some(86555), None),
|
||||
/// Allows using type privacy lints (`private_interfaces`, `private_bounds`, `unnameable_types`).
|
||||
(active, type_privacy_lints, "CURRENT_RUSTC_VERSION", Some(48054), None),
|
||||
/// Enables rustc to generate code that instructs libstd to NOT ignore SIGPIPE.
|
||||
(active, unix_sigpipe, "1.65.0", Some(97889), None),
|
||||
/// Allows unsized fn parameters.
|
||||
|
|
|
@ -4263,6 +4263,7 @@ declare_lint! {
|
|||
/// ### Example
|
||||
///
|
||||
/// ```rust,compile_fail
|
||||
/// # #![feature(type_privacy_lints)]
|
||||
/// # #![allow(unused)]
|
||||
/// # #![allow(private_in_public)]
|
||||
/// #![deny(private_interfaces)]
|
||||
|
@ -4287,6 +4288,7 @@ declare_lint! {
|
|||
pub PRIVATE_INTERFACES,
|
||||
Allow,
|
||||
"private type in primary interface of an item",
|
||||
@feature_gate = sym::type_privacy_lints;
|
||||
}
|
||||
|
||||
declare_lint! {
|
||||
|
@ -4297,6 +4299,7 @@ declare_lint! {
|
|||
/// ### Example
|
||||
///
|
||||
/// ```rust,compile_fail
|
||||
/// # #![feature(type_privacy_lints)]
|
||||
/// # #![allow(private_in_public)]
|
||||
/// # #![allow(unused)]
|
||||
/// #![deny(private_bounds)]
|
||||
|
@ -4316,7 +4319,8 @@ declare_lint! {
|
|||
/// the item actually provides.
|
||||
pub PRIVATE_BOUNDS,
|
||||
Allow,
|
||||
"private type in secondary interface of an item"
|
||||
"private type in secondary interface of an item",
|
||||
@feature_gate = sym::type_privacy_lints;
|
||||
}
|
||||
|
||||
declare_lint! {
|
||||
|
@ -4326,6 +4330,7 @@ declare_lint! {
|
|||
/// ### Example
|
||||
///
|
||||
/// ```rust,compile_fail
|
||||
/// # #![feature(type_privacy_lints)]
|
||||
/// # #![allow(unused)]
|
||||
/// #![deny(unnameable_types)]
|
||||
/// mod m {
|
||||
|
@ -4344,5 +4349,6 @@ declare_lint! {
|
|||
/// you can name the type `T` as well, this lint attempts to enforce this rule.
|
||||
pub UNNAMEABLE_TYPES,
|
||||
Allow,
|
||||
"effective visibility of a type is larger than the area in which it can be named"
|
||||
"effective visibility of a type is larger than the area in which it can be named",
|
||||
@feature_gate = sym::type_privacy_lints;
|
||||
}
|
||||
|
|
|
@ -1555,6 +1555,7 @@ symbols! {
|
|||
type_length_limit,
|
||||
type_macros,
|
||||
type_name,
|
||||
type_privacy_lints,
|
||||
u128,
|
||||
u16,
|
||||
u32,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue