Commit graph

112 commits

Author SHA1 Message Date
Vadim Petrochenkov
68803926e0 rustdoc: Use DefId(Map,Set) instead of FxHash(Map,Set)
Not all uses are converted, a few cases iterating through maps/sets and requiring nontrivial changes are kept.
2023-01-22 02:12:05 +04:00
Matthias Krüger
fdd6af14a1 rustdoc: simplify some & ref erences 2023-01-15 15:23:30 +01:00
klensy
4e1258c6b6 IndexItem.name String -> Symbol 2023-01-13 15:39:16 +03:00
Guillaume Gomez
e802e996c0 Don't generate tuple struct fields into the search index 2022-10-31 11:21:06 +01:00
Vadim Petrochenkov
90f27f93bd rustdoc: Split effective visibilities from rustc from similar data built by rustdoc for external def-ids 2022-10-29 23:36:52 +04:00
Vadim Petrochenkov
34eb73c72d privacy: Rename "accessibility levels" to "effective visibilities"
And a couple of other naming tweaks

Related to https://github.com/rust-lang/rust/issues/48054
2022-10-26 16:34:53 +04:00
Michael Howell
a63a03dc54 rustdoc: remove clean::TraitWithExtraInfo
Instead, it gathers the extra info later, when it's actually requested.
2022-09-27 12:27:04 -07:00
Michael Howell
238bcc940f rustdoc: box ItemKind::Trait
This reduces the memory consumption of ItemKind.
2022-08-16 13:09:37 -07:00
est31
96c051fd07 Box TypedefItem, ImplItem, AssocTypeItem variants of ItemKind
This reduces ItemKind size from 224 bytes to 160 bytes.
2022-07-29 19:30:25 +02:00
Guillaume Gomez
8e150816c2 Remove unused field in ItemKind::KeywordItem 2022-07-21 16:05:17 +02:00
Michael Howell
718269aab8 cleanup librustdoc by making parent stack store items 2022-05-27 12:55:44 -07:00
Michael Howell
767719cc30 rustdoc: factor orphan impl items into an actual struct 2022-05-26 14:40:48 -07:00
Michael Howell
b9ed8784b3 rustdoc: include impl generics / self in search index 2022-05-25 11:01:43 -07:00
klensy
678059f7d0 fix simple clippy lints 2022-05-24 12:24:41 -04:00
Jacob Pratt
6970246886
Remove crate visibility modifier in libs, tests 2022-05-21 00:32:47 -04:00
Guillaume Gomez
afcf099e30
Rollup merge of #96565 - notriddle:notriddle/impl-box, r=camelid
rustdoc: show implementations on `#[fundamental]` wrappers

Fixes #92940
2022-05-20 14:03:01 +02:00
Michael Howell
6257bd2f4e rustdoc: clean up method path index
This removes a special case that doesn't seem to do anything
any more.
2022-05-10 08:59:59 -07:00
Michael Howell
bb4ecc3fd8 rustdoc: correct path to type alias methods 2022-05-09 17:50:39 -07:00
Guillaume Gomez
279dee5374 Fix reexports missing from the search index 2022-05-06 13:52:21 +02:00
Michael Howell
62b9e0643b rustdoc: show implementations on #[fundamental] wrappers
Fixes #92940
2022-04-29 14:21:40 -07:00
Dylan DPC
9fad214593
Rollup merge of #96142 - cjgillot:no-crate-def-index, r=petrochenkov
Stop using CRATE_DEF_INDEX outside of metadata encoding.

`CRATE_DEF_ID` and `CrateNum::as_def_id` are almost always what we want.  We should not manipulate raw `DefIndex` outside of metadata encoding.
2022-04-19 14:43:21 +02:00
Guillaume Gomez
caa770aee1 Fix rustdoc duplicated blanket impls issue 2022-04-17 18:04:10 +02:00
Camille GILLOT
07ee031763 Stop using CRATE_DEF_INDEX.
`CRATE_DEF_ID` and `CrateNum::as_def_id` are almost always what we want.
2022-04-17 12:14:42 +02:00
Guillaume Gomez
b1e6211c5c Rename def_id into item_id when the type is ItemId for readability 2022-04-16 14:28:09 +02:00
León Orell Valerian Liehr
8de453a8c6 rustdoc: discr. required+provided assoc consts+tys 2022-04-12 15:38:39 +02:00
zredb
be9d6335f7 fix #90187: Replace all def_id_no_primitives with def_id 2022-01-17 13:41:59 +01:00
zredb
0dd2703f8a fix #90187 2022-01-17 13:41:59 +01:00
zredb
ff88b59e58 fix #90187 2022-01-17 13:41:59 +01:00
Nicholas Nethercote
10b1c9aa8b rustdoc: avoid many Symbol to String conversions.
Particularly when constructing file paths and fully qualified paths.
This avoids a lot of allocations, speeding things up on almost all
examples.
2022-01-14 11:57:18 -08:00
Noah Lev
5c8e8e565d Give clearer names to several search index functions 2021-12-27 19:19:56 -08:00
Noah Lev
2b801dcdd3 Move ExternalLocation to clean::types
It was previously defined in `render::search_index` but wasn't used at
all there. `clean::types` seems like a better fit since that's where
`ExternalCrate` is defined.
2021-12-27 18:57:07 -08:00
Noah Lev
e19593f0e5 rustdoc: Remove some unnecessary cache parameters
Based on
https://github.com/rust-lang/rust/pull/80883#issuecomment-774437832.
The `tcx` parameters do seem to be used though, so I only removed the
`cache` parameters.
2021-12-27 18:53:00 -08:00
Noah Lev
60a1abe4c5 Rename rustdoc::html::render::cache to search_index
The old name wasn't very clear, while the new one makes it clear that
this is the code responsible for creating the search index.
2021-12-27 18:42:13 -08:00
Nicholas Nethercote
056d48a2c9 Remove unnecessary sigils around Symbol::as_str() calls. 2021-12-15 17:32:14 +11:00
Noah Lev
79c718f1d5 Rename Type::ResolvedPath to Type::Path
At last! The new name is shorter, simpler, and consistent with
`hir::Ty`.
2021-11-26 12:40:27 -08:00
Noah Lev
d81deb33fa Stop re-exporting Type::ResolvedPath
I would like to rename it to `Type::Path`, but then it can't be
re-exported since the name would conflict with the `Path` struct.
Usually enum variants are referred to using their qualified names in
Rust (and parts of rustdoc already do that with `clean::Type`), so this
is also more consistent with the language.
2021-11-25 12:08:05 -08:00
Noah Lev
43651125ee Remove ResolvedPath.did 2021-11-24 12:06:47 -08:00
Noah Lev
bbc3825d26 rustdoc: Move doc-reachability visiting back to cleaning
It populates `cx.cache.access_levels`, which seems to be needed during
cleaning since a bunch of tests are failing.
2021-11-19 22:00:37 -05:00
Noah Lev
6c017f071d rustdoc: Merge visits of extern crates into one loop 2021-11-19 21:28:52 -05:00
Noah Lev
f41beab5cd rustdoc: Remove Crate.externs and compute on-demand instead 2021-11-19 21:28:52 -05:00
Noah Lev
331465a867 rustdoc: Pass DocContext to Cache::populate
This will allow removing `Crate.externs`.
2021-11-19 17:55:40 -05:00
bors
b416e3892d Auto merge of #90385 - mfrw:mfrw/librustdoc, r=GuillaumeGomez
rustdoc: use Type::def_id() instead of Type::def_id_no_primitives()

For: #90187

r? `@jyn514`
2021-11-13 20:11:58 +00:00
Noah Lev
b5817fada2 rustdoc: Remove top-level wrappers for ImplKind methods
The `ImplKind` methods can just be used directly instead.
2021-11-07 18:26:37 -08:00
Noah Lev
7b7023cb72 rustdoc: Refactor Impl.{synthetic,blanket_impl} into enum
This change has two advantages:

1. It makes the possible states clearer, and it makes it impossible to
   construct invalid states, such as a blanket impl that is also an auto
   trait impl.

2. It shrinks the size of `Impl` a bit, since now there is only one
   field, rather than two.
2021-11-07 08:41:18 -08:00
Muhammad Falak R Wani
d468418209
rustdoc: use Type::def_id() instead of Type::def_id_no_primitives()
Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
2021-11-05 07:44:05 +05:30
Matthias Krüger
e3eebfeea6
Rollup merge of #90154 - camelid:remove-getdefid, r=jyn514
rustdoc: Remove `GetDefId`

See the individual commit messages for details.

r? `@jyn514`
2021-10-27 06:11:35 +02:00
Guillaume Gomez
4614ca4541 Fix clippy lints in librustdoc 2021-10-25 11:30:09 +02:00
Noah Lev
f93cf66507 Rename Type::def_id_full() to Type::def_id()
It should be preferred over `def_id_no_primitives()`, so it should have
a shorter name. I also put it before `def_id_no_primitives()` so that it
shows up first in the docs.
2021-10-22 13:07:43 -07:00
Noah Lev
0853c33c3b Use def_id_full() where easily possible
In general, it should be preferred over `Type::def_id()`. See each
method's docs for more.
2021-10-22 13:07:43 -07:00
Noah Lev
bf0cc90050 Replace GetDefId with inherent methods
Now that it's only implemented for `Type`, using inherent methods
instead means that imports are no longer necessary. Also, `GetDefId` is
only meant to be used with `Type`, so it shouldn't be a trait.
2021-10-22 13:07:43 -07:00