use crate::lint::FutureIncompatibleInfo;
use crate::{declare_lint, declare_lint_pass};
use rustc_span::edition::Edition;
+use rustc_span::symbol::sym;
declare_lint! {
pub ILL_FORMED_ATTRIBUTE_INPUT,
reference: "issue #57571 <https://github.com/rust-lang/rust/issues/57571>",
edition: None,
};
+ crate_level_only
}
declare_lint! {
declare_lint! {
pub UNUSED_CRATE_DEPENDENCIES,
Allow,
- "crate dependencies that are never used"
+ "crate dependencies that are never used",
+ crate_level_only
}
declare_lint! {
declare_lint! {
pub UNKNOWN_CRATE_TYPES,
Deny,
- "unknown crate type found in `#[crate_type]` directive"
+ "unknown crate type found in `#[crate_type]` directive",
+ crate_level_only
}
declare_lint! {
declare_lint! {
pub ELIDED_LIFETIMES_IN_PATHS,
Allow,
- "hidden lifetime parameters in types are deprecated"
+ "hidden lifetime parameters in types are deprecated",
+ crate_level_only
}
declare_lint! {
reference: "issue #52234 <https://github.com/rust-lang/rust/issues/52234>",
edition: None,
};
+ crate_level_only
}
declare_lint! {
pub UNSAFE_OP_IN_UNSAFE_FN,
Allow,
"unsafe operations in unsafe functions without an explicit unsafe block are deprecated",
+ @feature_gate = sym::unsafe_block_in_unsafe_fn;
+}
+
+declare_lint! {
+ pub CENUM_IMPL_DROP_CAST,
+ Warn,
+ "a C-like enum implementing Drop is cast",
+ @future_incompatible = FutureIncompatibleInfo {
+ reference: "issue #73333 <https://github.com/rust-lang/rust/issues/73333>",
+ edition: None,
+ };
}
declare_lint_pass! {
INLINE_NO_SANITIZE,
ASM_SUB_REGISTER,
UNSAFE_OP_IN_UNSAFE_FN,
+ INCOMPLETE_INCLUDE,
+ CENUM_IMPL_DROP_CAST,
]
}