rust/tests/ui/doc/doc_nested_refdef_blockquote.fixed
Michael Howell 44feca7f3f doc_nested_refdefs: new lint for suspicious refdef syntax
This is more likely to be intended as an intra-doc link than it is
to be intended as a refdef. If a refdef is intended, it does not
need to be nested within a list item or quote.

```markdown
- [`LONG_INTRA_DOC_LINK`]: this
  looks like an intra-doc link,
  but is actually a refdef.
  The first line will seem to
  disappear when rendered as HTML.
```
2024-11-27 13:42:04 -07:00

133 lines
2.3 KiB
Rust

// https://github.com/rust-lang/rust/issues/133150
#![warn(clippy::doc_nested_refdefs)]
#[rustfmt::skip]
/// > [link][]: def
//~^ ERROR: link reference defined in quote
///
/// > [link][]: def (title)
//~^ ERROR: link reference defined in quote
///
/// > [link][]: def "title"
//~^ ERROR: link reference defined in quote
///
/// > [link]: not def
///
/// > [link][]: notdef
///
/// > [link]\: notdef
pub struct Empty;
#[rustfmt::skip]
/// > [link][]: def
//~^ ERROR: link reference defined in quote
/// > inner text
///
/// > [link][]: def (title)
//~^ ERROR: link reference defined in quote
/// > inner text
///
/// > [link][]: def "title"
//~^ ERROR: link reference defined in quote
/// > inner text
///
/// > [link]: not def
/// > inner text
///
/// > [link][]: notdef
/// > inner text
///
/// > [link]\: notdef
/// > inner text
pub struct NotEmpty;
#[rustfmt::skip]
/// > [link][]: def
//~^ ERROR: link reference defined in quote
/// >
/// > inner text
///
/// > [link][]: def (title)
//~^ ERROR: link reference defined in quote
/// >
/// > inner text
///
/// > [link][]: def "title"
//~^ ERROR: link reference defined in quote
/// >
/// > inner text
///
/// > [link]: not def
/// >
/// > inner text
///
/// > [link][]: notdef
/// >
/// > inner text
///
/// > [link]\: notdef
/// >
/// > inner text
pub struct NotEmptyLoose;
#[rustfmt::skip]
/// > first lines
/// > [link]: def
///
/// > first lines
/// > [link]: def (title)
///
/// > firs lines
/// > [link]: def "title"
///
/// > firs lines
/// > [link]: not def
///
/// > first lines
/// > [link][]: notdef
///
/// > first lines
/// > [link]\: notdef
pub struct NotAtStartTight;
#[rustfmt::skip]
/// > first lines
/// >
/// > [link]: def
///
/// > first lines
/// >
/// > [link]: def (title)
///
/// > firs lines
/// >
/// > [link]: def "title"
///
/// > firs lines
/// >
/// > [link]: not def
///
/// > first lines
/// >
/// > [link][]: notdef
///
/// > first lines
/// >
/// > [link]\: notdef
pub struct NotAtStartLoose;
#[rustfmt::skip]
/// > - [link][]: def
//~^ ERROR: link reference defined in list item
/// >
/// > - [link][]: def (title)
//~^ ERROR: link reference defined in list item
/// >
/// > - [link][]: def "title"
//~^ ERROR: link reference defined in list item
/// >
/// > - [link]: not def
/// >
/// > - [link][]: notdef
/// >
/// > - [link]\: notdef
pub struct ListNested;