| Age | Commit message (Collapse) | Author | Lines |
|
Use rustdoc.css for error index
Closes #86512.
|
|
Pretty-print macro matchers instead of using source code
Fixes #86208.
|
|
The output is not quite as nice as it used to be, but it does work.
|
|
|
|
|
|
Revert "Don't load all extern crates unconditionally"
Fixes https://github.com/rust-lang/rust/issues/84738.
This reverts https://github.com/rust-lang/rust/pull/83738.
For the "smart" load of external crates, we need to be able to access their items in order to check their doc comments, which seems, if not impossible, quite complicated using only the AST.
For some context, I first tried to extend the `IntraLinkCrateLoader` visitor by adding `visit_foreign_item`. Unfortunately, it never enters into this call, so definitely not the right place...
I then added `visit_use_tree` to then check all the imports outside with something like this:
```rust
let mut loader = crate::passes::collect_intra_doc_links::IntraLinkCrateLoader::new(resolver);
ast::visit::walk_crate(&mut loader, krate);
let mut items = Vec::new();
for import in &loader.imports_to_check {
if let Some(item) = krate.items.iter().find(|i| i.id == *import) {
items.push(item);
}
}
for item in items {
ast::visit::walk_item(&mut item);
for attr in &item.attrs {
loader.check_attribute(attr);
}
}
```
This was, of course, a failure. We find the items without problems, but we still can't go into the external crate to check its items' attributes.
Finally, `@jyn514` suggested to look into the [`CrateLoader`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/creader/struct.CrateLoader.html), but it only seems to provide metadata (I went through [`CStore`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/creader/struct.CStore.html) and [`CrateMetadata`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_metadata/rmeta/decoder/struct.CrateMetadata.html)).
I think we are too limited here (with AST only) to be able to determine the crates we actually need to import, but it's very likely that I missed something. Maybe `@petrochenkov` or `@Aaron1011` have an idea?
So until we find a way to make it work completely, we need to revert it to fix the ICE. Once merged, we'll need to re-open #68427.
r? `@jyn514`
|
|
Rollup of 7 pull requests
Successful merges:
- #86148 (Check the number of generic lifetime and const parameters of intrinsics)
- #86659 (fix(rustdoc): generics search)
- #86768 (Add myself to mailmap)
- #86775 (Test for const trait impls behind feature gates)
- #86779 (Allow anyone to add or remove any label starting with perf-)
- #86783 (Move Mutex::unlock to T: ?Sized)
- #86785 (proc_macro/bridge: Remove dead code Slice type)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Rename all_crate_nums query to crates and remove useless wrapper
Split out of https://github.com/rust-lang/rust/pull/86105
r? `@petrochenkov`
|
|
|
|
|
|
This commit adds a test case for generics, re-adds generics data
to the search index, and tweaks function indexing to use less space in JSON.
This reverts commit 14ca89446c076bcf484d3d05bd991a4b7985a409.
|
|
Rollup of 8 pull requests
Successful merges:
- #85504 (the foundation owns rust trademarks)
- #85520 (Fix typo and improve documentation for E0632)
- #86680 (Improve error for missing -Z with debugging option)
- #86728 (Check node kind to avoid ICE in `check_expr_return()`)
- #86740 (copy rust-lld as ld in dist)
- #86746 (Fix rustdoc query type filter)
- #86750 (Test cross-crate usage of `feature(const_trait_impl)`)
- #86755 (alloc: `RawVec<T, A>::shrink` can be in `no_global_oom_handling`.)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Fix rustdoc query type filter
I realized while reviewing #86659 that the type filter was broken on search so I'd prefer it to get merged before merging #86659.
r? `@notriddle`
|
|
|
|
|
|
|
|
Fix boldness (put it back where needed)
I realized that I created a GUI test that wasn't run because it had ".rs" extension instead of ".goml" so I moved its content into `font-weight.goml` (since it was checking font weight).
|
|
Upgrade normalize.css to v8.0.1
Fixes #86629, this addresses #82548 and #82542 with tweaks. I expect that this changes the style *slightly* but shouldn't have any major changes.
Here's some changes I observed, I'd say they all are an improvement.
<details>
<summary>Before</summary>


</details>
<details>
<summary>After</summary>


</details>
r? `@jsha`
|
|
|
|
|
|
Update to new bootstrap compiler
r? `@pietroalbini`
|
|
|
|
|
|
Add `go_to_first` query param to jump to first result
Fixes #84214
Note that while the issue initially wanted to navigate to an entry on exact match, the discussion settled on using a query parameter (`&go_to_first=true`) instead, regardless of exact or partial match.
Demonstration is attached
https://user-images.githubusercontent.com/4934853/120258768-7ff28980-c247-11eb-8c8f-1a2ceb242788.mp4
|
|
Show triangle on the "Details" disclosure element in all cases
Re-submission of #82805, fixes the style issue by applying the same margin as `<p>`.
<details><summary>Before</summary>


</details>
<details><summary>After</summary>


</details>
r? `@GuillaumeGomez`
|
|
Reserve prefixed identifiers and literals (RFC 3101)
This PR denies any identifiers immediately followed by one of three tokens `"`, `'` or `#`, which is stricter than the requirements of RFC 3101 but may be necessary according to the discussion at [Zulip].
[Zulip]: https://rust-lang.zulipchat.com/#narrow/stream/268952-edition-2021/topic/reserved.20prefixes/near/238470099
The tracking issue #84599 says we'll add a feature gate named `reserved_prefixes`, but I don't think I can do this because it is impossible for the lexer to know whether a feature is enabled or not. I guess determining the behavior by the edition information should be enough.
Fixes #84599
|
|
result
|
|
|
|
|
|
|
|
r=GuillaumeGomez
rustdoc: Render `<Self as X>::Y` type casts properly across crate bounds
My last PR that introduced the type casting did not work for cross-crate re-exported traits, which is fixed in this PR.
Fully resolves #85454
|
|
|
|
This commit denies any identifiers immediately followed by
one of three tokens `"`, `'` or `#`, which is stricter than
the requirements of RFC 3101 but may be necessary according
to the discussion at [Zulip].
[Zulip]: https://rust-lang.zulipchat.com/#narrow/stream/268952-edition-2021/topic/reserved.20prefixes/near/238470099
|
|
Properly render HRTBs
```rust
pub fn test<T>()
where
for<'a> &'a T: Iterator,
{}
```
This will now render properly including the `for<'a>`

I do not know if this covers all cases, it only covers everything that I could think of that includes `for` and lifetimes in where bounds.
Also someone need to mentor me on how to add a proper rustdoc test for this.
Resolves #78482
|
|
Use HTTPS links where possible
While looking at #86583, I wondered how many other (insecure) HTTP links were in `rustc`. This changes most other `http` links to `https`. While most of the links are in comments or documentation, there are a few other HTTP links that are used by CI that are changed to HTTPS.
Notes:
- I didn't change any to or in licences
- Some links don't support HTTPS :(
- Some `http` links were dead, in those cases I upgraded them to their new places (all of which used HTTPS)
|
|
chore(rustdoc): remove unused members of RenderType
PR #86561 removes the only place the `generics` member is read. This PR does even more cleanup.
|
|
Rustdoc: Do not list impl when trait has doc(hidden)
Fixes #86448.
|
|
Co-authored-by: Miguel Ojeda <ojeda@kernel.org>
|
|
Commit e629381653bb3579f0cea0b256e391edef5e8dbb removes the only place
these members variables are actually read.
|
|
|
|
|
|
* implement sans-serif #85621
|
|
chore(rustdoc): Remove unused impl block
|
|
|
|
Fix crate filter search reset
I found a fun bug when using rustdoc recently: I made a search, cut the search input content, changed the crate filter, pasted back the input content. To my surprise, the crate filter wasn't applied. It's because that our search input was empty when receiving the `<select>` "onchange" event. To fix this issue, I reset the `currentResults` variable to `null`.
It's using the first commit from #86542 so it needs to wait for it before getting merged.
r? `@jsha`
|
|
|
|
Revert "List trait impls before methods from deref in the sidebar ..."
This reverts commit 8a058926ecd6d0988714f8f7a5a31293c533f8c6.
Fixes #85618
r? `@jyn514`
|
|
Rustdoc's output"
This reverts commit 8a058926ecd6d0988714f8f7a5a31293c533f8c6.
|
|
|
|
Improvements to intra-doc link macro disambiguators
A few small improvements around macro disambiguators:
- display the link text as it was entered: previously `[macro!()]` would be displayed without the parantheses (fixes #86309)
- support `!{}` and `![]` as macro disambiguators (fixes #86310)
r? `@jyn514` cc `@Manishearth` `@camelid`
|