Commit Graph

51 Commits

Author SHA1 Message Date
Deadbeef daff015314 Migrate tests to use `-Znext-solver` 2024-06-30 17:08:45 +00:00
Guillaume Gomez 1b67035579 Update `tests/rustdoc` to new test syntax 2024-06-24 11:08:41 +02:00
Sergi-Ferrez 617e64c9e7 Update code format and tests 2024-06-04 13:49:39 +02:00
Michael Howell b5923a95a8 Move tests into appropriate subdirectories 2024-05-21 21:21:26 -07:00
Michael Goulet fa84018c2e Apply nits 2024-05-13 16:55:58 -04:00
Michael Howell 6d6f67a98c rustdoc: use stability, instead of features, to decide what to show
To decide if internal items should be inlined in a doc page,
check if the crate is itself internal, rather than if it has
the rustc_private feature flag. The standard library uses
internal items, but is not itself internal and should not show
internal items on its docs pages.
2024-05-07 20:47:19 -07:00
Guillaume Gomez e7c13c3357
Rollup merge of #123574 - notriddle:notriddle/issue-d, r=fmease
rustdoc: rename `issue-\d+.rs` tests to have meaningful names (part 6)

Follow up

* https://github.com/rust-lang/rust/pull/116214
* https://github.com/rust-lang/rust/pull/116432
* https://github.com/rust-lang/rust/pull/116824
* https://github.com/rust-lang/rust/pull/118105
* https://github.com/rust-lang/rust/pull/119561
2024-04-16 15:19:12 +02:00
Michael Howell ecbe327e71 rustdoc: move tests into applicable subdirectories 2024-04-15 15:22:04 -07:00
Guillaume Gomez 5a0be6ff3d Add regression test for #123435 2024-04-04 18:10:52 +02:00
许杰友 Jieyou Xu (Joe) 6e48b96692
[AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
Shoyu Vanilla f5d43a052b Fix missing trait impls for type in rustc docs 2024-02-17 14:27:05 +09:00
León Orell Valerian Liehr a8d869e1d1
rustdoc: cross-crate re-exports: correctly render late-bound params in source order even if early-bound params are present 2024-02-15 01:40:38 +01:00
Guillaume Gomez 8914ca722c
Rollup merge of #119561 - notriddle:master, r=fmease
rustdoc: rename `issue-\d+.rs` tests to have meaningful names (part 5)

Follow up

* https://github.com/rust-lang/rust/pull/116214
* https://github.com/rust-lang/rust/pull/116432
* https://github.com/rust-lang/rust/pull/116824
* https://github.com/rust-lang/rust/pull/118105
2024-01-14 20:17:23 +01:00
León Orell Valerian Liehr 17ec134fa4
Update tests 2024-01-09 17:07:38 +01:00
Michael Howell 35830fe218 rustdoc: rename `issue-\d+.rs` tests to have meaningful names (part 5) 2024-01-03 15:33:12 -07:00
León Orell Valerian Liehr 1dcdf83927
rustdoc: properly elide cross-crate host effect args 2023-11-05 00:56:54 +01:00
León Orell Valerian Liehr 58a80c85b9
rustdoc: elide cross-crate default generic arguments 2023-10-30 16:44:52 +01:00
Michael Howell ade7ecf909 rustdoc: rename `/implementors` to `/impl.trait`
This is shorter, avoids potential conflicts with a crate
named `implementors`[^1], and will be less confusing when JS
include files are added for type aliases.

[^1]: AFAIK, this couldn't actually cause any problems right now,
but it's simpler just to make it impossible than relying on never
having a file named `trait.Foo.js` in the crate data area.
2023-10-22 15:47:34 -07:00
Michael Howell 43b493ebc0 Add URL to test cases 2023-10-16 18:01:02 -07:00
Michael Howell 69dc19043b Rename `issue-\d+.rs` tests to have meaningful names 2023-10-16 18:01:02 -07:00
Matthias Krüger 4dd4d9b489
Rollup merge of #115439 - fmease:rustdoc-priv-repr-transparent-heuristic, r=GuillaumeGomez
rustdoc: hide `#[repr(transparent)]` if it isn't part of the public ABI

Fixes #90435.

This hides `#[repr(transparent)]` when the non-1-ZST field the struct is "transparent" over is private.

CC `@RalfJung`

Tentatively nominating it for the release notes, feel free to remove the nomination.
`@rustbot` label needs-fcp relnotes A-rustdoc-ui
2023-10-14 19:22:16 +02:00
Michael Goulet 59315b8a63 Stabilize AFIT and RPITIT 2023-10-13 21:01:36 +00:00
Oli Scherer 8f2af7e010 Test cross crate 2023-10-12 16:44:37 +00:00
Michael Howell a46ccd8d3f Add URL to test case issues 2023-10-04 13:04:45 -07:00
Michael Howell 9266270ef5 Rename issue-\d+.rs tests to have meaningful names 2023-10-04 12:58:06 -07:00
León Orell Valerian Liehr ace85f0ae3
rustdoc: add support for cross-crate higher-ranked types 2023-10-03 17:41:25 +02:00
León Orell Valerian Liehr 67de1509f3
rustdoc: fix & clean up handling of cross-crate higher-ranked lifetimes 2023-10-03 17:16:51 +02:00
León Orell Valerian Liehr 025a2cda0e
rustdoc: correctly render ret ty of cross-crate async fns 2023-09-25 15:57:04 +02:00
León Orell Valerian Liehr 64fa12a4fb
rustdoc: hide repr(transparent) if it isn't part of the public ABI 2023-09-18 19:30:10 +02:00
León Orell Valerian Liehr f5a68f63aa
rustdoc: correctly deal with self ty params when eliding default object lifetimes 2023-09-01 16:17:53 +02:00
León Orell Valerian Liehr 203d400668
Add rustdoc tests for generic const items 2023-07-28 22:23:21 +02:00
Guillaume Gomez 1fa0c4db4f
Rollup merge of #114059 - fmease:rustdoc-fix-x-crate-impl-sized, r=GuillaumeGomez
rustdoc: fix cross-crate `impl Sized` & `impl ?Sized`

Previously, cross-crate impl-Trait (APIT, RPIT, etc.) that only consists of a single `Sized` bound (modulo outlives-bounds) and ones that are `?Sized` were incorrectly rendered. To give you a taste (before vs. after):

```diff
- fn sized(x: impl ) -> impl
+ fn sized(x: impl Sized) -> impl Sized

- fn sized_outlives<'a>(x: impl 'a) -> impl 'a
+ fn sized_outlives<'a>(x: impl Sized + 'a) -> impl Sized + 'a

- fn maybe_sized(x: &impl ) -> &impl
+ fn maybe_sized(x: &impl ?Sized) -> &impl ?Sized

- fn debug_maybe_sized(x: &impl Debug) -> &impl ?Sized + Debug
+ fn debug_maybe_sized(x: &(impl Debug + ?Sized)) -> &(impl Debug + ?Sized)
```

Moreover, we now surround impl-Trait that has multiple bounds with parentheses if they're the pointee of a reference or raw pointer type. This affects both local and cross-crate docs. The current output isn't correct (rustc would emit the error *ambiguous `+` in a type* if we fed the rendered code back to it).

---

Best reviewed commit by commit :)

`@rustbot` label A-cross-crate-reexports
2023-07-27 16:05:13 +02:00
León Orell Valerian Liehr 28d40f1959
rustdoc: fix cross-crate impl-Sized 2023-07-26 02:11:35 +02:00
León Orell Valerian Liehr 5924043b86
rustdoc: handle cross-crate RPITITs correctly 2023-07-22 12:20:17 +02:00
Takayuki Maeda 40e3fcfd59
Rollup merge of #112920 - fmease:rustdoc-fix-112904, r=GuillaumeGomez
rustdoc: render generic params & where-clauses of cross-crate assoc tys in impls

We used to only ever render generic parameters & where-clauses of cross-crate associated types when the item was located inside of a trait and we used to just drop them when it was inside of an impl block (trait or inherent).

Fixes #112904.

`@rustbot` label A-cross-crate-reexports
2023-06-26 23:16:16 +09:00
León Orell Valerian Liehr 247aa06f10
rustdoc: handle assoc const equalities in cross-crate impl-Trait-in-arg-pos 2023-06-25 15:42:32 +02:00
León Orell Valerian Liehr c643bedf7c
rustdoc: render gen params & where-clauses of cross-crate assoc tys in impl blocks 2023-06-24 12:20:26 +02:00
León Orell Valerian Liehr 3490a510d5
rustdoc: re-elide cross-crate default trait object lifetime bounds 2023-06-07 13:29:36 +02:00
Guillaume Gomez 2693e20aa3 Extend foreign inlined item with `#[repr()]` test 2023-04-29 22:53:10 +02:00
Guillaume Gomez 3f082843aa Add regression test for #110698 2023-04-27 16:41:22 +02:00
Dylan DPC 4165de40f8
Rollup merge of #107783 - notriddle:notriddle/item-table-ul, r=GuillaumeGomez
rustdoc: simplify DOM for `.item-table`

This switches from using `<div>` to the more semantic `<ul>`, and using class names that rhyme with the classes the search results table uses.
2023-02-19 13:03:41 +05:30
Michael Howell 894c98652c rustdoc: simplify DOM for `.item-table`
This switches from using `<div>` to the more semantic `<ul>`, and
using class names that rhyme with the classes the search results
table uses.
2023-02-07 19:00:42 -07:00
Michael Howell 8307fd7901 rustdoc: use a newline instead of `<br>` to format code headers
Since these elements now use `white-space: pre-wrap` since
784665d4ce, it's fine to use newlines
for formatting, which is smaller and a bit less complicated.
2023-02-07 11:23:25 -07:00
Michael Howell f75b350467 rustdoc: stop making unstable items transparent
Fixes #93393
2023-01-31 11:27:09 -07:00
Michael Howell 7080f80e8b rustdoc: remove unnecessary wrapper div.item-decl from HTML 2023-01-30 11:06:18 -07:00
Michael Howell 74e843c833 rustdoc: remove unused class `has-srclink`
Stopped being used in CSS with
73d0f7c7b6
2023-01-28 17:18:56 -07:00
Michael Howell 97f8189614 rustdoc: remove mostly-unused CSS classes import/module-item 2023-01-26 12:55:19 -07:00
bors aaa9bb9e7b Auto merge of #106952 - petrochenkov:docglob, r=notriddle,GuillaumeGomez
rustdoc: Fix glob import inlining

Filter away names that are not actually imported by the glob, e.g. because they are shadowed by something else.

Fixes the issue found in https://github.com/rust-lang/rust/pull/94857#issuecomment-1382912356.
2023-01-18 03:54:04 +00:00
Vadim Petrochenkov 3b0d306b94 rustdoc: Fix glob import inlining
Filter away names that are not actually imported by the glob, e.g. because they are shadowed by something else
2023-01-17 00:55:28 +04:00
Michael Howell 3a3f70c94e rustdoc: remove redundant item kind class from `.item-decl > pre`
This class originated in the very first commit of `rustdoc_ng`, and was used
to add a color border around the item decl based on its kind.

4fd061c426/src/rustdoc_ng/html/static/main.css (L102-L106)

The item decl no longer has a border, and there aren't any
kind-specific styles in modern rustdoc's rendering of this UI item.

Most of this commit is updating test cases so that they use `item-decl` to
find the `<pre>` tag instead of relying on the fact that the class name
had `rust {kind}` in it while other `<pre>` tags only had class `rust`.
2023-01-14 11:34:03 -07:00