blob: 2fde98d7927c262fba0b44072dc1e4f7688bd3e2 [file] [log] [blame]
//@compile-flags: --test
#![warn(clippy::module_name_repetitions)]
#![allow(dead_code)]
pub mod foo {
pub fn foo() {}
pub fn foo_bar() {}
//~^ module_name_repetitions
pub fn bar_foo() {}
//~^ module_name_repetitions
pub struct FooCake;
//~^ module_name_repetitions
pub enum CakeFoo {}
//~^ module_name_repetitions
pub struct Foo7Bar;
//~^ module_name_repetitions
// Should not warn
pub struct Foobar;
// #8524 - shouldn't warn when item is declared in a private module...
mod error {
pub struct Error;
pub struct FooError;
}
pub use error::Error;
// ... but should still warn when the item is reexported to create a *public* path with repetition.
pub use error::FooError;
//~^ module_name_repetitions
// FIXME: This should also warn because it creates the public path `foo::FooIter`.
mod iter {
pub struct FooIter;
}
pub use iter::*;
// #12544 - shouldn't warn if item name consists only of an allowed prefix and a module name.
pub fn to_foo() {}
pub fn into_foo() {}
pub fn as_foo() {}
pub fn from_foo() {}
pub fn try_into_foo() {}
pub fn try_from_foo() {}
pub trait IntoFoo {}
pub trait ToFoo {}
pub trait AsFoo {}
pub trait FromFoo {}
pub trait TryIntoFoo {}
pub trait TryFromFoo {}
}
fn main() {}