4077 Commits

Author SHA1 Message Date
bors
478226cc2a Auto merge of #51599 - GuillaumeGomez:reduce-search-index, r=QuietMisdreavus
reduce search-index size

Reduce size of `search-index.js` of around 16%:

Going from `2996785` bytes to `2545583`.

r? @QuietMisdreavus
2018-07-05 18:21:25 +00:00
Guillaume Gomez
92cda8c7da Whitelist lints 2018-07-05 20:06:33 +02:00
Guillaume Gomez
1ff7f04120 Fix rustdoc run failures by shutting down definitely some lints 2018-07-05 17:18:45 +02:00
bors
afaa406465 Auto merge of #51803 - lucasem:rustdoc-code-hash-escape, r=GuillaumeGomez
rustdoc codeblock hash escape

So that docstring text such as the following (in a code block) can be created ergonomically:

```rust
let s = "
    foo
    # bar
    baz
";
```

Such code in a docstring hide the <code>&nbsp;&nbsp;&nbsp;&nbsp;# bar</code> line.

Previously, using two consecutive hashes <code>&nbsp;&nbsp;&nbsp;&nbsp;## bar</code> would turn the line into _shown_ `# bar`, losing the leading whitespace. A line of code like <code>&nbsp;&nbsp;&nbsp;&nbsp;# bar</code> (such as in the example above) **could not be represented** in the docstring text.

This commit makes the two consecutive hashes not also trim the leading whitespace — the two hashes simply **escape** into a single hash and do not hide the line, leaving the rest of that line unaffected. The new docstring text to achieve the above code block is:

```rust
/// ```
/// let s = "
///     foo
///     ## bar
///     baz
/// ";
/// ```
```
2018-07-04 20:21:01 +00:00
bors
4af9132a02 Auto merge of #51611 - QuietMisdreavus:slippery-macros, r=ollie27
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-07-04 18:15:14 +00:00
Oliver Schneider
75a6fde6a4 Update rustdoc 2018-07-02 10:37:49 +02:00
Zack M. Davis
43a0a65fa2 call it hir::VisibilityKind instead of hir::Visibility_:*
It was pointed out in review that the glob-exported
underscore-suffixed convention for `Spanned` HIR nodes is no longer
preferred: see February 2016's #31487 for AST's migration away from
this style towards properly namespaced NodeKind enums.

This concerns #51968.
2018-07-01 11:05:10 -07:00
Zack M. Davis
4ae89129e1 in which hir::Visibility recalls whence it came (i.e., becomes Spanned)
There are at least a couple (and plausibly even three) diagnostics that
could use the spans of visibility modifiers in order to be reliably
correct (rather than hacking and munging surrounding spans to try to
infer where the visibility keyword must have been).

We follow the naming convention established by the other `Spanned` HIR
nodes: the "outer" type alias gets the "prime" node-type name, the
"inner" enum gets the name suffixed with an underscore, and the variant
names are prefixed with the prime name and `pub use` exported from here
(from HIR).

Thanks to veteran reviewer Vadim Petrochenkov for suggesting this
uniform approach. (A previous draft, based on the reasoning that
`Visibility::Inherited` should not have a span, tried to hack in a named
`span` field on `Visibility::Restricted` and a positional field on
`Public` and `Crate`. This was ... not so uniform.)
2018-06-30 22:41:01 -07:00
David Wood
3e59aef385
Improved non_exhaustive message. 2018-06-30 20:03:51 +01:00
Guillaume Gomez
115df57757 reduce search-index size 2018-06-30 16:28:25 +02:00
Vadim Petrochenkov
9f92fce77c Fortify dummy span checking 2018-06-30 01:53:32 +03:00
Vadim Petrochenkov
09856c85b7 expansion: Give names to some fields of SyntaxExtension 2018-06-30 01:53:32 +03:00
bors
775ce97497 Auto merge of #51592 - GuillaumeGomez:fix-macro-doc-search, r=GuillaumeGomez
Fix macro missing from doc search

Fixes #51095.

r? @QuietMisdreavus
2018-06-29 01:05:02 +00:00
Mark Rousskov
57aceeecc0
Rollup merge of #51636 - oli-obk:const_diagnostics, r=eddyb
Refactor error reporting of constants

cc @eddyb

This PR should not change any behaviour. It solely simplifies the internal handling of the errors
2018-06-28 16:07:10 -06:00
Oliver Schneider
4bb9648b27 Merge ConstVal and ConstValue 2018-06-28 11:04:25 +02:00
Oliver Schneider
05994779ea Move everything over from middle::const_val to mir::interpret 2018-06-28 11:02:31 +02:00
Vadim Petrochenkov
d7072b5bb4 Fix rebase 2018-06-28 11:04:51 +03:00
Vadim Petrochenkov
f0622dfe5d Use Idents for associated item definitions in HIR
Remove emulation of hygiene with gensyms
2018-06-28 11:04:50 +03:00
Vadim Petrochenkov
c6ca1e4abd Use Idents in a number of structures in HIR
Namely: labels, type parameters, bindings in patterns, parameter names in functions without body.
All of these do not need hygiene after lowering to HIR, only span locations.
2018-06-28 11:04:50 +03:00
Vadim Petrochenkov
e8215a4f6f Use Idents for path segments in HIR 2018-06-28 11:04:50 +03:00
Vadim Petrochenkov
1fe9b4d763 Use Idents for associated type bindings in HIR 2018-06-28 11:04:50 +03:00
Vadim Petrochenkov
c5454c04bc Use Idents for lifetimes in HIR 2018-06-28 11:04:50 +03:00
Guillaume Gomez
6a86ee7328 Prevent some markdown transformation on short docblocks 2018-06-28 01:55:43 +02:00
David Wood
039709d34f
Include type in non-exhaustive message. Include new css in dark theme. 2018-06-27 23:07:42 +01:00
David Wood
a074bd7334
Display #[non_exhaustive] in rustdoc on types. 2018-06-27 20:50:59 +01:00
bors
971f7d34d4 Auto merge of #51815 - oli-obk:lowering_cleanups2, r=nikomatsakis
Lowering cleanups [2/N]

Double indirections are unnecessary
2018-06-27 07:16:13 +00:00
bors
9cc3d44b93 Auto merge of #51756 - nielx:fix/librustdoc, r=GuillaumeGomez
Haiku: set stack size to 16 MB on Haiku, use 32 MB on other platforms

The maximum stack size on Haiku is set to 16 MB (see [the Haiku source](https://git.haiku-os.org/haiku/tree/headers/private/system/thread_defs.h#n17)). With this change rustdoc will also work on Haiku.
2018-06-26 18:55:09 +00:00
Oliver Schneider
e65947d701 Update rustdoc 2018-06-26 17:43:46 +02:00
bors
2808460e0f Auto merge of #51678 - Zoxc:combine-lints, r=estebank
Combine all builtin late lints
2018-06-26 14:18:13 +00:00
Lucas Morales
d3b4cb1730
rustdoc codeblock hash escape 2018-06-26 00:58:16 -04:00
Guillaume Gomez
4c6385d6af Fix variant background color on hover in search results 2018-06-26 00:38:46 +02:00
Guillaume Gomez
f7485df05b Minify css 2018-06-25 23:28:20 +02:00
Guillaume Gomez
e3b258324b Remove unused variable 2018-06-25 21:47:44 +02:00
Niels Sascha Reedijk
b70305fc32 Haiku: set stack size to 16 MB on Haiku, use 32 MB on other platforms 2018-06-24 11:14:22 +02:00
bors
56e8f29dbe Auto merge of #51580 - cramertj:async-await, r=eddyb
async/await

This PR implements `async`/`await` syntax for `async fn` in Rust 2015 and `async` closures and `async` blocks in Rust 2018 (tracking issue: https://github.com/rust-lang/rust/issues/50547). Limitations: non-`move` async closures with arguments are currently not supported, nor are `async fn` with multiple different input lifetimes. These limitations are not fundamental and will be removed in the future, however I'd like to go ahead and get this PR merged so we can start experimenting with this in combination with futures 0.3.

Based on https://github.com/rust-lang/rust/pull/51414.
cc @petrochenkov for parsing changes.
r? @eddyb
2018-06-23 09:02:45 +00:00
Taylor Cramer
a62c4aa03a Fix rustdoc and remove default impl for FnHeader 2018-06-22 17:27:58 -07:00
bors
b0e41f1038 Auto merge of #51482 - GuillaumeGomez:table-display, r=QuietMisdreavus
Greatly improve tables display in docs

Fixes #51454.

r? @QuietMisdreavus

Before:

<img width="1440" alt="screen shot 2018-06-10 at 22 43 52" src="https://user-images.githubusercontent.com/3050060/41206138-cc61b2b4-6cff-11e8-9b6f-0b1e435d4b1b.png">

After:

<img width="1440" alt="screen shot 2018-06-10 at 23 33 16" src="https://user-images.githubusercontent.com/3050060/41207049-d455c03c-6d0e-11e8-968f-d4fccaeb4265.png">
2018-06-22 22:02:10 +00:00
Taylor Cramer
cf844b547d async await desugaring and tests 2018-06-21 22:36:36 -07:00
Without Boats
589446e19c Display async fn in rustdoc. 2018-06-21 22:30:50 -07:00
Without Boats
18ff7d091a Parse async fn header.
This is gated on edition 2018 & the `async_await` feature gate.

The parser will accept `async fn` and `async unsafe fn` as fn
items. Along the same lines as `const fn`, only `async unsafe fn`
is permitted, not `unsafe async fn`.The parser will not accept
`async` functions as trait methods.

To do a little code clean up, four fields of the function type
struct have been merged into the new `FnHeader` struct: constness,
asyncness, unsafety, and ABI.

Also, a small bug in HIR printing is fixed: it previously printed
`const unsafe fn` as `unsafe const fn`, which is grammatically
incorrect.
2018-06-21 22:29:47 -07:00
bors
662c70a59f Auto merge of #48149 - varkor:generics-generalisation, r=petrochenkov
The Great Generics Generalisation: HIR Edition

This is essentially a followup to https://github.com/rust-lang/rust/pull/45930, consolidating the use of separate lifetime and type vectors into single kinds vectors wherever possible. This is intended to provide more of the groundwork for const generics (https://github.com/rust-lang/rust/issues/44580).

r? @eddyb
cc @yodaldevoid
2018-06-21 20:58:51 +00:00
John Kåre Alsaker
c5ecc6fefb Combine all builtin late lints 2018-06-21 18:00:23 +02:00
QuietMisdreavus
a220321762 use the imported name when rendering an imported macro 2018-06-20 14:01:37 -05:00
Bastien Orivel
c863049225 Fix tidy 2018-06-20 19:28:27 +02:00
Bastien Orivel
ae9a27185e Replace tempdir by tempfile in librustdoc 2018-06-20 19:28:27 +02:00
varkor
95f1866a4d Make GenericBound explicit 2018-06-20 12:23:46 +01:00
varkor
c5f16e0e18 Rename ParamBound(s) to GenericBound(s) 2018-06-20 12:23:46 +01:00
varkor
7de6ed06a5 Rename TraitTyParamBound to ParamBound::Trait 2018-06-20 12:23:23 +01:00
varkor
390aa5d421 Introduce ParamName and use it in place of LifetimeName 2018-06-20 12:23:23 +01:00
varkor
c4e8e71880 Lift name into GenericParam 2018-06-20 12:23:08 +01:00