blob: 9a8d0dcf47548ad35819dc09f6710533c8377be0 [file] [log] [blame]
#![warn(clippy::doc_suspicious_footnotes)]
#![allow(clippy::needless_raw_string_hashes)]
//! This is not a footnote[^1].
//~^ doc_suspicious_footnotes
//!
//! This is not a footnote[^either], but it doesn't warn.
//!
//! This is not a footnote\[^1], but it also doesn't warn.
//!
//! This is not a footnote[^1\], but it also doesn't warn.
//!
//! This is not a `footnote[^1]`, but it also doesn't warn.
//!
//! This is a footnote[^2].
//!
//! [^2]: hello world
/// This is not a footnote[^1].
//~^ doc_suspicious_footnotes
///
/// This is not a footnote[^either], but it doesn't warn.
///
/// This is not a footnote\[^1], but it also doesn't warn.
///
/// This is not a footnote[^1\], but it also doesn't warn.
///
/// This is not a `footnote[^1]`, but it also doesn't warn.
///
/// This is a footnote[^2].
///
/// [^2]: hello world
pub fn footnotes() {
// test code goes here
}
pub struct Foo;
#[rustfmt::skip]
impl Foo {
#[doc = r#"This is not a footnote[^1]."#]
//~^ doc_suspicious_footnotes
#[doc = r#""#]
#[doc = r#"This is not a footnote[^either], but it doesn't warn."#]
#[doc = r#""#]
#[doc = r#"This is not a footnote\[^1], but it also doesn't warn."#]
#[doc = r#""#]
#[doc = r#"This is not a footnote[^1\], but it also doesn't warn."#]
#[doc = r#""#]
#[doc = r#"This is not a `footnote[^1]`, but it also doesn't warn."#]
#[doc = r#""#]
#[doc = r#"This is a footnote[^2]."#]
#[doc = r#""#]
#[doc = r#"[^2]: hello world"#]
pub fn footnotes() {
// test code goes here
}
#[doc = "This is not a footnote[^1].
This is not a footnote[^either], but it doesn't warn.
This is not a footnote\\[^1], but it also doesn't warn.
This is not a footnote[^1\\], but it also doesn't warn.
This is not a `footnote[^1]`, but it also doesn't warn.
This is a footnote[^2].
[^2]: hello world
"]
//~^^^^^^^^^^^^^^ doc_suspicious_footnotes
pub fn footnotes2() {
// test code goes here
}
#[cfg_attr(
not(FALSE),
doc = "This is not a footnote[^1].\n\nThis is not a footnote[^either], but it doesn't warn."
//~^ doc_suspicious_footnotes
)]
pub fn footnotes3() {
// test code goes here
}
#[doc = "My footnote [^foot\note]"]
pub fn footnote4() {
// test code goes here
}
#[doc = "Hihi"]pub fn footnote5() {
// test code goes here
}
}
#[doc = r"This is not a footnote[^1]."]
//~^ doc_suspicious_footnotes
#[doc = r""]
#[doc = r"This is not a footnote[^either], but it doesn't warn."]
#[doc = r""]
#[doc = r"This is not a footnote\[^1], but it also doesn't warn."]
#[doc = r""]
#[doc = r"This is not a footnote[^1\], but it also doesn't warn."]
#[doc = r""]
#[doc = r"This is not a `footnote[^1]`, but it also doesn't warn."]
#[doc = r""]
#[doc = r"This is a footnote[^2]."]
#[doc = r""]
#[doc = r"[^2]: hello world"]
pub fn footnotes_attrs() {
// test code goes here
}
pub mod multiline {
/*!
* This is not a footnote[^1]. //~ doc_suspicious_footnotes
*
* This is not a footnote\[^1], but it doesn't warn.
*
* This is a footnote[^2].
*
* These give weird results, but correct ones, so it works.
*
* [^2]: hello world
*/
/**
* This is not a footnote[^1]. //~ doc_suspicious_footnotes
*
* This is not a footnote\[^1], but it doesn't warn.
*
* This is a footnote[^2].
*
* These give weird results, but correct ones, so it works.
*
* [^2]: hello world
*/
pub fn foo() {}
}
/// This is not a footnote [^1]
//~^ doc_suspicious_footnotes
///
/// This one is [^2]
///
/// [^2]: contents
#[doc = "This is not a footnote [^3]"]
//~^ doc_suspicious_footnotes
#[doc = ""]
#[doc = "This one is [^4]"]
#[doc = ""]
#[doc = "[^4]: contents"]
pub struct MultiFragmentFootnote;
#[doc(inline)]
/// This is not a footnote [^5]
//~^ doc_suspicious_footnotes
///
/// This one is [^6]
///
/// [^6]: contents
#[doc = "This is not a footnote [^7]"]
//~^ doc_suspicious_footnotes
#[doc = ""]
#[doc = "This one is [^8]"]
#[doc = ""]
#[doc = "[^8]: contents"]
pub use MultiFragmentFootnote as OtherInlinedFootnote;