Commit graph

2705 commits

Author SHA1 Message Date
Jimmy Cuadra
1fa9dbc00e Use functional transformations on the option instead of matching. 2017-02-11 10:00:56 -08:00
Jimmy Cuadra
bd14c7f333 Remove extra closing span element. 2017-02-11 07:10:03 -08:00
Jimmy Cuadra
c603839d5f rustdoc: Only include a stability span if needed. 2017-02-11 04:16:13 -08:00
Corey Farwell
4f6868aa01 Rollup merge of #39589 - ollie27:rustdoc_impl_disambiguation, r=alexcrichton
rustdoc: Improve impl disambiguation

* Don't disambiguate if there are multiple impls for the same type.
* Disambiguate for impls of &Foo and &mut Foo.
* Don't try to disambiguate generic types.

[before](https://doc.rust-lang.org/nightly/std/ops/trait.Rem.html#implementors) [after](https://ollie27.github.io/rust_doc_test/std/ops/trait.Rem.html#implementors)
2017-02-08 23:55:44 -05:00
Corey Farwell
722baed173 Rollup merge of #39597 - GuillaumeGomez:correct_rustdoc_test_file, r=alexcrichton
Display correct filename with --test option

Fixes #39592.

With the current files:

```rust
pub mod foo;

/// This is a Foo;
///
/// ```
/// println!("baaaaaar");
/// ```
pub struct Foo;

/// This is a Bar;
///
/// ```
/// println!("fooooo");
/// ```
pub struct Bar;
```

```rust
// note the whitespaces
/// ```
/// println!("foo");
/// ```
pub fn foo() {}
```

It displays:

```
./build/x86_64-apple-darwin/stage1/bin/rustdoc --test test.rs

running 3 tests
test test.rs - line 13 ... ok
test test.rs - line 5 ... ok
test foo.rs - line 2 ... ok

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

```

` ``
println!("lol");
` ``

asdjnfasd

asd
```

It displays:

```
./build/x86_64-apple-darwin/stage1/bin/rustdoc --test foo.md

running 1 test
test <input> - line 3 ... ok

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

r? @alexcrichton
2017-02-08 10:19:55 -05:00
Guillaume Gomez
b0803d4aed Display correct filename with --test option 2017-02-06 22:11:03 +01:00
Oliver Middleton
05eef36fa5 rustdoc: Improve impl disambiguation
* Don't disambiguate if there are multiple impls for the same type.
* Disambiguate for impls of &Foo and &mut Foo.
* Don't try to disambiguate generic types.
2017-02-06 18:11:01 +00:00
Alex Crichton
77c3bfa742 std: Remove cfg(cargobuild) annotations
These are all now no longer needed that we've only got rustbuild in tree.
2017-02-06 08:42:54 -08:00
Niko Matsakis
b26120db11 make lifetimes that only appear in return type early-bound
This is the full and proper fix for #32330. This also makes some effort
to give a nice error message (as evidenced by the `ui` test), sending
users over to the tracking issue for a full explanation.
2017-02-05 16:30:03 -05:00
Corey Farwell
5cfd5eda97 Rollup merge of #39312 - mgattozzi:rustdoc-help-fix, r=alexcrichton
Fix full path being output with `rustdoc -h`

rustdoc would output the full path to the binary when calling it with
the `-h` or `--help` flags. This is undesired behavior. It has been
replaced with a hardcoded string `rustdoc` to fix the issue.

Fixes #39310
2017-02-05 09:14:44 -05:00
Corey Farwell
4f8ce9efb9 Rollup merge of #39009 - canndrew:default-unit-warnings, r=nikomatsakis
Add warning for () to ! switch

With feature(never_type) enabled diverging type variables will default to `!` instead of `()`. This can cause breakages where a trait is resolved on such a type.

This PR emits a future-compatibility warning when it sees this happen.
2017-02-05 09:14:39 -05:00
bors
696f5c1fc6 Auto merge of #38161 - durka:rustdoc-crate-attrs, r=alexcrichton
rustdoc: fix doctests with non-feature crate attrs

Fixes #38129.

The book says that any top-level crate attributes at the beginning of a doctest are moved outside the generated `fn main`, but it was only checking for `#![feature`, not `#![`.

These attributes previously caused warnings but were then ignored, so in theory this could change the behavior of doctests in the wild.
2017-02-05 05:54:44 +00:00
Andrew Cann
2cc84df44c Add warning for () to ! switch 2017-02-03 18:48:15 +08:00
Guillaume Gomez
6756b72a1d Create new flag to test rustdoc --test 2017-02-03 11:08:20 +01:00
Guillaume Gomez
62fb7fc54a Switch logic to Span instead of HashMap 2017-02-03 11:08:20 +01:00
Guillaume Gomez
409e8ba34e Move to my own hoedown repository 2017-02-03 11:08:19 +01:00
Guillaume Gomez
a0ad4adf59 Change thread name 2017-02-03 11:08:19 +01:00
Guillaume Gomez
5fe3915a05 Rework rustdoc test output a bit 2017-02-03 11:08:19 +01:00
Guillaume Gomez
59ac401b39 Truncate output example to 10 lines 2017-02-03 11:08:19 +01:00
Guillaume Gomez
902460d218 Add line number and filename in error message 2017-02-03 11:08:19 +01:00
ggomez
230234f3a8 Add information in case of markdown block code test failure 2017-02-03 11:08:19 +01:00
Guillaume Gomez
9559c4d823 Rollup merge of #39416 - tspiteri:ffi-unsafe-icon, r=brson
rustdoc: mark FFI functions with unsafety icon

Currently, in the list of functions, unsafe functions are marked with a superscript ⚠, but unsafe FFI functions are not. This patch treats unsafe FFI functions like other unsafe functions in this regard.
2017-02-02 22:22:28 +01:00
bors
1b6b20ac17 Auto merge of #38932 - petrochenkov:privctor, r=jseyfried
Privatize constructors of tuple structs with private fields

This PR implements the strictest version of such "privatization" - it just sets visibilities for struct constructors, this affects everything including imports.
```
visibility(struct_ctor) = min(visibility(struct), visibility(field_1), ..., visibility(field_N))
```
Needs crater run before proceeding.

Resolves https://github.com/rust-lang/rfcs/issues/902

r? @nikomatsakis
2017-02-02 05:10:40 +00:00
bors
cd692cc7ec Auto merge of #39354 - alexcrichton:less-output, r=steveklabnik
rustdoc: Suppress warnings/errors with --test

Threads spawned by the test framework have their output captured by default, so
for `rustdoc --test` threads this propagates that capturing to the spawned
thread that we now have.

Closes #39327
2017-01-31 08:44:07 +00:00
Trevor Spiteri
fe324cea64 rustdoc: mark ffi functions with unsafety icon 2017-01-31 00:57:52 +01:00
Vadim Petrochenkov
ffba0cea62 Merge ty::TyBox into ty::TyAdt 2017-01-30 23:14:15 +03:00
Vadim Petrochenkov
c9788fdd5b Remove no longer necessary ctor checks in rustc_privacy 2017-01-29 02:57:14 +03:00
bors
010c3e25c4 Auto merge of #39340 - GuillaumeGomez:empty_comment, r=frewsxcv
Don't generate doc if doc comments only filled with 'white' characters

Fixes #39339.

r? @steveklabnik

cc @rust-lang/docs
2017-01-28 09:41:40 +00:00
Eduard-Mihai Burtescu
9a0af1638a rustc: remove unused bounds field from RegionParameterDef. 2017-01-28 02:56:46 +02:00
Eduard-Mihai Burtescu
c5befdc630 rustc: always keep an explicit lifetime in trait objects. 2017-01-28 02:56:46 +02:00
Eduard-Mihai Burtescu
0682a75f44 rustc: clean up the style of middle::resolve_lifetime. 2017-01-28 02:56:46 +02:00
Eduard-Mihai Burtescu
7a2a669bb7 rustc: always include elidable lifetimes in HIR types. 2017-01-28 02:56:46 +02:00
Alex Crichton
e2ef630a21 rustdoc: Suppress warnings/errors with --test
Threads spawned by the test framework have their output captured by default, so
for `rustdoc --test` threads this propagates that capturing to the spawned
thread that we now have.

Closes #39327
2017-01-27 14:53:16 -08:00
Guillaume Gomez
460a3b20aa Don't generate doc if doc comments only filled with 'white' characters 2017-01-27 23:18:07 +01:00
bors
23a94697c2 Auto merge of #39158 - petrochenkov:bounds, r=nikomatsakis
Bounds parsing refactoring 2

See https://github.com/rust-lang/rust/pull/37511 for previous discussion.
cc @matklad

Relaxed parsing rules:
 - zero bounds after `:` are allowed in all contexts.
 - zero predicates are allowed after `where`.
- trailing separator `,` is allowed after predicates in `where` clauses not followed by `{`.

Other parsing rules:
 - trailing separator `+` is still allowed in all bound lists.

Code is also cleaned up and tests added.

I haven't touched parsing of trait object types yet, I'll do it later.
2017-01-27 01:27:12 +00:00
Eduard-Mihai Burtescu
45c8c5678a rustc: rename TyCtxt's map field to hir. 2017-01-26 13:41:28 +02:00
Michael Gattozzi
bb34856e9d
Fix full path being output with rustdoc -h
rustdoc would output the full path to the binary when calling it with
the `-h` or `--help` flags. This is undesired behavior. It has been
replaced with a hardcoded string `rustdoc` to fix the issue.

Fixes #39310
2017-01-26 01:35:00 -05:00
Vadim Petrochenkov
b795abeb1d Refactor parsing of generic arguments/parameters and where clauses 2017-01-24 22:56:02 +03:00
Guillaume Gomez
cbfc8fe3eb Force backline on all where in docs 2017-01-21 15:34:11 +01:00
Alex Crichton
e1129b75f8 Rollup merge of #39142 - nikomatsakis:issue-38973, r=brson
run rustdoc tests in the same sort of thread rustc runs in

Not sure yet if this is the problem in #38973 but seems like an improvement regardless.

r? @brson
2017-01-20 08:35:48 -08:00
Alex Crichton
17294d98b9 Rollup merge of #39118 - jseyfried:token_tree_based_parser, r=nrc
Refactor the parser to consume token trees

This is groundwork for efficiently parsing attribute proc macro invocations, bang macro invocations, and `TokenStream`-based attributes and fragment matchers.

This improves parsing performance by 8-15% and expansion performance by 0-5% on a sampling of the compiler's crates.

r? @nrc
2017-01-20 08:35:47 -08:00
bors
f0b4207598 Auto merge of #39136 - keeperofdakeys:proc-macro-doc-test, r=alexcrichton
Stop warning when doc testing proc macro crates

Fixes #39064

Add the test option to the session struct that is passed
to phase_2_configure_and_expand function inside the
rustdoc test module.

This prevents the warning code from triggering when
parsing proc_macro_derive attributes, just like when
`--test` is normally invoked.

This change makes the warning disappear, but I'm not sure what else it might change. So this early PR is mainly to run the test suite, and to get feedback.
2017-01-19 21:15:12 +00:00
Josh
c759aea5b3 Stop warning when doc testing proc macro crates
Add the actually_rustdoc option to the session that
is passed  to phase_2_configure_and_expand function
inside the rustdoc test module.

This prevents the warning code from triggering when
parsing proc_macro_derive attributes, just like when
`--test` is normally invoked.
2017-01-19 08:31:29 +11:00
Niko Matsakis
d25f066c07 run rustdoc tests in the same sort of thread rustc runs in 2017-01-17 18:15:08 -05:00
Jeffrey Seyfried
0b9e26f390 Fix fallout in rustdoc. 2017-01-17 21:06:45 +00:00
Vadim Petrochenkov
66ef5f2bb5 Rename ObjectSum into TraitObject in AST/HIR 2017-01-17 10:41:44 +03:00
Vadim Petrochenkov
2efe865d22 AST/HIR: Merge ObjectSum and PolyTraitRef 2017-01-17 01:52:47 +03:00
bors
47410b23aa Auto merge of #39076 - ollie27:rustdoc_stab_prim, r=GuillaumeGomez
rustdoc: Give primitive types stability attributes

This is especially important for i128/u128 to make it clear they are
unstable in the docs.
2017-01-16 13:22:29 +00:00
Guillaume Gomez
b7678808af Fix missing blank space issue 2017-01-15 18:38:00 +01:00
Oliver Middleton
f48f3d7584 rustdoc: Give primitive types stability attributes
This is especially important for i128/u128 to make it clear they are
unstable in the docs.
2017-01-15 09:08:29 +00:00