blob: 22386245ffe6b596cf9a2498dcf4ef6a243d4227 [file] [log] [blame]
#![warn(clippy::empty_structs_with_brackets)]
#![allow(dead_code)]
pub struct MyEmptyStruct; // should trigger lint
//~^ empty_structs_with_brackets
struct MyEmptyTupleStruct; // should trigger lint
//~^ empty_structs_with_brackets
// should not trigger lint
struct MyCfgStruct {
#[cfg(feature = "thisisneverenabled")]
field: u8,
}
// should not trigger lint
struct MyCfgTupleStruct(#[cfg(feature = "thisisneverenabled")] u8);
// should not trigger lint
struct MyStruct {
field: u8,
}
struct MyTupleStruct(usize, String); // should not trigger lint
struct MySingleTupleStruct(usize); // should not trigger lint
struct MyUnitLikeStruct; // should not trigger lint
macro_rules! empty_struct {
($s:ident) => {
struct $s {}
};
}
empty_struct!(FromMacro);
fn main() {}
mod issue15349 {
trait Bar<T> {}
impl<T> Bar<T> for [u8; 7] {}
struct Foo<const N: usize>;
//~^ empty_structs_with_brackets
impl<const N: usize> Foo<N>
where
[u8; N]: Bar<[(); N]>,
{
fn foo() {}
}
}