Commit Graph

553 Commits

Author SHA1 Message Date
mitaa
bb9ec82563 Improve accessibility of rustdoc pages 2016-04-25 07:50:16 +02:00
Alex Crichton
36d9ee3da9 rustdoc: Handle concurrent mkdir requests
It's likely that `rustdoc` as a tool is run concurrently in the same output
(e.g. documenting multiple crates as Cargo does), in which case it needs to
handle concurrent calls to `fs::create_dir`.
2016-04-24 21:37:22 -07:00
Andy Russell
c7c34fdace show unstable status for deprecated items 2016-04-22 23:35:48 -04:00
mitaa
8ab2c20d8c Only record the same impl once
Due to inlining it is possible to visit the same module multiple times
during `<Cache as DocFolder>::fold_crate`, so we keep track of the
modules we've already visited.
2016-04-22 19:10:30 +02:00
Oliver Middleton
2b1e35ec12 rustdoc: Cleanup ABI rendering
Use a common method for rendering `extern "<abi>"`.

This now consistently shows `extern "C" fn` rather than just `extern fn`.
2016-04-22 11:51:25 +01:00
bors
478a33dabc Auto merge of #33002 - mitaa:rdoc-cross-impls, r=alexcrichton
rustdoc: refine cross-crate impl inlining

This changes the current rule that impls within `doc(hidden)` modules aren't inlined, to only inlining impls where the implemented trait and type are reachable in documentation.

fixes #14586
fixes #31948

.. and also applies the reachability checking to cross-crate links.

fixes #28480

r? @alexcrichton
2016-04-19 05:00:10 -07:00
bors
e8c0aeb88b Auto merge of #32985 - caipre:rustdoc-disambiguate-impl-anchors, r=alexcrichton
rustdoc: Disambiguate anchors

Closes https://github.com/rust-lang/rust/issues/32890
2016-04-19 01:49:13 -07:00
Steve Klabnik
5d0dca363f Rollup merge of #32558 - sanxiyn:rustdoc-self-link, r=steveklabnik
Avoid linking to itself in implementors section of trait page

Fix #32474.
2016-04-18 14:50:34 -04:00
Nick Platt
894caf8364 rustdoc: Disambiguate anchors for assoc item impls 2016-04-17 21:41:55 -04:00
mitaa
77b409a674 Reachability check cross-crate links 2016-04-18 01:56:01 +02:00
mitaa
cfad7ad947 Perform doc-reachability check for inlined impls
This changes the current rule that impls within `doc(hidden)` modules
aren't inlined, to only inlining impls where the implemented
trait and type are reachable in documentation.
2016-04-18 01:55:54 +02:00
bors
ae33aa74f4 Auto merge of #32875 - jseyfried:1422_implementation, r=nikomatsakis
Implement `pub(restricted)` privacy (RFC 1422)

This implements `pub(restricted)` privacy from RFC 1422 (cc #32409) behind a feature gate.

`pub(restricted)` paths currently cannot use re-exported modules both for simplicity of implementation and for future compatibility with RFC 1560 (cf #31783).

r? @nikomatsakis
2016-04-16 16:21:09 -07:00
pierzchalski
ec5e0f81cf Add flag for whether an item is default or not.
We don't want to render default item docs but previously
`doctraititem` naively delegated to the trait definition in those
cases.

Updated tests to also check that this doesn't strip default item
docs from the trait definition.
2016-04-15 14:41:54 +10:00
Jeffrey Seyfried
3bf9fc0c2a Fix fallout in rustdoc 2016-04-14 04:53:33 +00:00
pierzchalski
d8d8669439 Delegate whether to print docblocks to 'document'
Add test to check this resolves #24838 and #26871.
2016-04-14 13:57:01 +10:00
mitaa
ea83349c9f Retire rustdocs ANALYSISKEY
The thread-local isn't needed and consists of mostly empty fields which
were just used to move the data into `html::render::CACHE_KEY`.
2016-04-13 19:39:17 +02:00
Jeffrey Seyfried
bb66d91c98 Make hir::Visibility non-copyable and add ty::Visibility 2016-04-07 04:31:45 +00:00
bors
a9f34c86a4 Auto merge of #32230 - GuillaumeGomez:extend_css, r=alexcrichton
Add --extend-css option to rustdoc

Fixes #32223

r? @brson
2016-04-06 17:11:44 -07:00
Guillaume Gomez
669edfaef4 Update to last rustdoc version 2016-04-06 12:40:23 +02:00
Eduard Burtescu
ffca6c3e15 rustc: move middle::{def,def_id,pat_util} to hir. 2016-04-06 09:14:21 +03:00
Eduard Burtescu
8b0937293b rustc: move rustc_front to rustc::hir. 2016-04-06 09:01:55 +03:00
Manish Goregaokar
e8ab71fa00 Rollup merge of #32715 - nrc:rustdoc-highlight, r=cmr
rustdoc: factor out function for getting inner html of highlighted source
2016-04-05 16:43:22 +05:30
Guillaume Gomez
ded701bf64 Centralize nightly compiler flags handling 2016-04-05 04:13:30 +02:00
Guillaume Gomez
ab835a12da Add --extend-css option to rustdoc 2016-04-05 01:39:35 +02:00
Nick Cameron
a4e2933c6a rustdoc: factor out function for getting inner html of highlighted source 2016-04-04 11:07:41 +12:00
mitaa
95eb8a68aa Slim down rustdoc::html::render::Context
Like the comment on `Context` explains, `Context` is supposed to be
lightweight, so we're putting everything that's immutable after
creation of the Context behind an `Arc<SharedContext>`.
2016-04-02 13:47:11 +02:00
mitaa
0ef85c1e6a Refactor HiddenStructField into StrippedItem 2016-04-02 13:47:05 +02:00
mitaa
b1543a1aac Make the rendering process less pass-aware
Instead of hardcoding knowledge about the strip-private pass into the
rendering process we represent (some) stripped items as `ItemEnum::StrippedItem`.

Rustdoc will, for example, generate redirect pages for public items
contained in private modules which have been re-exported to somewhere
externally reachable - this will now not only work for the `strip-private`
pass, but for other passes as well, such as the `strip-hidden` pass.
2016-04-02 12:00:55 +02:00
Seo Sanghyeon
b308a8c036 Avoid linking to itself in implementors section of trait page 2016-03-29 17:04:00 +09:00
mitaa
8779e7baa4 Don't initialize id-map when rendering md files
Adding these "known" values to the table of used ids is only required
when embedding markdown into a rustdoc  html page and may yield
unexpected results when rendering a standalone `*.md` file.
2016-03-27 00:21:01 +01:00
mitaa
0e3a2c0167 Linkify associated types and constants 2016-03-27 00:21:00 +01:00
mitaa
1bd8183c15 Don't hardcode item-type anchor ids
These should always correspond to the values in `ItemType::to_static_str`
2016-03-27 00:21:00 +01:00
mitaa
3e33ef4c42 Correct anchor for links to associated trait items 2016-03-27 00:20:55 +01:00
bors
98f0a9128f Auto merge of #32454 - eddyb:rollup, r=eddyb
Rollup of 11 pull requests

- Successful merges: #32404, #32420, #32423, #32425, #32429, #32430, #32431, #32434, #32437, #32441, #32443
- Failed merges:
2016-03-23 12:33:04 -07:00
Jorge Aparicio
2628f3cc8f fix alignment 2016-03-22 22:03:54 -05:00
Jorge Aparicio
0f02309e4b try! -> ?
Automated conversion using the untry tool [1] and the following command:

```
$ find -name '*.rs' -type f | xargs untry
```

at the root of the Rust repo.

[1]: https://github.com/japaric/untry
2016-03-22 22:01:37 -05:00
mitaa
4c71347e94 Consider doc(no_inline) in crate-local inlining 2016-03-22 21:11:00 +01:00
mitaa
f1cf2a6fcb rustdoc: correct src-link url 2016-03-08 08:07:57 +01:00
mitaa
938c8c18c4 This doesn't seem necessary? 2016-03-04 19:40:01 +01:00
mitaa
d78f19ebbd Use const instead of function 2016-03-04 19:40:00 +01:00
mitaa
032156210d Use Item::is_* methods consistently 2016-03-04 19:40:00 +01:00
mitaa
2a28b69948 Refactor rustdocs attribute handling 2016-03-04 19:39:52 +01:00
mitaa
8f6e09a956 Simplify if let/match expressions 2016-03-04 19:07:35 +01:00
mitaa
62267470f6 Refactor src-link creation for local sources
Since we emit the sources beforhand we actually **know** whether we
can safely create src-links to these files and where they are stored.
2016-03-03 16:11:10 +01:00
mitaa
0b3bc9b5e2 Correct plain-summary-line
For plaintext we don't actually need to render the Markdown before
shortening the string. (and this may have led to wrong output)
2016-02-27 06:42:30 +01:00
Manish Goregaokar
e584a492f3 Rollup merge of #31837 - mitaa:rdoc-inherent-assoc, r=alexcrichton
This effectively only records associated items from either inherent impls or trait definitions in the search-index.

fixes #31808

r? @alexcrichton
2016-02-25 15:06:07 +05:30
Manish Goregaokar
6078a86e2d Rollup merge of #31835 - mitaa:rdoc-global-src, r=alexcrichton
fixes #26995

r? @alexcrichton
2016-02-25 15:06:07 +05:30
mitaa
cf76fcf30d Fix source-links for files with absolute-paths
`clean_srcpath` tries to make the source-path relative to `src_root`,
but this didn't work since `src_root` itself wasn't absolute.
2016-02-24 19:43:02 +01:00
mitaa
27ca2507de Allow creation of src-links for device files 2016-02-24 19:41:56 +01:00
mitaa
f5df7e0865 Show associated types in inherent impls 2016-02-23 21:47:18 +01:00