summary refs log tree commit diff
path: root/src/librustdoc/clean/inline.rs
AgeCommit message (Collapse)AuthorLines
2019-05-13Pass a `Symbol` to `check_name`, `emit_feature_err`, and related functions.Nicholas Nethercote-1/+2
2019-05-03rustc: rename hir::def::Def to Res (short for "resolution").Eduard-Mihai Burtescu-26/+25
2019-05-03rustc: factor most DefId-containing variants out of Def and into DefKind.Eduard-Mihai Burtescu-15/+15
2019-04-21Remove mutability from `Def::Static`Vadim Petrochenkov-2/+2
2019-03-31Fix invalid bounds string generation in rustdocGuillaume Gomez-5/+5
2019-03-26Rollup merge of #59004 - GuillaumeGomez:generics-handling, r=QuietMisdreavusGuillaume Gomez-3/+8
[rustdoc] Improve "in parameters" search and search more generally Fixes #58230. r? @QuietMisdreavus
2019-03-24Separate variant id and variant constructor id.David Wood-3/+1
This commit makes two changes - separating the `NodeId` that identifies an enum variant from the `NodeId` that identifies the variant's constructor; and no longer creating a `NodeId` for `Struct`-style enum variants and structs. Separation of the variant id and variant constructor id will allow the rest of RFC 2008 to be implemented by lowering the visibility of the variant's constructor without lowering the visbility of the variant itself. No longer creating a `NodeId` for `Struct`-style enum variants and structs mostly simplifies logic as previously this `NodeId` wasn't used. There were various cases where the `NodeId` wouldn't be used unless there was an unit or tuple struct or enum variant but not all uses of this `NodeId` had that condition, by removing this `NodeId`, this must be explicitly dealt with. This change mostly applied cleanly, but there were one or two cases in name resolution and one case in type check where the existing logic required a id for `Struct`-style enum variants and structs.
2019-03-21Add bounds for return types as wellGuillaume Gomez-1/+2
2019-03-21Greatly improve generics handling in rustdoc searchGuillaume Gomez-3/+7
2019-03-10Make the rustc driver and interface demand drivenJohn Kåre Alsaker-19/+19
2019-03-07HirIdification: replace NodeId method callsljedrz-2/+2
2019-02-24Auto merge of #58232 - ljedrz:HirIdification_continued, r=Zoxcbors-4/+4
HirId-ify intravisit A big step towards https://github.com/rust-lang/rust/pull/57578. This affects mostly `hir::{collector, intravisit}` and `rustc::lint`.
2019-02-23Fix tidy check errorsHirokazu Hata-2/+11
2019-02-23Transition librustdoc to 2018 editionHirokazu Hata-22/+22
2019-02-20HirIdification: change some NodeId to HirId callsljedrz-4/+4
2019-02-01don't try to get a DefId for a Def that doesn't have oneQuietMisdreavus-2/+5
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-18Don't render const keyword on stableGuillaume Gomez-1/+1
2018-12-06Use a function to access the Hir map to be able to turn it into a query laterJohn Kåre Alsaker-7/+7
2018-10-19Prefer `Default::default` over `FxHash*::default` in struct constructorsOliver Scherer-1/+1
2018-10-19Deprecate the `FxHashMap()` and `FxHashSet()` constructor function hackOliver Scherer-1/+1
2018-09-26add derive macros' helper attributes to doc outputQuietMisdreavus-1/+7
2018-09-25disable proc-macro re-export inliningQuietMisdreavus-7/+8
Proc-macros don't emit their attributes or source spans across crates. This means that rustdoc can't actually see the docs of a proc-macro if it wasn't defined in the active crate, and attempting to inline it creates an empty page with no docs or source link. In lieu of attempting to fix that immediately, this commit forces proc-macro re-exports to never inline, which at least creates usable links to complete documentation.
2018-09-25handle proc-macros as macros instead of functionsQuietMisdreavus-31/+34
2018-09-20shuffle ownership of `external_traits`QuietMisdreavus-4/+10
constraints: - clean/inline.rs needs this map to fill in traits when inlining - fold.rs needs this map to allow passes to fold trait items - html/render.rs needs this map to seed the Cache.traits map of all known traits The first two are the real problem, since `DocFolder` only operates on `clean::Crate` but `clean/inline.rs` only sees the `DocContext`. The introduction of early passes means that these two now exist at the same time, so they need to share ownership of the map. Even better, the use of `Crate` in a rustc thread pool means that it needs to be Sync, so it can't use `Lrc<Lock>` to manually activate thread-safety. `parking_lot` is reused from elsewhere in the tree to allow use of its `ReentrantMutex`, as the relevant parts of rustdoc are still single-threaded and this allows for easier use in that context.
2018-09-20refactor: move `access_levels` into RenderInfoQuietMisdreavus-2/+2
2018-09-20collect auto-/blanket-impls during collect-trait-implsQuietMisdreavus-21/+7
2018-09-20don't check visibility when inlining local implsQuietMisdreavus-6/+10
those get handled properly in strip-hidden anyway
2018-09-20pull impl generics from HIR if availableQuietMisdreavus-13/+19
2018-09-20collect impl items from the HIR if availableQuietMisdreavus-6/+17
2018-09-20pull local types from the HIR instead of tcxQuietMisdreavus-1/+10
2018-09-20handle local names when registering FQNsQuietMisdreavus-4/+8
2018-09-20add a bunch of debug printsQuietMisdreavus-0/+1
2018-09-20undo some tweaks to build_implQuietMisdreavus-13/+8
2018-09-20don't record an external trait if it's not externalQuietMisdreavus-0/+4
2018-09-20print local inlined consts via the HIR mapQuietMisdreavus-1/+5
2018-09-20rustdoc: collect trait impls as an early passQuietMisdreavus-73/+13
2018-09-13introduce SelfCtorF001-1/+2
2018-08-22Replace TyForeign with ForeignTyvarkor-1/+1
2018-08-22Rename Def::{Param, Foreign} to Def::{TyParam, TyForeign}varkor-1/+1
2018-08-22Remove Ty prefix from Ty{Foreign|Param}varkor-1/+1
2018-08-04Clean generic impls codeGuillaume Gomez-7/+19
2018-08-03Move unused trait functions to inherent functionsMark Rousskov-1/+1
2018-08-03Store concrete crate stores where possibleMark Rousskov-1/+1
2018-07-28Don't display full blanket implementation and put it into its own sectionGuillaume Gomez-0/+1
2018-07-22Add filter over non generic implsGuillaume Gomez-7/+0
2018-07-22Working generic implGuillaume Gomez-0/+6
2018-07-13don't panic when you see proc-macrosQuietMisdreavus-5/+9
2018-07-04Auto merge of #51611 - QuietMisdreavus:slippery-macros, r=ollie27bors-5/+38
rustdoc: import cross-crate macros alongside everything else The thrilling conclusion of the cross-crate macro saga in rustdoc! After https://github.com/rust-lang/rust/pull/51425 made sure we saw all the namespaces of an import (and prevented us from losing the `vec!` macro in std's documentation), here is the PR to handle cross-crate macro re-exports at the same time as everything else. This way, attributes like `#[doc(hidden)]` and `#[doc(no_inline)]` can be used to control how the documentation for these macros is seen, rather than rustdoc inlining every macro every time. Fixes https://github.com/rust-lang/rust/issues/50647
2018-06-28Use `Ident`s for associated item definitions in HIRVadim Petrochenkov-1/+1
Remove emulation of hygiene with gensyms