Skip to content

Rollup of 8 pull requests #102816

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 28 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
e1f735a
don't repeat lifetime names from outer binder in print
b-naber Sep 29, 2022
a8f17e3
bless tests
b-naber Sep 30, 2022
e83dcf4
re-name params + add comments
b-naber Oct 3, 2022
31bc385
rustdoc: Document effect of fundamental types
chrysn Oct 4, 2022
f708c82
rename rustc_allocator_nounwind to rustc_nounwind
RalfJung Oct 6, 2022
1283441
Let llvm-config tell us where to find its tools
cuviper Oct 7, 2022
40e497f
Add llvm-tblgen to rust-dev for cross-compiling
cuviper Oct 7, 2022
c327719
Bump download-ci-llvm-stamp
cuviper Oct 7, 2022
a027474
Don't run llvm-config in dry runs
cuviper Oct 7, 2022
fc3d7eb
don't ICE when normalizing closure input tys
aliemjay Jul 27, 2022
b7562b1
add panic_fmt_nounwind for panicing without unwinding, and use it for…
RalfJung Oct 6, 2022
ba38030
use panic_fmt_nounwind for assert_unsafe_precondition
RalfJung Oct 6, 2022
27f0a5f
reorder panicking.rs to put main entry points at the top
RalfJung Oct 8, 2022
7e64000
Document `rust-docs-json` component
aDotInTheVoid Oct 8, 2022
d60e8ec
Change default lint level of INVALID_HTML_TAGS to warning
GuillaumeGomez Sep 12, 2022
bdb502f
Update rustdoc tests
GuillaumeGomez Sep 13, 2022
e340796
Stabilize rustdoc CHECK_INVALID_HTML_TAGS check
GuillaumeGomez Sep 12, 2022
4ee7db2
Fix doc lint error
GuillaumeGomez Oct 8, 2022
4d9d7bf
Remove empty core::lazy and std::lazy
est31 Oct 8, 2022
048e637
handle late-bound vars from inner binders correctly and add test
b-naber Oct 8, 2022
ec8b515
Rollup merge of #99818 - aliemjay:fix-closure-normalize, r=jackh726
matthiaskrgr Oct 8, 2022
8aeadd0
Rollup merge of #101720 - GuillaumeGomez:warn-INVALID_HTML_TAGS, r=no…
matthiaskrgr Oct 8, 2022
fa186e4
Rollup merge of #102514 - b-naber:binder-print-fixes, r=jackh726
matthiaskrgr Oct 8, 2022
77fe881
Rollup merge of #102661 - chrysn-pull-requests:rustdoc-effect-of-fund…
matthiaskrgr Oct 8, 2022
0d3c6c1
Rollup merge of #102732 - RalfJung:assert_unsafe_precondition2, r=bjorn3
matthiaskrgr Oct 8, 2022
439a053
Rollup merge of #102790 - cuviper:llvm-tblgen, r=jyn514
matthiaskrgr Oct 8, 2022
274ab43
Rollup merge of #102807 - aDotInTheVoid:rdj-rustup-docs, r=jyn514
matthiaskrgr Oct 8, 2022
69cb4cc
Rollup merge of #102812 - est31:remove_lazy, r=dtolnay
matthiaskrgr Oct 8, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
rustdoc: Document effect of fundamental types
  • Loading branch information
chrysn committed Oct 5, 2022
commit 31bc385fa1d46d5affdab32b6e8a1a876b10443f
29 changes: 29 additions & 0 deletions src/doc/rustdoc/src/unstable-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,35 @@ To do so, the `#[doc(keyword = "...")]` attribute is used. Example:
mod empty_mod {}
```

## Effects of other nightly features

These nightly-only features are not primarily related to Rustdoc,
but have convenient effects on the documentation produced.

### `fundamental` types

Annotating a type with `#[fundamental]` primarily influences coherence rules about generic types,
i.e., they alter whether other crates can provide implementations for that type.
The unstable book [links to further information][unstable-fundamental].

[unstable-fundamental]: https://doc.rust-lang.org/unstable-book/language-features/fundamental.html

For documentation, this has an additional side effect:
If a method is implemented on `F<T>` (or `F<&T>`),
where `F` is a fundamental type,
then the method is not only documented at the page about `F`,
but also on the page about `T`.
In a sense, it makes the type transparent to Rustdoc.
This is especially convenient for types that work as annotated pointers,
such as `Pin<&mut T>`,
as it ensures that methods only implemented through those annotated pointers
can still be found with the type they act on.

If the `fundamental` feature's effect on coherence is not intended,
such a type can be marked as fundamental only for purposes of documentation
by introducing a custom feature and
limiting the use of `fundamental` to when documentation is built.

## Unstable command-line arguments

These features are enabled by passing a command-line flag to Rustdoc, but the flags in question are
Expand Down