about summary refs log tree commit diff
path: root/src/librustdoc
AgeCommit message (Collapse)AuthorLines
2025-09-27Improve code and fix typoGuillaume Gomez-8/+5
2025-09-27Apply first review round suggestionsGuillaume Gomez-14/+2
2025-09-27Improve code comments and extend tests for `doc_cfg` featureGuillaume Gomez-2/+4
2025-09-27Correctly handle target_feature in rustdoc cfgGuillaume Gomez-26/+11
2025-09-27fmtGuillaume Gomez-5/+3
2025-09-27Improve code and better check `doc(cfg(...))` attributesGuillaume Gomez-36/+57
2025-09-27Add code documentation, improve code and improve error messageGuillaume Gomez-5/+22
2025-09-27Put back the `doc_cfg` code behind a nightly featureGuillaume Gomez-1/+5
2025-09-27Rename `CfgInfo::doc_auto_cfg_active` into `auto_cfg_active`Guillaume Gomez-9/+9
2025-09-27Remove useless code in `propagate_doc_cfg.rs`Guillaume Gomez-18/+1
2025-09-27Implement RFC 3631Guillaume Gomez-161/+370
2025-09-27Auto merge of #146636 - Mark-Simulacrum:bootstrap-bump, r=jieyouxubors-1/+0
Bump bootstrap compiler to 1.91 beta https://forge.rust-lang.org/release/process.html#default-branch-bootstrap-update-tuesday
2025-09-26Apply cfg(bootstrap) replacementMark Rousskov-1/+0
2025-09-26Rollup merge of #147027 - GuillaumeGomez:tyalias-disambiguator, r=lolbinarycatMatthias Krüger-0/+2
Add new `tyalias` intra-doc link disambiguator Fixes https://github.com/rust-lang/rust/issues/146855. Alternative to rust-lang/rust#146866. This adds support for a new disambiguator: `tyalias`. I think it's common enough to have type aliases nowaday, so no reason to not be able to have a disambiguator for them. cc ``@fmease`` r? lolbinarycat
2025-09-26Add new `tyalias` intra-doc link disambiguatorGuillaume Gomez-0/+2
2025-09-26Rollup merge of #147047 - notriddle:toolbar-index, r=GuillaumeGomezMatthias Krüger-3/+13
rustdoc: put the toolbar on the all item index
2025-09-25rustdoc: put the toolbar on the all item indexMichael Howell-3/+13
2025-09-25Auto merge of #147037 - matthiaskrgr:rollup-xtgqzuu, r=matthiaskrgrbors-341/+378
Rollup of 8 pull requests Successful merges: - rust-lang/rust#116882 (rustdoc: hide `#[repr]` if it isn't part of the public ABI) - rust-lang/rust#135771 ([rustdoc] Add support for associated items in "jump to def" feature) - rust-lang/rust#141032 (avoid violating `slice::from_raw_parts` safety contract in `Vec::extract_if`) - rust-lang/rust#142401 (Add proper name mangling for pattern types) - rust-lang/rust#146293 (feat: non-panicking `Vec::try_remove`) - rust-lang/rust#146859 (BTreeMap: Don't leak allocators when initializing nodes) - rust-lang/rust#146924 (Add doc for `NonZero*` const creation) - rust-lang/rust#146933 (Make `render_example_with_highlighting` return an `impl fmt::Display`) r? `@ghost` `@rustbot` modify labels: rollup
2025-09-25Rollup merge of #146933 - yotamofek:pr/rustdoc/highlight_no_write_str, ↵Matthias Krüger-95/+80
r=GuillaumeGomez Make `render_example_with_highlighting` return an `impl fmt::Display` Removes some more usages of `write_str`. Shouldn't affect runtime, but makes the codebase a bit more consistent. Each commit can be reviewed separately
2025-09-25Rollup merge of #135771 - GuillaumeGomez:jump-to-def-perf, r=fmeaseMatthias Krüger-92/+152
[rustdoc] Add support for associated items in "jump to def" feature Fixes https://github.com/rust-lang/rust/issues/135485. r? ``@fmease``
2025-09-25Rollup merge of #116882 - fmease:rustdoc-generalized-priv-repr-heuristic, ↵Matthias Krüger-154/+146
r=rustdoc rustdoc: hide `#[repr]` if it isn't part of the public ABI > [!IMPORTANT] > Temporarily stacked on top of PR https://github.com/rust-lang/rust/pull/146527; only the last commit is relevant! Follow-up to rust-lang/rust#115439. Unblocks rust-lang/rust#116743, CC ``@dtolnay.`` Fixes rust-lang/rust#66401. Fixes rust-lang/rust#128364. Fixes rust-lang/rust#137440. Only display the representation `#[repr(REPR)]` (where `REPR` is not `Rust` or `transparent`) of a given type if none of its variants (incl. the synthetic variants of structs) are `#[doc(hidden)]` and all of its fields are public and not `#[doc(hidden)]` since it's likely not meant to be considered part of the public ABI otherwise. `--document-{private,hidden}-items` works as expected in this context, too. Moreover, we now also factor in the presence of `#[doc(hidden)]` when checking whether to show `repr(transparent)` or not.
2025-09-25Rollup merge of #146667 - calebzulawski:simd-mono-lane-limit, r=lcnr,RalfJungStuart Cook-0/+5
Add an attribute to check the number of lanes in a SIMD vector after monomorphization Allows std::simd to drop the `LaneCount<N>: SupportedLaneCount` trait and maintain good error messages. Also, extends rust-lang/rust#145967 by including spans in layout errors for all ADTs. r? ``@RalfJung`` cc ``@workingjubilee`` ``@programmerjake``
2025-09-25rustdoc: hide `#[repr(...)]` if it isn't part of the public ABILeón Orell Valerian Liehr-21/+61
2025-09-25rustdoc: Fully escape link section and export nameLeón Orell Valerian Liehr-2/+2
Escape "special characters" (e.g., double quotes `"` and line breaks `\n`). Escape HTML. Lastly, add regression tests and clean up existing tests.
2025-09-25rustdoc: Slightly clean up attr renderingLeón Orell Valerian Liehr-97/+56
2025-09-24Rollup merge of #146897 - lolbinarycat:rustdoc-invalid_html_tags-ice-146890, ↵Matthias Krüger-1/+2
r=GuillaumeGomez fix ICE in rustdoc::invalid_html_tags fixes https://github.com/rust-lang/rust/issues/146890 r? ```@GuillaumeGomez```
2025-09-23Add an attribute to check the number of lanes in a SIMD vector after ↵Caleb Zulawski-0/+5
monomorphization Unify zero-length and oversized SIMD errors
2025-09-23Rollup merge of #146877 - el-ev:issue146816, ↵Matthias Krüger-7/+18
r=fmease,lolbinarycat,GuillaumeGomez prevent line number from being copied in chrome - Closes rust-lang/rust#146816 Fix the issue where line numbers are copied along with code in Chrome
2025-09-23Remove unused param from `write_header`Yotam Ofek-11/+2
2025-09-23Remove `Tooltip::None` variant, use `Option::None`Yotam Ofek-25/+28
2025-09-23Make `render_example_with_highlighting` return an `impl fmt::Display`Yotam Ofek-71/+62
2025-09-23prevent line number from being copied in chromeIris Shi-7/+18
2025-09-22fix ICE in rustdoc::invalid_html_tagsbinarycat-1/+2
2025-09-22Rollup merge of #146828 - el-ev:issue146646, r=GuillaumeGomezGuillaume Gomez-2/+4
fix a crash in rustdoc merge finalize without input file - Closes rust-lang/rust#146646 `SerializedSearchIndex::union` calls `Symbol::intern`, requiring `SESSION_GLOBALS` to be set.
2025-09-22Rollup merge of #146838 - yotamofek:pr/rustdoc/wrappers, r=lolbinarycatStuart Cook-251/+262
Introduce "wrapper" helpers to rustdoc Add a few traits for streamlining places where we need to wrap certain `fmt::Display`s in stuff like parentheses or brackets. Hopefully this makes the actual display logic slightly easier to read. First two commits are small, unrelated cleanups. I'll probably add some doc comments to the stuff in `display.rs`, maybe also play around with the API, but wanted to get feedback on this idea first.
2025-09-22Introduce "wrapper" helpers to rustdocYotam Ofek-238/+248
2025-09-21Re-use some existing util fnsYotam Ofek-9/+7
2025-09-21Early return in `visibility_print_with_space`Yotam Ofek-4/+7
2025-09-21Port #[macro_export] to the new attribute parsing infrastructureJonathan Brouwer-22/+25
Co-authored-by: Anne Stijns <anstijns@gmail.com>
2025-09-21fix a crash in rustdoc merge finalize without input fileIris Shi-2/+4
2025-09-19Rollup merge of #146484 - notriddle:stringdex-js-opt, r=GuillaumeGomezStuart Cook-140/+290
rustdoc-search: JavaScript optimization based on Firefox Profiler output Part of https://github.com/rust-lang/rust/issues/146048 Preview: https://notriddle.com/rustdoc-html-demo-12/stringdex-js-opt/std/index.html These commits are based on some profiler readings, and should reduce CPU usage for name-based searching. - The first commit improves warm searches by allocating less garbage when data is already loaded: Before: https://profiler.firefox.com/public/wvzd88m8r70p8frvz1z628tv3htwna0b9c0ef10/calltree/?globalTrackOrder=0w2&implementation=js&thread=3&v=11 After: https://profiler.firefox.com/public/yfe9aq6ep3kacw3zmr7jqn6gv7ckfq86rg89568/calltree/?globalTrackOrder=0w2&implementation=js&thread=3&v=11 - The second commit improves cold searches by delaying load for special type names until type-based search runs Before: 5.86s (throttled to "Good 2G" in Dev Tools) <https://doc.rust-lang.org/nightly/std/index.html?search=> <img width="2524" height="919" alt="image" src="https://github.com/user-attachments/assets/8dbbbd46-b7ab-4e3c-9e8c-f1e41cfaa968" /> After: 5.77s (throttled to "Good 2G" in Dev Tools) <https://notriddle.com/rustdoc-html-demo-12/stringdex-js-opt/std/index.html?search=> <img width="2524" height="912" alt="image" src="https://github.com/user-attachments/assets/6976a584-24f4-4d47-8118-7a81b22d411e" /> For comparison's sake, the same test takes 12.17s on stable <https://doc.rust-lang.org/1.89.0/std/index.html?search=> <img width="2525" height="916" alt="image" src="https://github.com/user-attachments/assets/eb6df2e8-6632-4bef-a6d0-5179c6288fd0" />
2025-09-18Rollup merge of #146694 - camsteffen:impl-subject, r=compiler-errorsStuart Cook-5/+5
Remove ImplSubject It only has one usage in rustdoc.
2025-09-18Rollup merge of #146664 - fmease:clean-up-dyn, r=jdonszelmannStuart Cook-1/+1
Clean up `ty::Dynamic` 1. As a follow-up to PR rust-lang/rust#143036, remove `DynKind` entirely. 2. Inside HIR ty lowering, consolidate modules `dyn_compatibility` and `lint` into `dyn_trait` * `dyn_compatibility` wasn't about dyn compatibility itself, it's about lowering trait object types * `lint` contained dyn-Trait-specific diagnostics+lints only
2025-09-17Remove ImplSubjectCameron Steffen-5/+5
2025-09-17Cleanup `FnDecl::inner_full_print`Yotam Ofek-51/+62
2025-09-17Remove `DynKind`León Orell Valerian Liehr-1/+1
2025-09-14rustdoc: Move HTML-specific attr rendering code into HTML rendering modLeón Orell Valerian Liehr-150/+143
These functions used to be shared with the JSON backend but nowadays they aren't.
2025-09-12rustdoc-search: delay loading type name IDs until type searchMichael Howell-90/+233
This avoids blocking on these lookups, so name-based searches return results more quickly.
2025-09-12Don't store defaultness for inherent impl itemsCameron Steffen-2/+5
2025-09-12Split AssocContainer::{InherentImpl,TraitImpl}Cameron Steffen-29/+24