Files
rust/tests/ui/module_name_repetitions.rs
2025-02-15 13:38:42 +01:00

58 lines
1.4 KiB
Rust

//@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() {}