Alona Enraght-Moony
ebb842328a
rustdoc: Extract footnote logic into it's own module.
2024-10-19 14:37:11 +00:00
Matthias Krüger
f6b699c9c0
Rollup merge of #131595 - fmease:rustdoc-json-mv-obj-safe-dyn-compat, r=aDotInTheVoid
...
rustdoc-JSON: Rename "object safe" to "dyn compatible"
~~Blocked: Sits atop #131594 . Only the last commit is relevant.~~ (rebased)
Part of #130852 .
r? aDotInTheVoid or rustdoc
2024-10-17 12:07:20 +02:00
León Orell Valerian Liehr
2e6f3bd1d3
rustdoc-JSON: Rename "object safe" to "dyn compatible"
2024-10-16 23:00:49 +02:00
bors
798fb83f7d
Auto merge of #131797 - matthiaskrgr:rollup-lzpze2k, r=matthiaskrgr
...
Rollup of 9 pull requests
Successful merges:
- #130989 (Don't check unsize goal in MIR validation when opaques remain)
- #131657 (Rustfmt `for<'a> async` correctly)
- #131691 (Delay ambiguous intra-doc link resolution after `Cache` has been populated)
- #131730 (Refactor some `core::fmt` macros)
- #131751 (Rename `can_coerce` to `may_coerce`, and then structurally resolve correctly in the probe)
- #131753 (Unify `secondary_span` and `swap_secondary_and_primary` args in `note_type_err`)
- #131776 (Emscripten: Xfail backtrace ui tests)
- #131777 (Fix trivially_copy_pass_by_ref in stable_mir)
- #131778 (Fix needless_lifetimes in stable_mir)
r? `@ghost`
`@rustbot` modify labels: rollup
2024-10-16 20:50:53 +00:00
Matthias Krüger
87c31feab8
Rollup merge of #131691 - GuillaumeGomez:intra-doc-link-filter-out-2, r=notriddle
...
Delay ambiguous intra-doc link resolution after `Cache` has been populated
Fixes https://github.com/rust-lang/rust/issues/130233 .
I was getting nowhere with #130278 . I took a wrong turn at some point and ended making way too many changes so instead I started again back from 0 and this time it worked out as expected.
r? ```@notriddle```
2024-10-16 20:15:53 +02:00
Matthias Krüger
70477487b1
Rollup merge of #131594 - fmease:rustdoc-mv-obj-safe-dyn-compat, r=notriddle
...
rustdoc: Rename "object safe" to "dyn compatible"
Supersedes #126554 :
1. In line with [T-lang's latest resolution](https://github.com/rust-lang/lang-team/issues/286#issuecomment-2338905118 ).
2. More comprehensive: Not only updates user-facing text but also source code.
Part of #130852 .
Doesn't update rustdoc-JSON (will be filed separately).
r? `@notriddle` (rust-lang/lang-team#286 ) `@GuillaumeGomez` (for visibility)
2024-10-16 19:18:31 +02:00
León Orell Valerian Liehr
6d82559bc1
rustdoc: Rename "object safe" to "dyn compatible"
2024-10-16 15:53:49 +02:00
Guillaume Gomez
10f2395c9e
Remove AmbiguousLinks::disambiguator
2024-10-15 15:42:53 +02:00
Guillaume Gomez
2b9e41c128
Improve documentation for intra-doc links computation
2024-10-15 15:42:53 +02:00
Matthias Krüger
4d53a28cac
Rollup merge of #131652 - compiler-errors:modifiers, r=Nadrieril,jieyouxu
...
Move polarity into `PolyTraitRef` rather than storing it on the side
Arguably we could move these modifiers into `TraitRef` instead of `PolyTraitRef`, but I see `TraitRef` as simply the *path* part of the trait ref. It doesn't really matter -- refactoring this further is much easier now.
2024-10-15 05:11:37 +02:00
Matthias Krüger
bb2f970604
Rollup merge of #131095 - GuillaumeGomez:switch-to-env-variables, r=notriddle
...
Use environment variables instead of command line arguments for merged doctests
Fixes [#130796 ](https://github.com/rust-lang/rust/issues/130796 ).
Before merging this one, let's first ensure it has a smaller impact compared to command line arguments (results can be seen [here](https://github.com/rust-lang/rust/pull/130285 )). I'll start a crater run once CI passed.
cc ``@ehuss``
r? ``@notriddle``
2024-10-15 05:11:36 +02:00
Guillaume Gomez
73fc00ff8c
Delay ambiguous intra-doc link resolution after Cache has been populated
2024-10-14 17:51:08 +02:00
Michael Goulet
7500e09b8b
Move trait bound modifiers into hir::PolyTraitRef
2024-10-14 09:20:38 -04:00
Trevor Gross
05c0591321
Rollup merge of #130078 - its-the-shrimp:rustdoc-types-compress-ids, r=aDotInTheVoid
...
rustdoc-json: change item ID's repr from a string to an int
Following [this discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/Optimizing.20the.20.60Id.60.20type.20in.20.60rustdoc-types.60 ), I've changed the repr of `rustdoc_json_types::Id` from a String to a u32, by adding a `clean::ItemId` interner to `JsonRenderer`
r? ``@aDotInTheVoid``
2024-10-11 16:53:46 -05:00
Matthias Krüger
103c71686a
Rollup merge of #131394 - ismailarilik:fix/rustdoc/add-space-between-struct-fields-and-their-descriptions, r=GuillaumeGomez
...
fix(rustdoc): add space between struct fields and their descriptions
Stolen from #128541 .
Fixes #128260 .
<table>
<thead>
<tr>
<th scope="col">Before</th>
<th scope="col">After</th>
</tr>
</thead>
<tbody>
<tr>
<td scope="row">
<img
src="https://github.com/user-attachments/assets/b1d3cb47-77c9-4897-a5d2-2192b11cb8a3 "
/>
</td>
<td>
<img
src="https://github.com/user-attachments/assets/0b104672-d2be-49f4-ac9b-3506526fe2f1 "
/>
</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th scope="col">Before</th>
<th scope="col">After</th>
</tr>
</thead>
<tbody>
<tr>
<td scope="row">
<img
src="https://github.com/user-attachments/assets/650c3e74-a067-492a-9ba3-557f9214f875 "
/>
</td>
<td>
<img
src="https://github.com/user-attachments/assets/413ef9b0-8fca-4e16-978a-7b88d05299dc "
/>
</td>
</tr>
</tbody>
</table>
Unlike original PR, I didn't add space between field headers; I put it between headers and descriptions. So if there are only headers, the space is not changed. Otherwise, I put a space like the space between paragraphs (.75em) which makes sense for me but feel free to adjust it or ask me to do so.
r? `@GuillaumeGomez`
2024-10-11 15:36:52 +02:00
Matthias Krüger
47344c3179
Rollup merge of #131417 - GuillaumeGomez:mobile-methods-left-margin, r=notriddle
...
Fix methods alignment on mobile
I realized that on mobile, the methods are not aligned the same depending if they have documentation or not:
| before | after |
|-|-|
|  |  |
r? `@notriddle`
2024-10-09 23:03:49 +02:00
Guillaume Gomez
16844e2485
Fix methods alignment on mobile
2024-10-09 21:01:08 +02:00
Peter Jaszkowiak
321a5db7d4
Reserve guarded string literals (RFC 3593)
2024-10-08 18:21:16 -06:00
Matthias Krüger
cb252eef79
Rollup merge of #131408 - GuillaumeGomez:more-intra-doc-cleanup, r=notriddle
...
Remove unneeded argument of `LinkCollector::verify_disambiguator`
Still working on https://github.com/rust-lang/rust/pull/130278 . ^^'
r? `@notriddle`
2024-10-08 20:13:13 +02:00
Guillaume Gomez
c9b4d1bfb1
Remove unneeded argument of LinkCollector::verify_disambiguator
2024-10-08 15:13:26 +02:00
ismailarilik
076927b7cf
fix(rustdoc): add space between struct fields and their descriptions
2024-10-08 16:06:22 +03:00
bors
6a3c45e1c6
Auto merge of #131368 - GuillaumeGomez:rustdoc-dead-code, r=notriddle
...
[rustdoc] Remove intra-doc links dead code
While working on https://github.com/rust-lang/rust/pull/130278 , I wondered what `resolve_display_text` was doing. I removed it and ran all rustdoc tests, and nothing failed. Are some intra-doc links tests missing or is it really dead code? Couldn't figure it out.
r? `@notriddle`
2024-10-08 10:07:44 +00:00
Michael Howell
f7eced3a21
Add comment to describe camelcase line break
2024-10-07 13:27:50 -07:00
Michael Howell
e23419fc97
rustdoc: improve <wbr>-insertion for SCREAMING_CAMEL_CASE
2024-10-07 10:52:39 -07:00
Guillaume Gomez
126cb9bb78
Remove dead code
2024-10-07 18:41:32 +02:00
bors
7caad69253
Auto merge of #131354 - matthiaskrgr:rollup-hprnng2, r=matthiaskrgr
...
Rollup of 4 pull requests
Successful merges:
- #131331 (Revert "warn_old_master_branch" check)
- #131344 (Avoid `&Lrc<T>` in various places)
- #131346 (Restrict `ignore-mode-*` directives)
- #131353 (Add documentation for `runtest::check_rustdoc_test_option` method)
r? `@ghost`
`@rustbot` modify labels: rollup
2024-10-07 11:30:33 +00:00
bors
0b16baa570
Auto merge of #131235 - codemountains:rename-nestedmetaitem-to-metaitemlnner, r=nnethercote
...
Rename `NestedMetaItem` to `MetaItemInner`
Fixes #131087
r? `@nnethercote`
2024-10-07 08:59:55 +00:00
Nicholas Nethercote
731469fee5
Convert Option<&Lrc<T>> return types to Option<&T>.
...
It's simpler and more concise.
2024-10-07 13:56:29 +11:00
codemountains
6dfc4a0473
Rename NestedMetaItem to MetaItemInner
2024-10-06 23:28:30 +09:00
ismailarilik
e0a20b484d
Handle librustdoc cases of rustc::potential_query_instability lint
2024-10-06 10:39:03 +03:00
bors
5a4ee43c38
Auto merge of #129244 - cjgillot:opaque-hir, r=compiler-errors
...
Make opaque types regular HIR nodes
Having opaque types as HIR owner introduces all sorts of complications. This PR proposes to make them regular HIR nodes instead.
I haven't gone through all the test changes yet, so there may be a few surprises.
Many thanks to `@camelid` for the first draft.
Fixes https://github.com/rust-lang/rust/issues/129023
Fixes #129099
Fixes #125843
Fixes #119716
Fixes #121422
2024-10-05 06:19:35 +00:00
Jubilee
f66aa600d9
Rollup merge of #131260 - notriddle:notriddle/disambiguator-error, r=GuillaumeGomez
...
rustdoc: cleaner errors on disambiguator/namespace mismatches
Resolves https://github.com/rust-lang/rust/pull/131224#pullrequestreview-2348407077
r? `@jyn514`
2024-10-04 19:19:25 -07:00
Noah Lev
d6f247f3d5
rm ItemKind::OpaqueTy
...
This introduce an additional collection of opaques on HIR, as they can no
longer be listed using the free item list.
2024-10-04 23:28:22 +00:00
Jubilee
869b8eb7ee
Rollup merge of #131257 - GuillaumeGomez:fix-list-margins, r=notriddle
...
[rustdoc] Fix list margins
Fixes https://github.com/rust-lang/rust/issues/131106 .
Fixes #131223 .
Follow-up of #130933 .
This PR changes the display as follow: the margin between list items is reduced by half to ensure that they visually still seem part of the same list, while also being bigger than previously which improves display for list items with more than one paragragh. Paragraphs also get they bottom margin reduced to a little bit less than the list items bottom margin for two reasons:
1. The list items keep having the biggest bottom margin which makes it better for coherency.
2. The paragraphs are still visually separated but they don't "overcome" the list.
| before | after |
|-|-|
|  |  |
Can be tested [here](https://rustdoc.crud.net/imperio/fix-list-margins/doc/test_docs/long_list/index.html ).
r? ``@notriddle``
2024-10-04 14:11:38 -07:00
Michael Howell
3686e59913
rustdoc: cleaner errors on disambiguator/namespace mismatches
2024-10-04 09:56:53 -07:00
Guillaume Gomez
cc36e0d983
Fix list margins
2024-10-04 18:01:38 +02:00
Guillaume Gomez
2ceeeb159d
Rollup merge of #131034 - Urgau:cfg-true-false, r=nnethercote
...
Implement RFC3695 Allow boolean literals as cfg predicates
This PR implements https://github.com/rust-lang/rfcs/pull/3695 : allow boolean literals as cfg predicates, i.e. `cfg(true)` and `cfg(false)`.
r? `@nnethercote` *(or anyone with parser knowledge)*
cc `@clubby789`
2024-10-04 15:42:53 +02:00
Urgau
781f1840cd
Adjust rustdoc for literal boolean support
2024-10-04 09:09:20 +02:00
Matthias Krüger
da81f64d84
Rollup merge of #131183 - compiler-errors:opaque-ty-origin, r=estebank
...
Refactoring to `OpaqueTyOrigin`
Pulled out of a larger PR that uses these changes to do cross-crate encoding of opaque origin, so we can use them for edition 2024 migrations. These changes should be self-explanatory on their own, tho 😄
2024-10-03 21:52:46 +02:00
Matthias Krüger
c9b907a567
Rollup merge of #130419 - nnethercote:streamline-HirCollector, r=GuillaumeGomez
...
Streamline `HirCollector`
r? `@GuillaumeGomez`
2024-10-03 13:47:59 +02:00
Michael Goulet
cb7e3695e8
Use named fields for OpaqueTyOrigin
2024-10-02 22:04:18 -04:00
Michael Goulet
f95bdf453e
Remove redundant in_trait from hir::TyKind::OpaqueDef
2024-10-02 21:59:55 -04:00
Matthias Krüger
bd5ee830c4
Rollup merge of #130933 - lolbinarycat:rustdoc-li-p, r=GuillaumeGomez,notriddle
...
rustdoc: lists items that contain multiple paragraphs are more clear
fixes https://github.com/rust-lang/rust/issues/130622
before: 
after:

2024-10-01 21:09:20 +02:00
Guillaume Gomez
e904761231
Use environment variables instead of command line arguments for merged doctests
2024-10-01 16:23:04 +02:00
bors
07f08ffb2d
Auto merge of #131076 - lukas-code:doc-stab2, r=notriddle
...
rustdoc: rewrite stability inheritance as a doc pass
Since doc inlining can almost arbitrarily change the module hierarchy, we can't just use the HIR ancestors of an item to compute its effective stability. This PR moves the stability inheritance that I implemented in https://github.com/rust-lang/rust/pull/130798 into a new doc pass `propagate-stability` that runs after doc inlining and uses the post-inlining ancestors of an item to correctly compute its effective stability.
fixes https://github.com/rust-lang/rust/issues/131020
r? `@notriddle`
2024-10-01 04:30:33 +00:00
bors
f79ef02e4b
Auto merge of #130587 - coolreader18:field-variant-doclink-disambig, r=notriddle,jyn514
...
Add `field@` and `variant@` doc-link disambiguators
I'm not sure if this is big enough to need an fcp or not, but this is something I found missing when trying to refer to a field in macro-generated docs, not knowing if a method might be defined as well. Obviously, there are definitely other uses.
In the case where it's not disambiguated, methods (and I suppose other associated items in the value namespace) still take priority, which `@jyn514` said was an oversight but I think is probably the desired behavior 99% of the time anyway - shadowing a field with an accessor method is a very common pattern. If fields and methods with the same name started conflicting, it would be a breaking change. Though, to quote them:
> jyn: maybe you can break this only if both [the method and the field] are public
> jyn: rustc has some future-incompat warning level
> jyn: that gets through -A warnings and --cap-lints from cargo
That'd be out of scope of this PR, though.
Fixes #80283
2024-10-01 01:45:35 +00:00
Lukas Markeffsky
cd31b3acb3
rustdoc: rewrite stability inheritance as a pass
2024-09-30 21:58:18 +00:00
Lukas Markeffsky
19252bde65
add stable_since convenience
2024-09-30 20:55:37 +00:00
Matthias Krüger
b6b43af68d
Rollup merge of #131023 - clubby789:doc-item-path, r=notriddle
...
Copy correct path to clipboard for modules/keywords/primitives
Fixes #131021
2024-09-30 18:25:13 +02:00
bors
0d6e130196
Auto merge of #131002 - steffahn:rustdoc-long-names-fix, r=notriddle
...
In redesigned rustdoc toolbar: Adjust spacings and sizing to improve behavior with over-long names
Fixes #130993 .
Some additional adjustments also fix more issues I’ve noticed such as:
* on small screens, opening search made the 3 bottons move down very slightly (because the row with the crate picker got larger, enlarging the whole grid), this is fixed with a `min-height: 60px` on the toolbar
* with long names in the “breadcrumps” area, wrapping was very broken
* 
* fixed:
* 
* the left grid area has a minimal width (105px); like before, that leaves about enough space for crate names becoming as short as “all cra…”;
to save even more space, there’s support for a little bit of extra squeezing of the buttons
* 
* 
* 
I’m really not super good with HTML or CSS stuff at all; there seem to be many magical numbers already, I’ve just used `px` values until things look right, I hope that’s okay 🤷♂️
r? `@GuillaumeGomez`
cc `@notriddle`
2024-09-29 22:04:32 +00:00