summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lint/lint-attr-everywhere-late.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/lint/lint-attr-everywhere-late.rs')
-rw-r--r--src/test/ui/lint/lint-attr-everywhere-late.rs197
1 files changed, 0 insertions, 197 deletions
diff --git a/src/test/ui/lint/lint-attr-everywhere-late.rs b/src/test/ui/lint/lint-attr-everywhere-late.rs
deleted file mode 100644
index 1055157d6..000000000
--- a/src/test/ui/lint/lint-attr-everywhere-late.rs
+++ /dev/null
@@ -1,197 +0,0 @@
-// Tests that lint levels can be set for late lints.
-#![allow(
- non_snake_case,
- overflowing_literals,
- missing_docs,
- dyn_drop,
- enum_intrinsics_non_enums,
- clashing_extern_declarations
-)]
-
-extern crate core;
-use core::mem::{Discriminant, discriminant};
-
-// The following is a check of the lints used here to verify they do not warn
-// when allowed.
-pub fn missing_docs_allowed() {} // missing_docs
-fn dyn_drop_allowed(_x: Box<dyn Drop>) {} // dyn_drop
-fn verify_no_warnings() {
- discriminant::<i32>(&123); // enum_intrinsics_non_enums
- let x: u8 = 1000; // overflowing_literals
- let NON_SNAKE_CASE = 1; // non_snake_case
-}
-mod clashing_extern_allowed {
- extern "C" {
- fn extern_allowed();
- }
-}
-extern "C" {
- fn extern_allowed(_: i32); // clashing_extern_declarations
-}
-
-// ################## Types
-
-#[deny(missing_docs)]
-pub type MissingDocType = i32; //~ ERROR missing documentation for a type alias
-
-// There aren't any late lints that I can find that can be easily used with types.
-// type BareFnPtr = fn(#[deny()]i32);
-// type BareFnPtrVariadic = extern "C" fn(i32, #[deny()]...);
-
-// ################## Items
-#[deny(missing_docs)]
-pub struct ItemOuter; //~ ERROR missing documentation for a struct
-
-pub mod module_inner { //~ ERROR missing documentation for a module
- #![deny(missing_docs)]
- pub fn missing_inner() {} //~ ERROR missing documentation for a function
-}
-
-pub struct Associated;
-impl Associated {
- #![deny(missing_docs)]
-
- pub fn inherent_denied_from_inner() {} //~ ERROR missing documentation for an associated function
-}
-
-impl Associated {
- #[deny(missing_docs)]
- pub fn inherent_fn() {} //~ ERROR missing documentation for an associated function
-
- #[deny(missing_docs)]
- pub const INHERENT_CONST: i32 = 1; //~ ERROR missing documentation for an associated constant
-}
-
-pub trait TraitInner { //~ ERROR missing documentation for a trait
- #![deny(missing_docs)]
-}
-
-pub trait AssociatedTraitInner { //~ ERROR missing documentation for a trait
- #![deny(missing_docs)]
-
- fn denied_from_inner() {} //~ ERROR missing documentation for an associated function
-}
-
-pub trait AssociatedTrait {
- fn denied_from_inner(_x: Box<dyn Drop>) {} // Used below
-
- #[deny(missing_docs)]
- fn assoc_fn() {} //~ ERROR missing documentation for an associated function
-
- #[deny(missing_docs)]
- const ASSOC_CONST: u8 = 1; //~ ERROR missing documentation for an associated constant
-
- #[deny(missing_docs)]
- type AssocType; //~ ERROR missing documentation for an associated type
-}
-
-struct Foo;
-
-impl AssociatedTrait for Associated {
- #![deny(dyn_drop)]
-
- fn denied_from_inner(_x: Box<dyn Drop>) {} //~ ERROR types that do not implement `Drop`
-
- #[deny(enum_intrinsics_non_enums)]
- fn assoc_fn() { discriminant::<i32>(&123); } //~ ERROR the return value of
-
- #[deny(overflowing_literals)] const ASSOC_CONST: u8 = 1000; //~ ERROR literal out of range
- type AssocType = i32;
-}
-
-
-// There aren't any late lints that can apply to a field that I can find.
-// non_snake_case doesn't work on fields
-// struct StructFields {
-// #[deny()]f1: i32,
-// }
-// struct StructTuple(#[deny()]i32);
-
-pub enum Enum {
- #[deny(missing_docs)]
- Variant1, //~ ERROR missing documentation for a variant
-}
-
-mod clashing_extern {
- extern "C" {
- fn clashing1();
- fn clashing2();
- }
-}
-extern "C" {
- #![deny(clashing_extern_declarations)]
- fn clashing1(_: i32); //~ ERROR `clashing1` redeclared with a different signature
-}
-
-extern "C" {
- #[deny(clashing_extern_declarations)]
- fn clashing2(_: i32); //~ ERROR `clashing2` redeclared with a different signature
-}
-
-fn function(#[deny(non_snake_case)] PARAM: i32) {} //~ ERROR variable `PARAM` should have a snake case name
-// There aren't any late lints that can apply to generics that I can find.
-// fn generics<#[deny()]T>() {}
-
-
-// ################## Statements
-fn statements() {
- #[deny(enum_intrinsics_non_enums)]
- let _ = discriminant::<i32>(&123); //~ ERROR the return value of
-}
-
-
-// ################## Expressions
-fn expressions() {
- let closure = |#[deny(non_snake_case)] PARAM: i32| {}; //~ ERROR variable `PARAM` should have a snake case name
-
- struct Match{f1: i32}
- // I can't find any late lints for patterns.
- // let f = Match{#[deny()]f1: 123};
-
- let f = Match{f1: 123};
- match f {
- #![deny(enum_intrinsics_non_enums)]
- Match{f1} => {
- discriminant::<i32>(&123); //~ ERROR the return value of
- }
- }
- match f {
- #[deny(enum_intrinsics_non_enums)]
- Match{f1} => {
- discriminant::<i32>(&123); //~ ERROR the return value of
- }
- }
-
- // Statement Block
- {
- #![deny(enum_intrinsics_non_enums)]
- discriminant::<i32>(&123); //~ ERROR the return value of
- }
- let block_tail = {
- #[deny(enum_intrinsics_non_enums)]
- discriminant::<i32>(&123); //~ ERROR the return value of
- };
-
- // Before expression as a statement.
- #[deny(enum_intrinsics_non_enums)]
- discriminant::<i32>(&123); //~ ERROR the return value of
-
- [#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123)]; //~ ERROR the return value of
- (#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123),); //~ ERROR the return value of
- fn call(p: Discriminant<i32>) {}
- call(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123)); //~ ERROR the return value of
- struct TupleStruct(Discriminant<i32>);
- TupleStruct(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123)); //~ ERROR the return value of
-}
-
-
-// ################## Patterns
-fn patterns() {
- // There aren't any late lints that I can find that apply to pattern fields.
- //
- // struct PatField{f1: i32, f2: i32};
- // let f = PatField{f1: 1, f2: 2};
- // let PatField{#[deny()]f1, #[deny()]..} = f;
-}
-
-fn main() {}