2023-08-24 19:32:12 +00:00
|
|
|
//@aux-build: proc_macros.rs
|
2022-08-11 17:42:16 +00:00
|
|
|
|
2020-01-09 00:04:53 +00:00
|
|
|
#![warn(clippy::missing_docs_in_private_items)]
|
|
|
|
#![allow(dead_code)]
|
|
|
|
#![feature(associated_type_defaults)]
|
|
|
|
|
|
|
|
//! Some garbage docs for the crate here
|
|
|
|
#![doc = "More garbage"]
|
|
|
|
|
2023-03-24 13:04:35 +00:00
|
|
|
extern crate proc_macros;
|
|
|
|
use proc_macros::with_span;
|
2022-08-11 17:42:16 +00:00
|
|
|
|
2020-01-09 00:04:53 +00:00
|
|
|
struct Foo {
|
|
|
|
a: isize,
|
|
|
|
b: isize,
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct PubFoo {
|
|
|
|
pub a: isize,
|
|
|
|
b: isize,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[allow(clippy::missing_docs_in_private_items)]
|
|
|
|
pub struct PubFoo2 {
|
|
|
|
pub a: isize,
|
|
|
|
pub c: isize,
|
|
|
|
}
|
|
|
|
|
|
|
|
/// dox
|
|
|
|
pub trait A {
|
|
|
|
/// dox
|
|
|
|
fn foo(&self);
|
|
|
|
/// dox
|
|
|
|
fn foo_with_impl(&self) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[allow(clippy::missing_docs_in_private_items)]
|
|
|
|
trait B {
|
|
|
|
fn foo(&self);
|
|
|
|
fn foo_with_impl(&self) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
pub trait C {
|
|
|
|
fn foo(&self);
|
|
|
|
fn foo_with_impl(&self) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[allow(clippy::missing_docs_in_private_items)]
|
|
|
|
pub trait D {
|
|
|
|
fn dummy(&self) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
/// dox
|
2020-02-27 03:19:18 +00:00
|
|
|
pub trait E: Sized {
|
2020-01-09 00:04:53 +00:00
|
|
|
type AssociatedType;
|
|
|
|
type AssociatedTypeDef = Self;
|
|
|
|
|
|
|
|
/// dox
|
|
|
|
type DocumentedType;
|
|
|
|
/// dox
|
|
|
|
type DocumentedTypeDef = Self;
|
|
|
|
/// dox
|
|
|
|
fn dummy(&self) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Foo {
|
2021-07-19 09:52:05 +00:00
|
|
|
pub fn new() -> Self {
|
|
|
|
Foo { a: 0, b: 0 }
|
|
|
|
}
|
2020-01-09 00:04:53 +00:00
|
|
|
fn bar() {}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl PubFoo {
|
|
|
|
pub fn foo() {}
|
|
|
|
/// dox
|
|
|
|
pub fn foo1() {}
|
2021-06-03 06:41:37 +00:00
|
|
|
#[must_use = "yep"]
|
|
|
|
fn foo2() -> u32 {
|
|
|
|
1
|
|
|
|
}
|
2020-01-09 00:04:53 +00:00
|
|
|
#[allow(clippy::missing_docs_in_private_items)]
|
|
|
|
pub fn foo3() {}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[allow(clippy::missing_docs_in_private_items)]
|
|
|
|
trait F {
|
|
|
|
fn a();
|
|
|
|
fn b(&self);
|
|
|
|
}
|
|
|
|
|
|
|
|
// should need to redefine documentation for implementations of traits
|
|
|
|
impl F for Foo {
|
|
|
|
fn a() {}
|
|
|
|
fn b(&self) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|
2022-08-11 17:42:16 +00:00
|
|
|
|
|
|
|
// don't lint proc macro output
|
|
|
|
with_span!(span
|
|
|
|
pub struct FooPm;
|
|
|
|
impl FooPm {
|
|
|
|
pub fn foo() {}
|
|
|
|
pub const fn bar() {}
|
|
|
|
pub const X: u32 = 0;
|
|
|
|
}
|
|
|
|
);
|