| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Implement proper stability check for const impl Trait, fall back to unstable const when undeclared
Continuation of #93960
`@jhpratt` it looks to me like the test was simply not testing for the failure you were looking for? Your checks actually do the right thing for const traits?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- #97190 (Add implicit call to from_str via parse in documentation)
- #97218 (Add eslint checks)
- #97219 (make ptr::invalid not the same as a regular int2ptr cast)
- #97223 (Remove quadratic behaviour from -Zunpretty=hir-tree.)
- #97232 (typo)
- #97237 (Add some more weird-exprs)
- #97238 (Bump LLVM fetched from CI to fix run-make)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
Add eslint checks
The first check is to ensure that `=>` is always surrounded with whitespaces.
The second is to ensure that the dict objects looks like this: `{"a": 2}` and not `{"a" : 2}` or `{"a":2}`.
r? ``@notriddle``
|
|
rustdoc: Reduce clean::Type size
There is no need to keep the `DefId` around since it's allow used to compute if we should show a cast or not. As such, we can simply directly store the boolean.
I think it's not what you had in mind `@camelid` but I guess it's still an improvement? :wink:
It was discussed in https://github.com/rust-lang/rust/pull/93941.
r? `@camelid`
|
|
|
|
|
|
|
|
Add new lint to enforce whitespace after keywords
r? `@notriddle`
|
|
rustdoc: show implementations on `#[fundamental]` wrappers
Fixes #92940
|
|
|
|
This avoids an ambiguity (when reading) where `.level.is_stable()` is
not immediately clear whether it is general stability or const
stability.
|
|
|
|
Fixes #94937
|
|
Search GUI fixes
The first fix is about the duplicated "in":

The second fix is about the `<select>` broken style:


You can test it [here](https://rustdoc.crud.net/imperio/search-ui-fixes/doc/foo/index.html?search=test).
r? `@notriddle`
|
|
rustdoc: don't build `rayon` for non-windows targets
`rayon` used only on windows targets, so no need to build it otherwise.
|
|
rustdoc-json: Fix HRTBs for WherePredicate::BoundPredicate
Information about HRTBs are already present for `GenericBound:: TraitBound` and `FunctionPointer`. This PR adds HRTB info also to `WherePredicate::BoundPredicate`.
Use the same field name and type as for the other ones (`generic_params: Vec<GenericParamDef>`). I have verified that this gives rustdoc JSON clients the data they need and in a format that is easy to work with (see https://github.com/Enselic/public-api/pull/92).
I will be happy to add tests for this change (and bump `FORMAT_VERSION` which I just realized I forgot), but it is always nice to get one round of feedback first, so that I don't put a lot of effort into tests that then have to be discarded.
`@rustbot` modify labels: +T-rustdoc +A-rustdoc-json
|
|
Simplify rustdoc search test
Previously, rustdoc search attempted to parse search.js and extract out only certain methods and variables.
This change makes search.js and search-index.js loadable as [CommonJS modules](https://nodejs.org/api/modules.html#modules-commonjs-modules), so they can be loaded directly.
As part of that change, I had to separate execSearch from interacting with the DOM. This wound up being a nice cleanup that made more explicit what inputs it was taking.
I removed search.js' dependency on storage.js by moving hasOwnPropertyRustdoc directly into search.js, and replacing onEach with forEach in a path that is called by the tester.
r? `@GuillaumeGomez`
Demo: https://rustdoc.crud.net/jsha/rustdoc-search-refactor/std/?search=foo
|
|
Previously, search.js relied on the DOM and the `window` object. It can now be
loaded in the absence of the DOM, for instance by Node. The same is true of
search-index.js.
This allows removing a lot of code from src/tools/rustdoc-js/tester.js that
tried to parse search.js and extract specific functions that were needed for
testing.
|
|
|
|
|
|
Retire `ItemLikeVisitor` trait
Issue #95004
cc `@cjgillot`
|
|
|
|
rustdoc: Remove doc link resolution fallback to all `macro_rules` in the crate
This is a deny-by-default lint detecting such fallback for crater run, as discussed in https://github.com/rust-lang/rust/pull/96521.
|
|
|
|
|
|
|
|
display) with a boolean
|
|
Improve settings menu display and remove theme menu
We talked about improving the settings menu and we mentioned that firefox pocket was a nice inspiration so I implemented it. The result looks like this:

You can test it [here](https://rustdoc.crud.net/imperio/settings-menu-display/doc/foo/index.html).
Only question I have is: should I re-assign the shortcut `T` to this setting menu now that the theme menu is gone? For now I simply removed it.
Important to be noted: the full settings page (at `settings.html`) is still rendered the same as currently.
r? ``@jsha``
|
|
Add EarlyBinder
Chalk has no concept of `Param` (https://github.com/rust-lang/chalk/blob/e0ade19d139bc784384acc6736cd960c91dd55a1/chalk-ir/src/lib.rs#L579) or `ReEarlyBound` (https://github.com/rust-lang/chalk/blob/e0ade19d139bc784384acc6736cd960c91dd55a1/chalk-ir/src/lib.rs#L1308). Everything is just "bound" - the equivalent of rustc's late-bound. It's not completely clear yet whether to move everything to the same time of binder in rustc or add `Param` and `ReEarlyBound` in Chalk.
Either way, tracking when we have or haven't already substituted out these in rustc can be helpful.
As a first step, I'm just adding a `EarlyBinder` newtype that is required to call `subst`. I also add a couple "transparent" `bound_*` wrappers around a couple query that are often immediately substituted.
r? `@nikomatsakis`
|
|
|
|
|
|
rustdoc: Cleanup doc link resolution
See individual commits for specific changes
|
|
rustdoc: remove weird, unused variable from source-files.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This simplifies error types and allows to remove `fn resolve_inner` and `fn check_full_res`
`visited_links` caching is not touched for now
|
|
and otherwise unify resolution in macro namespace and other namespaces
|
|
The variant resolution check didn't make sense, and derive trait collision could be processed in a different way
|