| Age | Commit message (Collapse) | Author | Lines |
|
rustdoc: add option to calculate "documentation coverage"
This PR adds a new flag to rustdoc, `--show-coverage`. When passed, this flag will make rustdoc count the number of items in a crate with documentation instead of generating docs. This count will be output as a table of each file in the crate, like this (when run on my crate `egg-mode`):
```
+-------------------------------------+------------+------------+------------+
| File | Documented | Total | Percentage |
+-------------------------------------+------------+------------+------------+
| src/auth.rs | 16 | 16 | 100.0% |
| src/common/mod.rs | 1 | 1 | 100.0% |
| src/common/response.rs | 9 | 9 | 100.0% |
| src/cursor.rs | 24 | 24 | 100.0% |
| src/direct/fun.rs | 6 | 6 | 100.0% |
| src/direct/mod.rs | 41 | 41 | 100.0% |
| src/entities.rs | 50 | 50 | 100.0% |
| src/error.rs | 27 | 27 | 100.0% |
| src/lib.rs | 1 | 1 | 100.0% |
| src/list/fun.rs | 19 | 19 | 100.0% |
| src/list/mod.rs | 22 | 22 | 100.0% |
| src/media/mod.rs | 27 | 27 | 100.0% |
| src/place/fun.rs | 8 | 8 | 100.0% |
| src/place/mod.rs | 35 | 35 | 100.0% |
| src/search.rs | 26 | 26 | 100.0% |
| src/service.rs | 74 | 74 | 100.0% |
| src/stream/mod.rs | 49 | 49 | 100.0% |
| src/tweet/fun.rs | 15 | 15 | 100.0% |
| src/tweet/mod.rs | 73 | 73 | 100.0% |
| src/user/fun.rs | 24 | 24 | 100.0% |
| src/user/mod.rs | 87 | 87 | 100.0% |
+-------------------------------------+------------+------------+------------+
| Total | 634 | 634 | 100.0% |
+-------------------------------------+------------+------------+------------+
```
Trait implementations are not counted because by default they "inherit" the docs from the trait, even though an impl can override those docs. Similarly, inherent impl blocks are not counted at all, because for the majority of cases such docs are not useful. (The usual pattern for inherent impl blocks is to throw all the methods on a type into a single impl block. Any docs you would put on that block would be better served on the type itself.)
In addition, `--show-coverage` can be combined with `--document-private-items` to get the coverage counts for everything in the crate, not just public items.
The coverage calculation is implemented as a late pass and two new sets of passes which strip out most of the work that rustdoc otherwise does when generating docs. The is because after the new pass is executed, rustdoc immediately closes instead of going on to generate documentation.
Many examples of coverage calculations have been included as `rustdoc-ui` tests.
r? @rust-lang/rustdoc
|
|
|
|
Update edition-guide
15 commits in 419edb885ec1a98c0747b3907003d79e3e6b93a9..5f3cc2a5618700efcde3bc00799744f21fa9ad2e
2018-12-04 16:43:38 -0500 to 2019-02-27 20:11:50 -0800
- Migrate to mdbook 0.2. (rust-lang-nursery/edition-guide#152)
- Remove automatic deployment. (rust-lang-nursery/edition-guide#151)
- Fix issue with rust's linkchecker and mdbook. (rust-lang-nursery/edition-guide#147)
- Fix test now that overflowing_literals is rejected in all editions. (rust-lang-nursery/edition-guide#148)
- overflowing_literals is deny on all editions (rust-lang-nursery/edition-guide#146)
- Update for uniform_path stabilization. (rust-lang-nursery/edition-guide#141)
- Add example to rustup to show overriding to specific version (rust-lang-nursery/edition-guide#144)
- Update for anonymous-lifetime stabilization. (rust-lang-nursery/edition-guide#142)
- Add minimum Rust version for Kleene operator (rust-lang-nursery/edition-guide#137)
- Add 2018-specific changes. (rust-lang-nursery/edition-guide#130)
- aborting-on-panic.md: Typo in example config (rust-lang-nursery/edition-guide#125)
- Clarify uniform paths are not yet in Rust 2018 (rust-lang-nursery/edition-guide#124)
- update several version numbers
- Fixes outdated link (rust-lang-nursery/edition-guide#131)
- Fixed typo in transitioning page. (rust-lang-nursery/edition-guide#127)
|
|
|
|
|
|
|
|
|
|
|
|
- Add the c_variadic language feature
- Add the c_variadic library feature
|
|
Update book submodule
Updates the book to the latest commit
This is to include [documentation SEO fix](https://github.com/rust-lang/book/pull/1788) ASAP.
|
|
|
|
Deny the `overflowing_literals` lint for all editions
The `overflowing_literals` was made deny by default for the 2018 edition by #54507, however I'm not aware of any reason it can't be made deny by default for the 2015 edition as well.
|
|
|
|
Fix doc for rustc "-g" flag
The rustc `-g` CLI flag was miss documented to be a synonym of `-C debug-level=2` and not `-C debuglevel=2`. Also add links to the codegen docs for each synonym.
I am unsure of this will conflict with work on #52938
|
|
Mention capping forbid lints
I felt the description of forbid was misleading/incomplete without
mentioning how --cap-lints interacts with it.
|
|
Modify doctest's auto-`fn main()` to allow `Result`s
This lets the default `fn main()` ~~return `impl Termination`~~ unwrap Results, which allows the use of `?` in most tests without adding it manually. This fixes #56260
~~Blocked on `std::process::Termination` stabilization.~~
Using `Termination` would have been cleaner, but this should work OK.
|
|
The rustc "-g" and "-o" fags are synonyms of the "-c" codegen flags.
This adds a link to the codegen docs for each synonym.
|
|
The rustc "-g" CLI flag was miss documented to be a synonym of "-C
debug-level=2" and not the correct "-C debuginfo=2".
|
|
This lets the default `fn main()` unwrap any `Result`s, which
allows the use of `?` in most tests without adding it manually.
|
|
I felt the description of forbid was misleading/incomplete without
mentioning how --cap-lints interacts with it.
|
|
Convert old first edition links to current edition one
r? @steveklabnik
|
|
Use footnote style to bypass the tidy check
|
|
|
|
Fix failing tidy (line endings on Windows)
Updates to `embedded-book` including https://github.com/rust-embedded/book/pull/127.
|
|
|
|
|
|
Allow #[repr(align(x))] on enums (#57996)
Tracking issue: #57996
Implements an extension of [RFC 1358](https://github.com/rust-lang/rfcs/blob/master/text/1358-repr-align.md) behind a feature flag (`repr_align_enum`). Originally introduced here for structs: #39999.
It seems like only HIR-level changes are required, since enums are already aware of their alignment (due to alignment of their limbs).
cc @bitshifter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add `is_sorted` to `Iterator` and `[T]`
This is an initial implementation for the first step of [RFC 2351](https://github.com/rust-lang/rfcs/blob/master/text/2351-is-sorted.md)
Tracking issue: https://github.com/rust-lang/rust/issues/53485
|
|
docs(rustc): Link to the book's source in rustc
This makes the source of [the rustc book](https://doc.rust-lang.org/rustc/what-is-rustc.html) book a bit more discoverable.
|
|
Document that `-C opt-level=0` implies `-C debug-assertions`.
I couldn't find it stated anywhere else (https://doc.rust-lang.org/nightly/rustc/codegen-options/index.html#opt-level).
It was a problem before here: https://github.com/rust-lang/rust/issues/39449, it got lost in the migration to the new documentation I assume.
On a sidenote: I think that `-C opt-level=0` having a sideeffect on another flag should be changed. Having compiler flags affecting others doesn't make much sense to me, they are used to fine tune anyway.
In any case, this plays no role in this PR.
|
|
|
|
Bless test, remove submodule, and fix book entry.
bless test again? maybe it'll work this time...
|
|
|
|
|
|
Add lint for copyright headers to 'tidy' tool
r? @Mark-Simulacrum
CC @centril
|
|
|
|
Unaccept `extern_in_paths`
Based on completed fcp-close in https://github.com/rust-lang/rust/issues/55600, this removes `extern_in_path` (e.g. `extern::foo::bar`) from the language. The changes are primarily reversing https://github.com/rust-lang/rust/commit/32db83b16e06cb5cca72d0e6a648a8008eda0fac.
Closes https://github.com/rust-lang/rust/issues/55600
r? @petrochenkov
|
|
|
|
|
|
This stabilises RFC 2086 (https://github.com/rust-lang/rust/issues/44495).
Co-Authored-By: Sebastian Malton <sebastian@malton.name>
|
|
|