Commit graph

275 commits

Author SHA1 Message Date
Joshua Nelson
e280ae862c x.py test --bless 2020-11-21 11:08:58 -05:00
Guillaume Gomez
bbd302bab4 Add test to ensure that "invalid HTML tag" lint isn't fired in code blocks 2020-11-16 16:44:41 +01:00
Guillaume Gomez
804ca1d5b7
Rollup merge of #78984 - GuillaumeGomez:rustdoc-check-option, r=jyn514
Rustdoc check option

The ultimate goal behind this option would be to have `rustdoc --check` being run when you use `cargo check` as a second step.

r? `@jyn514`
2020-11-13 15:26:16 +01:00
Guillaume Gomez
a06fd1f4f4 Ensure that INVALID_CODEBLOCK_ATTRIBUTES lint is emitted 2020-11-12 22:41:10 +01:00
Guillaume Gomez
5e154fae92 Add tests for rustdoc --check option 2020-11-12 14:58:07 +01:00
Bastian Kauschke
a9eacf33b7 add error-in-impl-trait const generics test 2020-11-11 21:24:03 +01:00
Guillaume Gomez
9d114506c6 Rename lint to non_autolinks 2020-11-05 10:22:08 +01:00
Guillaume Gomez
6be97e2250 Improve lint even more 2020-11-05 10:22:08 +01:00
Guillaume Gomez
1fb404bebe Don't check for URLs inside codeblocks 2020-11-05 10:22:08 +01:00
Guillaume Gomez
60caf51b0d Rename automatic_links to url_improvements 2020-11-05 10:22:08 +01:00
Guillaume Gomez
7f839b2ece Improve automatic_links globally 2020-11-05 10:22:08 +01:00
Guillaume Gomez
f467b8d77c Extend automatic_links lint to take into account URLs without link syntax 2020-11-05 10:22:08 +01:00
Guillaume Gomez
6bc8965c41 Add tests for automatic_links lint 2020-11-05 10:22:08 +01:00
Yuki Okushi
5f5ef052b1
Rollup merge of #77753 - GuillaumeGomez:check-html-comments, r=jyn514
Check html comments

Part of #67799.

cc @ollie27
r? @jyn514
2020-10-15 07:32:31 +09:00
Yuki Okushi
35210a66ed
Rollup merge of #77570 - GuillaumeGomez:whitespace-doc-alias, r=jyn514,ollie27
Allow ascii whitespace char for doc aliases

Fixes issue from https://github.com/rust-lang/rust/issues/76705#issuecomment-703123847

cc @lopopolo @ollie27

r? @jyn514
2020-10-15 07:32:27 +09:00
Guillaume Gomez
dd3be78237 Handle multi-line HTML comments 2020-10-14 10:25:55 +02:00
Guillaume Gomez
0009cbaabd Add check for HTML comments 2020-10-13 12:53:24 +02:00
bors
4d63435aae Auto merge of #76196 - r-52:r-coverage-allow-missing-docs, r=jyn514
rustdoc: skip #[allow(missing docs)] for docs in coverage report

During the document coverage reporting with:
```bash
rustdoc something.rs -Z unstable-options --show-coverage
```

the coverage report counts code that is marked with `#[allow(missing_docs)]` for the calculation, which outputs lower numbers in the coverage report even though these parts should be ignored for the calculation.

Right now I'm not sure how this can be tested (CI)? (I verified it by hand and ran the unit tests)

r? `@jyn514`

**Reference:** Fixes #76121
2020-10-13 04:41:08 +00:00
Guillaume Gomez
685444008b Extend test to ensure that items inherit lint level from the parent 2020-10-12 14:32:41 +02:00
Guillaume Gomez
22465b35a6 Apply same treatment to MISSING_DOC_CODE_EXAMPLES 2020-10-12 13:46:37 +02:00
Guillaume Gomez
b31f5d05b1 Inherit lint level from parents 2020-10-12 13:46:37 +02:00
Roman
02e6b861eb rustdoc: skip allow missing doc in cover. report
During the document coverage reporting with
```bash
rustdoc something.rs -Z unstable-options --show-coverage
```

the coverage report also includes parts of the code that are marked
with `#[allow(missing_docs)]`, which outputs lower numbers in the
coverage report even though these parts should be ignored for the
calculation.

Co-authored-by: Joshua Nelson <joshua@yottadb.com>
2020-10-12 13:46:37 +02:00
Dániel Buga
3858c0fddd Apply suggestions from code review
Co-authored-by: Joshua Nelson <joshua@yottadb.com>
2020-10-10 15:52:57 +02:00
bors
b1af43bc63 Auto merge of #76934 - camelid:rustdoc-allow-generic-params, r=jyn514
Allow generic parameters in intra-doc links

Fixes #62834.

---

The contents of the generics will be mostly ignored (except for warning
if fully-qualified syntax is used, which is currently unsupported in
intra-doc links - see issue #74563).

* Allow links like `Vec<T>`, `Result<T, E>`, and `Option<Box<T>>`
* Allow links like `Vec::<T>::new()`
* Warn on
  * Unbalanced angle brackets (e.g. `Vec<T` or `Vec<T>>`)
  * Missing type to apply generics to (`<T>` or `<Box<T>>`)
  * Use of fully-qualified syntax (`<Vec as IntoIterator>::into_iter`)
  * Invalid path separator (`Vec:<T>:new`)
  * Too many angle brackets (`Vec<<T>>`)
  * Empty angle brackets (`Vec<>`)

Note that this implementation *does* allow some constructs that aren't
valid in the actual Rust syntax, for example `Box::<T>new()`. That may
not be supported in rustdoc in the future; it is an implementation
detail.
2020-10-10 21:19:50 +00:00
Guillaume Gomez
e3b1be3b62 Remove unneeded ImportItem on glob ones 2020-10-09 20:26:06 +02:00
Guillaume Gomez
bfdfc66f73 Add test to ensure that external items aren't lint-checked 2020-10-09 20:25:44 +02:00
Guillaume Gomez
7c0d576c59 Add test for reexported items lints 2020-10-09 20:24:59 +02:00
Camelid
4c765f66a4 Allow generic parameters in intra-doc links
The contents of the generics will be mostly ignored (except for warning
if fully-qualified syntax is used, which is currently unsupported in
intra-doc links - see issue #74563).

* Allow links like `Vec<T>`, `Result<T, E>`, and `Option<Box<T>>`
* Allow links like `Vec::<T>::new()`
* Warn on
  * Unbalanced angle brackets (e.g. `Vec<T` or `Vec<T>>`)
  * Missing type to apply generics to (`<T>` or `<Box<T>>`)
  * Use of fully-qualified syntax (`<Vec as IntoIterator>::into_iter`)
  * Invalid path separator (`Vec:<T>:new`)
  * Too many angle brackets (`Vec<<T>>`)
  * Empty angle brackets (`Vec<>`)

Note that this implementation *does* allow some constructs that aren't
valid in the actual Rust syntax, for example `Box::<T>new()`. That may
not be supported in rustdoc in the future; it is an implementation
detail.
2020-10-08 22:24:34 -07:00
bors
8ae3b50976 Auto merge of #77119 - GuillaumeGomez:unclosed-html-tag-lint, r=jyn514
Unclosed html tag lint

Part of #67799.

I think `@ollie27` will be interested (`@Manishearth` too since they opened the issue ;) ).

r? `@jyn514`
2020-10-07 09:56:51 +00:00
Guillaume Gomez
11f3476c59 Enforce whitespace ascii character check for doc alias 2020-10-06 14:29:42 +02:00
Guillaume Gomez
a215151cd3 Allow ascii whitespace char for doc aliases 2020-10-05 16:37:13 +02:00
Dylan DPC
e6e7ccc28d
Rollup merge of #76329 - GuillaumeGomez:doc-alias-crate-level, r=matthewjasper
Add check for doc alias attribute at crate level

Fixes #76298, #64734, #69365.

r? @ollie27
2020-10-05 02:29:27 +02:00
Guillaume Gomez
3641a37455 Enforce crate level attributes checks 2020-10-04 13:36:47 +02:00
Yuki Okushi
0ed4849a3e
Rollup merge of #77469 - camelid:rustdoc-better-failed-res-error, r=jyn514
Improve rustdoc error for failed intra-doc link resolution

The previous error was confusing since it made it sound like you can't
link to items that are defined outside the current module.

Also suggested importing the item.

r? @jyn514
2020-10-04 11:45:08 +09:00
Guillaume Gomez
5c836e3207 Add test for #[doc(alias = "...")] at crate level 2020-10-03 21:33:47 +02:00
Guillaume Gomez
d3b7b7e23a Enforce closing HTML tags to have a ">" character 2020-10-03 16:23:03 +02:00
Guillaume Gomez
ca199b16e5 Use char_indices() instead of chars() to prevent more than one-byte characters issue 2020-10-03 15:43:04 +02:00
Guillaume Gomez
5bc148957e Correctly handle unicode characters and tags being open just before the end of the doc comment 2020-10-03 14:16:24 +02:00
Guillaume Gomez
30cabfd215 Don't warn if the tag is nested inside a <script> or inside a <style> 2020-10-03 14:16:24 +02:00
Guillaume Gomez
b2321bb8da Add test for invalid_html_tag lint in deny(rustdoc) 2020-10-03 14:16:24 +02:00
Guillaume Gomez
6163d89224 Improve code 2020-10-03 14:16:24 +02:00
Guillaume Gomez
6271a0a46d Improve invalid_html_tags lint span 2020-10-03 14:16:24 +02:00
Guillaume Gomez
bc6ec6fe36 Add test for unclosed_html_tag lint 2020-10-03 14:16:24 +02:00
Guillaume Gomez
e6027a42e1 Add unclosed_html_tags lint 2020-10-03 14:16:23 +02:00
Camelid
aa9b718cf0 Improve error messages 2020-10-02 19:53:09 -07:00
Camelid
21fb9dfa8d Use old error when there's partial resolution
The new error was confusing when there was partial resolution (something
like `std::io::nonexistent`); the old one is better for those cases.
2020-10-02 18:00:57 -07:00
Camelid
0193a8871c Remove unhelpful help message 2020-10-02 14:47:41 -07:00
Camelid
87f3f81451 Improve rustdoc error for failed intra-doc link resolution
The previous error was confusing since it made it sound like you can't
link to items that are defined outside the current module.

Also suggested importing the item.
2020-10-02 14:36:34 -07:00
Jonas Schievink
c7c2418227
Rollup merge of #76811 - GuillaumeGomez:doc-alias-name-restriction, r=oli-obk,ollie27
Doc alias name restriction

Fixes #76705.
2020-10-02 20:27:03 +02:00
Guillaume Gomez
414aecb13e Update tests 2020-10-02 19:26:59 +02:00