64 lines
1.1 KiB
Rust
64 lines
1.1 KiB
Rust
//@aux-build:external_item.rs
|
|
#![allow(unused)]
|
|
#![warn(clippy::used_underscore_items)]
|
|
|
|
extern crate external_item;
|
|
|
|
// should not lint macro
|
|
macro_rules! macro_wrap_func {
|
|
() => {
|
|
fn _marco_foo() {}
|
|
};
|
|
}
|
|
|
|
macro_wrap_func!();
|
|
|
|
struct _FooStruct {}
|
|
|
|
impl _FooStruct {
|
|
fn _method_call(self) {}
|
|
}
|
|
|
|
fn _foo1() {}
|
|
|
|
fn _foo2() -> i32 {
|
|
0
|
|
}
|
|
|
|
mod a {
|
|
pub mod b {
|
|
pub mod c {
|
|
pub fn _foo3() {}
|
|
|
|
pub struct _FooStruct2 {}
|
|
|
|
impl _FooStruct2 {
|
|
pub fn _method_call(self) {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
_foo1();
|
|
let _ = _foo2();
|
|
a::b::c::_foo3();
|
|
let _ = &_FooStruct {};
|
|
let _ = _FooStruct {};
|
|
|
|
let foo_struct = _FooStruct {};
|
|
foo_struct._method_call();
|
|
|
|
let foo_struct2 = a::b::c::_FooStruct2 {};
|
|
foo_struct2._method_call();
|
|
}
|
|
|
|
// should not lint exteranl crate.
|
|
// user cannot control how others name their items
|
|
fn external_item_call() {
|
|
let foo_struct3 = external_item::_ExternalStruct {};
|
|
foo_struct3._foo();
|
|
|
|
external_item::_exernal_foo();
|
|
}
|