Commit graph

3519 commits

Author SHA1 Message Date
bors
948e3a30e6 Auto merge of #48755 - GuillaumeGomez:rustdoc-fixes, r=QuietMisdreavus
Multiple rustdoc fixes

Fixes #48733.

r? @QuietMisdreavus
2018-03-10 08:24:08 +00:00
Guillaume Gomez
89f4f1bca1 Fix anchor not always being put at the right place 2018-03-09 17:45:44 +01:00
Guillaume Gomez
9e0ccc5a47 Fix escape not working when searchbar selected 2018-03-09 17:45:44 +01:00
Guillaume Gomez
6235ef0422 Add missing items in the sidebar for functions 2018-03-09 17:45:44 +01:00
Manish Goregaokar
d17eb8f68e
Rollup merge of #48789 - GuillaumeGomez:horizontal-scroll, r=QuietMisdreavus
Fix sidebar horizontal scroll

Just like @onur said.

r? @QuietMisdreavus
2018-03-08 11:26:00 -08:00
Oliver Schneider
ec857e1e09
Deduplicate code in rustdoc 2018-03-08 08:34:13 +01:00
Oliver Schneider
7d2d4e3202
Add InterpretInterner to StableHashingContext for AllocId serialization 2018-03-08 08:34:08 +01:00
Oliver Schneider
b33e4e784e
Fully use miri in trans 2018-03-08 08:34:05 +01:00
Alexander Regueiro
4c9b1b13dd
Initial changes to librustc to support const trait fns. 2018-03-08 08:08:14 +01:00
Alex Crichton
584a28f0c0 Rollup merge of #48698 - ishitatsuyuki:burn-equate, r=nikomatsakis
Remove ty::Predicate::Equate and ty::EquatePredicate (dead code)

r? @nikomatsakis

I also killed the EquatePredicate subsystem. Does it look fine?

Close #48670
2018-03-07 07:09:52 -08:00
Alex Crichton
a06aed1df7
Rollup merge of #48511 - GuillaumeGomez:rustdoc-resource-suffix, r=QuietMisdreavus
Add resource-suffix option for rustdoc

Alternative version of #48442.

cc @onur

r? @QuietMisdreavus
2018-03-06 20:01:05 -06:00
Alex Crichton
87f3dda514 Update env_logger to 0.5.4
It looks like this cuts down on the number of dependencies in env_logger and
notably cuts out a difference between a shared dependency of rls/cargo. My goal
here is to ensure that when we compile the RLS/Cargo on CI we only compile Cargo
once, and this is one step towards that!
2018-03-06 12:37:28 -08:00
Guillaume Gomez
b26f108b6a Fix sidebar horizontal scroll 2018-03-06 20:45:57 +01:00
Guillaume Gomez
831009f035 Add resource-suffix option for rustdoc 2018-03-05 23:45:27 +01:00
Guillaume Gomez
a628543891 Don't generate '[+]'/'[-]' on 'empty' traits 2018-03-05 23:39:34 +01:00
Michael Woerister
542bc75dea Turn features() into a query. 2018-03-05 11:05:01 +01:00
Tatsuyuki Ishi
517f861fc5 Remove ty::Predicate::Equate and ty::EquatePredicate (dead code) 2018-03-04 10:25:51 +09:00
kennytm
65f48a4edf
Rollup merge of #48283 - QuietMisdreavus:rustdoc-readme, r=@GuillaumeGomez
add readme for librustdoc

In the same vein as the other compiler-library readmes, here's one for rustdoc! It's mainly a "how does rustdoc even" blog-post-style writeup, but i wanted to have something in-repo so people could get a sense of what bits did what.
2018-03-03 18:45:42 +08:00
John Kåre Alsaker
b74e97cf42 Replace Rc with Lrc for shared data 2018-03-02 10:48:52 +01:00
Sean Griffin
a6d85332f4 Fix breakage in rustdoc 2018-03-01 08:04:26 -07:00
kennytm
cbd0a2c6fd
Rollup merge of #48473 - GuillaumeGomez:rustdoc-auto-trait-impl-fix, r=QuietMisdreavus
Fix auto trait impl rustdoc ice

Fixes #48463.

r? @QuietMisdreavus
2018-02-28 19:15:33 +08:00
kennytm
71ce38eb9e
Rollup merge of #48381 - GuillaumeGomez:rustdoc-theme-securities, r=QuietMisdreavus
Rustdoc theme securities

Fixes #48375.
Fixes #48376.

r? @steveklabnik
cc @QuietMisdreavus
2018-02-28 19:15:31 +08:00
bors
89e5a0796e Auto merge of #47894 - vi:rustdoc_foldable_impls, r=GuillaumeGomez,QuietMisdreavus
rustdoc: Foldable impl blocks

Addresses #40363, #45720, #24483, #23986 and so on

* Expands and refactors collapseDocs and toggleAllDocs
* Adds [-] toggle to all impls (including inherent impl)
* Makes it hiding though main css file, not though element inline style

May need to be addressed:

* "[-]" and anchor link copier are overlaid a bit
* Inherent methods are also hidden by the global [-] toggle.
* Auto-collapsing "Iterator" and so on by default is not implemented yet
* Tested only shallowly and only in Chromiuim
* No tests. Are there tests for css/js part here?
* The new implementation may be a bit slower.

What next steps are need to be done before the integration?
2018-02-28 04:24:18 +00:00
Manish Goregaokar
43d1d6e885
Rollup merge of #48415 - QuietMisdreavus:traits-on-traits-on-traits, r=Manishearth
rustdoc: don't crash when an external trait's docs needs to import another trait

Fixes https://github.com/rust-lang/rust/issues/48414

When resolving intra-paths for an item, rustdoc needs to have information about their items on hand, for proper bookkeeping. When loading a path for an external item, it needs to load these items from their host crate, since their information isn't otherwise available. This includes resolving paths for those docs. which can cause this process to recurse. Rustdoc keeps a map of external traits in a `RefCell<HashMap<DefId, Trait>>`, and it keeps a borrow of this active when importing an external trait. In the linked crash, this led to a RefCell borrow error, panic, and ICE.

This PR manually releases the borrow while importing the trait, and also keeps a list of traits being imported at the given moment. The latter keeps rustdoc from infinitely recursing as it tries to import the same trait repeatedly.
2018-02-24 15:52:11 -08:00
Guillaume Gomez
23dc694c42 Fix auto trait impl rustdoc ice 2018-02-24 01:23:54 +01:00
bors
5de90898de Auto merge of #48343 - Mark-Simulacrum:release-step, r=kennytm
Update nightly to 1.26.0 and bootstrap from beta.
2018-02-22 23:25:39 +00:00
QuietMisdreavus
bca3b31ab9 proper early-bail condition 2018-02-21 19:57:48 -06:00
QuietMisdreavus
ef30a8fd1c track extern traits being inlined 2018-02-21 18:33:42 -06:00
QuietMisdreavus
d98449d110 manually release cx.external_traits while building the new trait 2018-02-21 17:44:49 -06:00
Guillaume Gomez
c118d37ac4
Rollup merge of #48382 - GuillaumeGomez:fix-rustdoc-test-panic, r=estebank
Fix rustdoc test ICE

Fixes #48377.

r? @QuietMisdreavus
2018-02-21 16:29:56 +01:00
Guillaume Gomez
fe1293f8a9
Rollup merge of #48335 - Manishearth:shortcut-links, r=QuietMisdreavus
Implement implied shortcut links for intra-rustdoc-links

cc https://github.com/rust-lang/rust/issues/43466

Needs https://github.com/google/pulldown-cmark/pull/126

r? @QuietMisdreavus
2018-02-21 16:29:52 +01:00
Guillaume Gomez
f0343cbd1f
Rollup merge of #48106 - QuietMisdreavus:teleporting-crates, r=GuillaumeGomez
rustdoc: move manual "extern crate" statements outside automatic "fn main"s in doctests

Gated on https://github.com/rust-lang/rust/pull/48095 - I based the branch atop that so i could show off the change in one of its tests, the actual change in this PR is just the last commit

There are a handful of unfortunate assumptions in the way rustdoc processes `extern crate` statements in doctests:

1. In the absence of an `extern crate` statement in the test, if the test also uses the local crate name, it will automatically insert an `extern crate cratename;` statement into the test.
2. If the doctest *does* include an `extern crate` statement, rustdoc will not automatically insert one, on the assumption that doing so would introduce a duplicate import.
3. If a doctest does not have the substring `fn main` outside a comment, rustdoc will wrap the whole doctest in a generated `fn main` so it can be compiled.

In short, whenever you write a doctest like this...

```rust
//! extern crate my_crate;
//! my_crate::some_cool_thing();
```

...rustdoc will turn it into (something like) this:

```rust
fn main() {
extern crate my_crate;
my_crate::some_cool_thing();
}
```

This creates issues when compiled, because now `my_crate` isn't even properly in scope! This forces people who want to have multiple crates in their doctests (or an explicit `extern crate` statement) to also manually include their own `fn main`, so rustdoc doesn't put their imports in the wrong place.

This PR just taps into another processing step rustdoc does to doctests: Whenever you add an `#![inner_attribute]` to the beginning of a doctest, rustdoc will actually splice those out and put it before the generated `fn main`. Now, we can just do the same with `extern crate`s at the beginning, too, and get a much nicer experience.

Now, the above example will be converted into this:

```rust
extern crate my_crate;
fn main() {
my_crate::some_cool_thing();
}
```
2018-02-21 16:29:47 +01:00
Vitaly _Vi Shukela
df1b9a8584
rustdoc: On mobile: hide §, adjust [+] position 2018-02-20 22:46:24 +03:00
Guillaume Gomez
5cbf9aedb8 Fix rustdoc test ICE 2018-02-20 20:30:29 +01:00
Guillaume Gomez
8d51c331c7 Remove theme button outline 2018-02-20 20:13:17 +01:00
Guillaume Gomez
5b61b615f5 Allow to not switch to a theme if it doesn't exist 2018-02-20 20:11:58 +01:00
Guillaume Gomez
2d3f31df8b Change local storage name for rustdoc because of conflicts with mdbook 2018-02-20 19:29:13 +01:00
Mark Simulacrum
33f5ceee1f stage0 cfg cleanup 2018-02-20 08:52:33 -07:00
QuietMisdreavus
8d893c1e9e review nits 2018-02-20 09:26:44 -06:00
Aaron Hill
44d07df1cc
Sort synthetic impls bounds before rendering
This removes the implicit dependency on the iteration
order of FxHashMap
2018-02-19 20:27:28 -05:00
Vitaly _Vi Shukela
bf03dd0ca7
rustdoc: Reposition the § per GuillaumeGomez request 2018-02-19 23:22:08 +03:00
Manish Goregaokar
5fdc10c68b Filter out non-macros in resolve_macro
Fixes https://github.com/rust-lang/rust/issues/48341
2018-02-18 17:57:06 -08:00
Manish Goregaokar
1d0ae9f174 Generate shortcut links 2018-02-18 17:57:06 -08:00
Manish Goregaokar
f60aeec5d5 Include shortcut links in markdown_links 2018-02-18 17:57:06 -08:00
Manish Goregaokar
6818551c6f bump pulldown 2018-02-18 17:57:06 -08:00
Aaron Hill
0c6ad46bcb
Don't generate auto trait impls for type aliases 2018-02-18 16:29:25 -05:00
Aaron Hill
298d703506
Remove extra whitespace 2018-02-18 16:29:25 -05:00
Aaron Hill
64a1f6fbfd
Fix inlining 2018-02-18 16:29:25 -05:00
Aaron Hill
94fd4f360b
More formatting fixups 2018-02-18 16:29:25 -05:00
Aaron Hill
0bfbe24fd9
More formatting fixes 2018-02-18 16:29:25 -05:00