| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Add empty impl blocks if they have documentation
Fixes https://github.com/rust-lang/rust/issues/90866.
The update for the test script is needed to count the number of impl blocks we have with only the struct. To be noted that with https://github.com/rust-lang/rust/pull/89676 merged, it wouldn't be needed (I don't know what is the status of it btw. cc ```@Mark-Simulacrum).```
It looks like this:

cc ```@jyn514```
r? ```@camelid```
|
|
Hack: many traits and types in std are re-exported from core or alloc. In
general, rustdoc is capable of recognizing these implementations as being
on local types. However, in at least one case, rustdoc gets confused and
labels an implementation as being on a foreign type. To make sure that
confusion doesn't pass on to the reader, consider all implementations in
std, core, and alloc to be on local types.
|
|
Add more eslint checks
A new batch of eslint rules:
* [no-fallthrough](https://eslint.org/docs/rules/no-fallthrough)
* [no-invalid-regexp](https://eslint.org/docs/rules/no-invalid-regexp)
* [no-import-assign](https://eslint.org/docs/rules/no-import-assign)
* [no-self-compare](https://eslint.org/docs/rules/no-self-compare)
* [no-template-curly-in-string](https://eslint.org/docs/rules/no-template-curly-in-string)
* [block-scoped-var](https://eslint.org/docs/rules/block-scoped-var)
* [guard-for-in](https://eslint.org/docs/rules/guard-for-in)
* [no-alert](https://eslint.org/docs/rules/no-alert)
r? ``@notriddle``
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rustdoc: Improve calculation of "Impls on Foreign Types"
The existing code to calculate whether an implementation was on a "Foreign Type" was duplicated across the sidebar generation and the page generation. It also came to the wrong conclusion for some cases where both the trait and the "for" type were re-exports.
This PR extracts the logic into a method of `Impl`, breaks it into a multi-line method so it can be commented, and adds a case for when the trait and the "for" type came from the same crate. This fixes some cases - like the platform-specific integer types (`__m256`, `__m128`, etc). But it doesn't fix all cases. See the screenshots below.
[Before](https://doc.rust-lang.org/nightly/std/clone/trait.Clone.html#foreign-impls):
<img src="https://user-images.githubusercontent.com/220205/171338226-59ce6daf-3d76-4bad-bc8d-72a8259a8f43.png" width=200>
[After](https://rustdoc.crud.net/jsha/implementation-is-on-local-type/std/clone/trait.Clone.html):
<img src="https://user-images.githubusercontent.com/220205/171338147-28308a65-1597-4223-be47-9550062404dd.png" width=200>
The remaining types (`CString`, `NulError`, etc) are all from the `alloc` crate, while the `Clone` trait is from the `core` crate. Since `CString` and `Clone` are both re-exported by `std`, they are logically local to each other, but I couldn't figure out a good way to detect that in this code. I figure this is still a good step forward.
Related: #97610
r? `@camelid`
|
|
|
|
Co-authored-by: Noah Lev <camelidcamel@gmail.com>
|
|
|
|
|
|
|
|
Improve settings theme display
This is a follow-up of #96958. In this PR, I changed how the theme radio buttons are displayed and improved their look as well.
It now looks like this:


You can test it [here](https://rustdoc.crud.net/imperio/improve-settings-theme-display/doc/foo/index.html).
r? `@jsha`
|
|
line number
|
|
|
|
|
|
|
|
|
|
Add sentence in case JS is disabled on settings.html page
Instead of having an empty page, it'll look like this:

r? `@notriddle`
|
|
Add more eslint checks
Here is a new batch of eslint checks:
* [no-const-assign](https://eslint.org/docs/rules/no-const-assign)
* [no-debugger](https://eslint.org/docs/rules/no-debugger)
* [no-dupe-args](https://eslint.org/docs/rules/no-dupe-args)
* [no-duple-else-if](https://eslint.org/docs/rules/no-dupe-else-if)
* [no-dupe-keys](https://eslint.org/docs/rules/no-dupe-keys)
* [no-duplicate-case](https://eslint.org/docs/rules/no-duplicate-case)
* [no-ex-assign](https://eslint.org/docs/rules/no-ex-assign)
r? ``@notriddle``
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rustdoc: include impl generics / self in search index
Fixes #92205
|
|
|
|
Pass Context as a &mut to allow to remove RefCell fields
Fixes #90323.
r? `@notriddle`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add more eslint rules
This PR adds more eslint rules. Here are the explanations for each of them:
* [space-infix-ops](https://eslint.org/docs/rules/space-infix-ops)
* [space-before-function-paren](https://eslint.org/docs/rules/space-before-function-paren)
* [space-before-blocks](https://eslint.org/docs/rules/space-before-blocks)
* [comma-dangle](https://eslint.org/docs/rules/comma-dangle)
* [comma-style](https://eslint.org/docs/rules/comma-style)
* [max-len](https://eslint.org/docs/rules/max-len)
* [eol-last](https://eslint.org/docs/rules/eol-last)
r? `@notriddle`
|
|
Allow to click on setting text
You can test it [here](https://rustdoc.crud.net/imperio/gui-settings-text-click/doc/foo/index.html).
This PR allows to click on the text alongside the toggle to change it.
r? `@jsha`
|
|
|
|
|
|
|
|
|