Commit graph

2319 commits

Author SHA1 Message Date
Oliver Middleton
927625912a rustdoc: Don't ICE on use *; 2017-06-24 18:16:39 +01:00
Paul Woolcock
76d605255b Shorten some lines so this can pass the tidy checks 2017-06-24 06:42:29 -04:00
Paul Woolcock
60dd83ea85 add allow_fail test attribute
This change allows the user to add an `#[allow_fail]` attribute to
tests that will cause the test to compile & run, but if the test fails
it will not cause the entire test run to fail. The test output will
show the failure, but in yellow instead of red, and also indicate that
it was an allowed failure.
2017-06-24 06:42:29 -04:00
Oliver Middleton
4488f9bc0f rustdoc: Fix a few issues with associated consts
* Make sure private consts are stripped.
* Don't show a code block for the value if there is none.
* Make sure default values are shown in impls.
* Make sure docs from the trait are used if the impl has no docs.
2017-06-23 18:39:27 +01:00
kennytm
4711982314
Removed as many "```ignore" as possible.
Replaced by adding extra imports, adding hidden code (`# ...`), modifying
examples to be runnable (sorry Homura), specifying non-Rust code, and
converting to should_panic, no_run, or compile_fail.

Remaining "```ignore"s received an explanation why they are being ignored.
2017-06-23 15:31:53 +08:00
Corey Farwell
3023cc49c8 Rollup merge of #42594 - ollie27:rustdoc_assoc_type_links, r=steveklabnik
rustdoc: Link directly to associated types

Rather than just linking to the trait.

Also simplifies the logic used to decide whether to render the full
QPath.
2017-06-12 12:39:49 -04:00
Corey Farwell
87426195ec Rollup merge of #42592 - ollie27:rustdoc_empty_modules, r=steveklabnik
rustdoc: Stop stripping empty modules

There is no good reason to strip empty modules with no documentation and
doing so causes subtle problems.

Fixes #42590
2017-06-12 12:39:48 -04:00
bors
0a5218b506 Auto merge of #42572 - ollie27:rustdoc_create_dir_all, r=GuillaumeGomez
rustdoc: Use `create_dir_all` to create output directory

Currently rustdoc will fail if passed `-o foo/doc` if the `foo`
directory doesn't exist.

Also remove unneeded `mkdir` as `create_dir_all` can now handle
concurrent invocations since #39799.
2017-06-12 08:49:51 +00:00
Oliver Middleton
7298dabdb3 rustdoc: Stop stripping empty modules
There is no good reason to strip empty modules with no documentation and
doing so causes subtle problems.
2017-06-11 18:26:01 +01:00
Oliver Middleton
429dc51bfe rustdoc: Link directly to associated types
Rather than just linking to the trait.

Also simplifies the logic used to decide whether to render the full
QPath.
2017-06-11 18:20:48 +01:00
Corey Farwell
9163f338f9 Rollup merge of #42307 - clarcharr:js-license, r=frewsxcv
Make rustdoc.js use license comments.

This will ensure that JS minifiers and the like will preserve the license statement even after minimisation.
2017-06-09 18:29:25 -04:00
Oliver Middleton
577c059d50 rustdoc: Use create_dir_all to create output directory
Currently rustdoc will fail if passed `-o foo/doc` if the `foo`
directory doesn't exist.

Also remove unneeded `mkdir` as `create_dir_all` can now handle
concurrent invocations.
2017-06-09 23:03:08 +01:00
Michael Killough
2da350168d Document direct implementations on type aliases.
This improves #32077, but is not a complete fix. For a type alias `type
NewType = AliasedType`, it will include any `impl NewType` and `impl
Trait for NewType` blocks in the documentation for `NewType`.

A complete fix would include the implementations from the aliased type
in the type alias' documentation, so that users have a complete
picture of methods that are available on the alias. However, to do this
properly would require a fix for #14072, as the alias may affect the
type parameters of the type alias, making the documentation difficult to
understand. (That is, for `type Result = std::result::Result<(), ()>` we
would ideally show documentation for `impl Result<(), ()>`, rather than
generic documentation for `impl<T, E> Result<T, E>`).

I think this improvement is worthwhile, as it exposes implementations
which are not currently documented by rustdoc. The documentation for the
implementations on the aliased type are still accessible by clicking
through to the docs for that type. (Although perhaps it's now less
obvious to the user that they should click-through to get there).
2017-06-09 10:57:08 +09:00
Clar Charr
dd23fda9bd Make rustdoc.js use license comments. 2017-06-07 22:44:53 -04:00
bors
17f493fffc Auto merge of #42394 - ollie27:rustdoc_deref_box, r=QuietMisdreavus
rustdoc: Hide `self: Box<Self>` in list of deref methods

These methods can never be called through deref so there is no point including them. For example you can't call [`into_boxed_bytes`](https://doc.rust-lang.org/nightly/std/string/struct.String.html#method.into_boxed_bytes) or [`into_string`](https://doc.rust-lang.org/nightly/std/string/struct.String.html#method.into_string) on `String`.
2017-06-06 06:18:17 +00:00
Oliver Middleton
88c791bf69 rustdoc: Hide self: Box<Self> in list of deref methods
These methods can never be called through deref so there is no point
including them. For example you can't call `into_boxed_bytes` or
`into_string` on `String`.
2017-06-02 22:37:11 +01:00
Oliver Middleton
a74338d60e rustdoc: Rename Vector and FixedVector to Slice and Array
Also store the array length as a usize rather than a String.

This is just a minor refactor.
2017-06-01 13:36:36 +01:00
Oliver Middleton
86ea93e83c rustdoc: Cleanup associated const value rendering
Rather than (ab)using Debug for outputting the type in plain text use the
alternate format parameter which already does exactly that. This fixes
type parameters for example which would output raw HTML.

Also cleans up adding parens around references to trait objects.
2017-05-31 20:05:28 +01:00
Guillaume Gomez
171d285756 Fix signature by adding parens when needed 2017-05-30 23:04:03 +02:00
Daniel Lockyer
b4c061660f Update to trait bounds CSS in rustdoc
Fixed resubmission of #40719.
2017-05-21 04:35:26 +01:00
Mark Simulacrum
5ded76ca21 Rollup merge of #42096 - ollie27:rustdoc_js_impls, r=GuillaumeGomez
rustdoc: Fix implementors list javascript

* Use a different loop variable, `i` was already taken. This caused
missing items in the implementors list.
* Use `.getAttribute('href')` rather than `.href` to get the relative
URL which is what it needs to actually fix the links.

More fallout from #41307.

r? @GuillaumeGomez
2017-05-19 14:16:25 -06:00
Oliver Middleton
e48086c04f rustdoc: Fix implementors list javascript
* Use a different loop variable, `i` was already taken. This caused
missing items in the implementors list.
* Use `.getAttribute('href')` rather than `.href` to get the relative
URL which is what it needs to actually fix the links.
2017-05-19 02:59:04 +01:00
pravic
1eb6639508 Make documentation works again by removing two unnecessary ES6 pieces. 2017-05-18 10:35:18 +03:00
Mark Simulacrum
c2bf21072e Rollup merge of #42011 - rap2hpoutre:patch-5, r=GuillaumeGomez
improve collapse toggle render (css)

The `[-]` toggle for functions in docs _seems_ too big. It's just an impression, but it's something I noticed long time ago (maybe I have bad taste). I never thought to fix it, but, today I think: "Ok, why not suggest it.". Feel free to close without explanation!

Preview changes below:

From this:

<img width="1003" alt="capture d ecran 2017-05-15 a 17 14 45" src="https://cloud.githubusercontent.com/assets/1575946/26064816/5c84de86-3992-11e7-976b-41c625cace0f.png">

To this:

<img width="996" alt="capture d ecran 2017-05-15 a 17 15 02" src="https://cloud.githubusercontent.com/assets/1575946/26064854/78325dac-3992-11e7-88f6-2c43db43421c.png">
2017-05-16 08:18:35 -06:00
Raphaël Huchet
7a50784336 improve collapse toggle render (css) 2017-05-16 10:34:55 +02:00
Oliver Middleton
93f78bc45e rustdoc: Display extern "C" fn instead of extern fn 2017-05-15 00:52:17 +01:00
Mark Simulacrum
24aba55805 Rollup merge of #41950 - GuillaumeGomez:rustdoc-links, r=frewsxcv
Fix anchor invalid redirection to search

Fixes #41933.

r? @rust-lang/docs
2017-05-13 20:55:12 -06:00
Mark Simulacrum
f28e3cdf54 Rollup merge of #41951 - Eijebong:master, r=GuillaumeGomez
rustdoc: Break words in the location box of the sidebar.

This prevents long names from overflowing.

Before:
![before](https://img.bananium.fr/eijebong/afcfe18b-393e-4d3b-bc11-fe3def6659b9.png)

After:
![after](https://img.bananium.fr/eijebong/9483466b-3b6c-4509-ab0f-fd0c6572ef27.png)
2017-05-12 18:57:38 -06:00
Guillaume Gomez
b09a19b7c7 Fix anchor invalid redirection to search 2017-05-12 23:09:25 +02:00
Bastien Orivel
26e7e491b4 rustdoc: Break words in the location box of the sidebar.
This prevents long names from overflowing.
2017-05-12 15:42:54 +02:00
Guillaume Gomez
75b69c453b Fix search when looking to sources 2017-05-11 22:28:13 +02:00
Oliver Schneider
dd87eabd83 Remove need for &format!(...) or &&"" dances in span_label calls 2017-05-08 12:56:15 +02:00
bors
ced823e267 Auto merge of #41785 - Mark-Simulacrum:issue-41783, r=GuillaumeGomez
Allow # to appear in rustdoc code output.

"##" at the start of a trimmed rustdoc line is now cut to "#" and then
shown. If the user wanted to show "##", they can type "###".

I'm somewhat concerned about the potential implications for users, since this does make a potentially backwards-incompatible change. Previously, `##` had no special handling, and now we do change it. However, I'm not really sure what we can do here to improve this, and I can't think of any cases where `##` would likely be correct in a code block, though of course I could be wrong.

Fixes #41783.
2017-05-07 10:52:26 +00:00
Mark Simulacrum
ffe12b1274 Allow # to appear in rustdoc code output.
"##" at the start of a trimmed rustdoc line is now cut to "#" and then
shown. If the user wanted to show "##", they can type "###".
2017-05-06 18:07:04 -06:00
Corey Farwell
31a4d73e73 Rollup merge of #41307 - GuillaumeGomez:jquery-removal, r=frewsxcv
Remove jquery dependency

r? @rust-lang/docs

Fixes #39159.
2017-05-05 17:35:24 -04:00
Guillaume Gomez
6f4c12e210 Remove jquery dependency 2017-05-02 13:54:42 +02:00
est31
14bbd0a5a3 Address review 2017-05-02 06:35:36 +02:00
est31
d290849a23 Removal pass for anonymous parameters
Removes occurences of anonymous parameters from the
rustc codebase, as they are to be deprecated.

See issue #41686 and RFC 1685.
2017-05-02 05:55:20 +02:00
Michael Woerister
39ffea31df Implement a file-path remapping feature in support of debuginfo and reproducible builds. 2017-04-26 15:44:02 +02:00
Guillaume Gomez
9c97882055 Fix line display 2017-04-22 14:56:36 +02:00
Guillaume Gomez
91fb6bc1eb Fix tests 2017-04-22 13:25:14 +02:00
Guillaume Gomez
80a2a94d5a Re-enable hoedown by default 2017-04-22 13:25:14 +02:00
Guillaume Gomez
a65461005a Fix line display for hoedown 2017-04-20 20:20:40 +02:00
Corey Farwell
07c6295137 Rollup merge of #41290 - GuillaumeGomez:put-back-hoedown, r=steveklabnik
Hoedown big comeback!

```bash
> cargo +local test
   Compiling libc v0.2.20
   Compiling sysinfo v0.3.4 (file:///Users/imperio/rust/sysinfo)
    Finished dev [unoptimized + debuginfo] target(s) in 3.2 secs
     Running target/debug/deps/disk_list-dbd70897f1f7e080

running 1 test
test test_disks ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured

     Running target/debug/deps/sysinfo-8ad11103abdf5941

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

   Doc-tests sysinfo
WARNING: src/sysinfo.rs -  (line 45) test will be run in the next rustdoc version. If it's not supposed to, please update your documentation and make it compliant to common mark specifications.
WARNING: src/sysinfo.rs -  (line 48) test will be run in the next rustdoc version. If it's not supposed to, please update your documentation and make it compliant to common mark specifications.

running 1 test
test src/sysinfo.rs -  (line 14) ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured
```

r? @rust-lang/docs
2017-04-17 13:26:21 -04:00
Corey Farwell
4ae25a60ba Rollup merge of #41280 - QuietMisdreavus:rustdoc-toc, r=GuillaumeGomez
rustdoc: add a list of headings to the sidebar

It's another misdreavus rustdoc PR, which means it's time for Bikeshed City once again! `:3`

In an effort to aid navigation in long documentation pages, this PR adds a listing of headings to the sidebars of pages where such headings exist. For example, for structs, links to their fields, inherent methods, and trait implementations are available where applicable.

Examples:

* Modules/Crate roots
  ![image](https://cloud.githubusercontent.com/assets/5217170/25019930/1000fa3a-2052-11e7-98ff-ddf5af18b3e6.png)
* Enums
  ![image](https://cloud.githubusercontent.com/assets/5217170/25019954/33497f9e-2052-11e7-88cf-df46f1b3b8a3.png)
* Primitives
  ![image](https://cloud.githubusercontent.com/assets/5217170/25019978/4820bbc6-2052-11e7-8b5a-96a864eb2a5b.png)
* Traits
  ![image](https://cloud.githubusercontent.com/assets/5217170/25020093/bd1bc9f2-2052-11e7-9cd1-00a0ad8007bc.png)
* Structs
  ![image](https://cloud.githubusercontent.com/assets/5217170/25020145/d75206b0-2052-11e7-88cc-9e9525084775.png)

Open questions:

* Right now, these kinds of pages (and also unions) are the only pages that will receive the name header - pages for functions, constants, macros, etc, won't have the corresponding name in their sidebar. Should I print the name regardless and only add table-of-contents links for pages that have them? This would make them match, for example, a struct with no public fields, no methods, and no trait implementations. The latter would still have a "Struct MyStruct" line above the module contents, with no header links to speak of, whereas a function wouldn't even have "Function my\_function".
* This is only a header listing, but there has been requests to include a more-complete listing of fields/methods/traits/etc, for example in #41123.
2017-04-17 13:26:20 -04:00
Guillaume Gomez
cbf8342efe Hoedown big comeback! 2017-04-17 18:10:03 +02:00
QuietMisdreavus
27bfbd56f0 rustdoc: add a list of headings to the sidebar 2017-04-17 10:41:13 -05:00
Corey Farwell
5aa96024e3 Rollup merge of #41249 - GuillaumeGomez:rustdoc-render, r=steveklabnik,frewsxcv
Fix invalid associated type rendering in rustdoc

Fixes #41036.

r? @rust-lang/docs
2017-04-14 17:41:05 -04:00
Guillaume Gomez
dd7dfe56a9 Fix invalid associated type rendering in rustdoc 2017-04-12 18:14:54 +02:00
Corey Farwell
b72c30a8df Rollup merge of #41173 - GuillaumeGomez:fix-rustdoc-code-block-parsing, r=steveklabnik
Fix block code headers parsing

Fixes #41167.

r? @rust-lang/docs
2017-04-11 18:36:13 -04:00