forked from rust-lang/rust
-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of rust-lang#7904 - Serial-ATA:improve-doc-suggestion, r=x…
…Frednet Add suggestion to missing backticks error changelog: Add a machine applicable suggestion for the [`doc_markdown`] missing backticks lint closes: rust-lang#7737
- Loading branch information
Showing
8 changed files
with
437 additions
and
238 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,215 @@ | ||
// run-rustfix | ||
//! This file tests for the `DOC_MARKDOWN` lint. | ||
#![allow(dead_code, incomplete_features)] | ||
#![warn(clippy::doc_markdown)] | ||
#![feature(custom_inner_attributes, generic_const_exprs, const_option)] | ||
#![rustfmt::skip] | ||
|
||
/// The `foo_bar` function does _nothing_. See also `foo::bar`. (note the dot there) | ||
/// Markdown is _weird_. I mean _really weird_. This \_ is ok. So is `_`. But not `Foo::some_fun` | ||
/// which should be reported only once despite being __doubly bad__. | ||
/// Here be `::a::global:path`, and _`::another::global::path`_. :: is not a path though. | ||
/// Import an item from `::awesome::global::blob::` (Intended postfix) | ||
/// These are the options for `::Cat`: (Intended trailing single colon, shouldn't be linted) | ||
/// That's not code ~`NotInCodeBlock`~. | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn foo_bar() { | ||
} | ||
|
||
/// That one tests multiline ticks. | ||
/// ```rust | ||
/// foo_bar FOO_BAR | ||
/// _foo bar_ | ||
/// ``` | ||
/// | ||
/// ~~~rust | ||
/// foo_bar FOO_BAR | ||
/// _foo bar_ | ||
/// ~~~ | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn multiline_codeblock() { | ||
} | ||
|
||
/// This _is a test for | ||
/// multiline | ||
/// emphasis_. | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn test_emphasis() { | ||
} | ||
|
||
/// This tests units. See also #835. | ||
/// kiB MiB GiB TiB PiB EiB | ||
/// kib Mib Gib Tib Pib Eib | ||
/// kB MB GB TB PB EB | ||
/// kb Mb Gb Tb Pb Eb | ||
/// 32kiB 32MiB 32GiB 32TiB 32PiB 32EiB | ||
/// 32kib 32Mib 32Gib 32Tib 32Pib 32Eib | ||
/// 32kB 32MB 32GB 32TB 32PB 32EB | ||
/// 32kb 32Mb 32Gb 32Tb 32Pb 32Eb | ||
/// NaN | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn test_units() { | ||
} | ||
|
||
/// This tests allowed identifiers. | ||
/// KiB MiB GiB TiB PiB EiB | ||
/// DirectX | ||
/// ECMAScript | ||
/// GPLv2 GPLv3 | ||
/// GitHub GitLab | ||
/// IPv4 IPv6 | ||
/// ClojureScript CoffeeScript JavaScript PureScript TypeScript | ||
/// NaN NaNs | ||
/// OAuth GraphQL | ||
/// OCaml | ||
/// OpenGL OpenMP OpenSSH OpenSSL OpenStreetMap OpenDNS | ||
/// WebGL | ||
/// TensorFlow | ||
/// TrueType | ||
/// iOS macOS FreeBSD | ||
/// TeX LaTeX BibTeX BibLaTeX | ||
/// MinGW | ||
/// CamelCase (see also #2395) | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn test_allowed() { | ||
} | ||
|
||
/// This test has [a `link_with_underscores`][chunked-example] inside it. See #823. | ||
/// See also [the issue tracker](https://github.com/rust-lang/rust-clippy/search?q=clippy::doc_markdown&type=Issues) | ||
/// on GitHub (which is a camel-cased word, but is OK). And here is another [inline link][inline_link]. | ||
/// It can also be [`inline_link2`]. | ||
/// | ||
/// [chunked-example]: https://en.wikipedia.org/wiki/Chunked_transfer_encoding#Example | ||
/// [inline_link]: https://foobar | ||
/// [inline_link2]: https://foobar | ||
/// The `main` function is the entry point of the program. Here it only calls the `foo_bar` and | ||
/// `multiline_ticks` functions. | ||
/// | ||
/// expression of the type `_ <bit_op> m <cmp_op> c` (where `<bit_op>` | ||
/// is one of {`&`, '|'} and `<cmp_op>` is one of {`!=`, `>=`, `>` , | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn main() { | ||
foo_bar(); | ||
multiline_codeblock(); | ||
test_emphasis(); | ||
test_units(); | ||
} | ||
|
||
/// ## `CamelCaseThing` | ||
/// Talks about `CamelCaseThing`. Titles should be ignored; see issue #897. | ||
/// | ||
/// # `CamelCaseThing` | ||
/// | ||
/// Not a title #897 `CamelCaseThing` | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn issue897() { | ||
} | ||
|
||
/// I am confused by brackets? (`x_y`) | ||
/// I am confused by brackets? (foo `x_y`) | ||
/// I am confused by brackets? (`x_y` foo) | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn issue900() { | ||
} | ||
|
||
/// Diesel queries also have a similar problem to [Iterator][iterator], where | ||
/// /// More talking | ||
/// returning them from a function requires exposing the implementation of that | ||
/// function. The [`helper_types`][helper_types] module exists to help with this, | ||
/// but you might want to hide the return type or have it conditionally change. | ||
/// Boxing can achieve both. | ||
/// | ||
/// [iterator]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html | ||
/// [helper_types]: ../helper_types/index.html | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn issue883() { | ||
} | ||
|
||
/// `foo_bar | ||
/// baz_quz` | ||
/// [foo | ||
/// bar](https://doc.rust-lang.org/stable/std/iter/trait.IteratorFooBar.html) | ||
fn multiline() { | ||
} | ||
|
||
/** E.g., serialization of an empty list: `FooBar` | ||
``` | ||
That's in a code block: `PackedNode` | ||
``` | ||
And `BarQuz` too. | ||
`be_sure_we_got_to_the_end_of_it` | ||
*/ | ||
fn issue1073() { | ||
} | ||
|
||
/** E.g., serialization of an empty list: `FooBar` | ||
``` | ||
That's in a code block: PackedNode | ||
``` | ||
And `BarQuz` too. | ||
`be_sure_we_got_to_the_end_of_it` | ||
*/ | ||
fn issue1073_alt() { | ||
} | ||
|
||
/// Tests more than three quotes: | ||
/// ```` | ||
/// DoNotWarn | ||
/// ``` | ||
/// StillDont | ||
/// ```` | ||
/// `be_sure_we_got_to_the_end_of_it` | ||
fn four_quotes() { | ||
} | ||
|
||
#[cfg_attr(feature = "a", doc = " ```")] | ||
#[cfg_attr(not(feature = "a"), doc = " ```ignore")] | ||
/// fn main() { | ||
/// let s = "localhost:10000".to_string(); | ||
/// println!("{}", s); | ||
/// } | ||
/// ``` | ||
fn issue_1469() {} | ||
|
||
/** | ||
* This is a doc comment that should not be a list | ||
*This would also be an error under a strict common mark interpretation | ||
*/ | ||
fn issue_1920() {} | ||
|
||
/// An iterator over `mycrate::Collection`'s values. | ||
/// It should not lint a `'static` lifetime in ticks. | ||
fn issue_2210() {} | ||
|
||
/// This should not cause the lint to trigger: | ||
/// #REQ-data-family.lint_partof_exists | ||
fn issue_2343() {} | ||
|
||
/// This should not cause an ICE: | ||
/// __|_ _|__||_| | ||
fn pulldown_cmark_crash() {} | ||
|
||
/// This should not lint | ||
/// (regression test for #7758) | ||
/// [plain text][path::to::item] | ||
fn intra_doc_link() {} | ||
|
||
// issue #7033 - generic_const_exprs ICE | ||
struct S<T, const N: usize> | ||
where [(); N.checked_next_power_of_two().unwrap()]: { | ||
arr: [T; N.checked_next_power_of_two().unwrap()], | ||
n: usize, | ||
} | ||
|
||
impl<T: Copy + Default, const N: usize> S<T, N> | ||
where [(); N.checked_next_power_of_two().unwrap()]: { | ||
fn new() -> Self { | ||
Self { | ||
arr: [T::default(); N.checked_next_power_of_two().unwrap()], | ||
n: 0, | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.