1
Fork 0
Commit graph

713 commits

Author SHA1 Message Date
Jonathan Turner
6ae3502134 Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
bors
2940eb54bd Auto merge of #34232 - ollie27:rustdoc_inline, r=alexcrichton
rustdoc: Don't inline #[doc(hidden)] pub use

Currently if a `#[doc(hidden)] pub use` item is inlined the `hidden`
attribute is ignored so the item can appear in the docs. By never inlining
such imports, they can be stripped.

An example in `std` is [`__OsLocalKeyInner`](https://doc.rust-lang.org/nightly/std/thread/struct.__OsLocalKeyInner.html) which clearly should not be documented.
2016-06-14 05:04:38 -07:00
Oliver Middleton
a7c467418f rustdoc: Don't inline #[doc(hidden)] pub use
Currently if a `#[doc(hidden)] pub use` item is inlined the `hidden`
attribute is ignored so the item can appear in the docs. By never inlining
such imports, they can be stripped.
2016-06-11 23:00:42 +01:00
Vadim Petrochenkov
ee4e55398b Introduce TyCtxt::expect_def/expect_resolution helpers and use them where possible 2016-06-10 01:03:54 +03:00
Oliver Middleton
cc18104034 rustdoc: Remove Derived Implementations title
As far as I know whether a trait was derived or not does not change the
public API so there is no need to include this information in the docs.

This title currently just adds an extra divide in the list of trait
implementations which I don't think needs to be there.
2016-06-05 23:50:18 +01:00
Eduard Burtescu
bcec7a5848 rustc: add ReErased to be used by trait selection, MIR and trans. 2016-06-05 13:58:51 +03:00
Niko Matsakis
08034eb1a5 add Issue32330 warning marker to bound regions
This indicates whether this `BoundRegion` will change from late to early
bound when issue 32330 is fixed. It also indicates the function on
which the lifetime is declared.
2016-05-31 19:41:25 -04:00
Vadim Petrochenkov
216f5fba04 Separate bindings from other patterns in HIR 2016-05-28 00:54:29 +03:00
Vadim Petrochenkov
d69aeaf662 Implement .. in tuple (struct) patterns 2016-05-26 11:11:58 +03:00
bors
9743c661b0 Auto merge of #33710 - Manishearth:rollup, r=Manishearth
Rollup of 5 pull requests

- Successful merges: #33656, #33666, #33673, #33675, #33695
- Failed merges:
2016-05-18 05:04:26 -07:00
Manish Goregaokar
7a759d7ab6 Rollup merge of #33656 - GuillaumeGomez:lifetime_bound, r=steveklabnik
Add lifetime's bounds in doc generation

Fixes #33653

![screenshot from 2016-05-15 15 30 38](024dbd5c-1ab2-11e6-9387-274301a05627.png)

r? @steveklabnik
2016-05-18 14:07:44 +05:30
Vadim Petrochenkov
aad347c4f7 Remove hir::Ident 2016-05-16 22:25:08 +03:00
bors
e87cd7e380 Auto merge of #33505 - petrochenkov:self, r=nrc
Remove ExplicitSelf from HIR

`self` argument is already kept in the argument list and can be retrieved from there if necessary, so there's no need for the duplication.
The same changes can be applied to AST, I'll make them in the next breaking batch.
The first commit also improves parsing of method declarations and fixes https://github.com/rust-lang/rust/issues/33413.

r? @eddyb
2016-05-15 23:14:52 -07:00
Guillaume Gomez
391ae7f37a Add lifetime's bounds in doc generation 2016-05-15 15:29:44 +02:00
Vadim Petrochenkov
766f9b5a2f Remove ExplicitSelf from HIR 2016-05-14 13:26:40 +03:00
Oliver Middleton
538de73f5b rustdoc: Fix missing type parameters on impls 2016-05-12 20:08:33 +01:00
Eduard Burtescu
3a3013613a rustc: Remove the unnecessary ast_ty_to_ty_cache. 2016-05-11 04:14:58 +03:00
Eduard Burtescu
20652162ca rustc: More interning for data used in Ty<'tcx>. 2016-05-11 04:14:58 +03:00
Eduard Burtescu
f8ea24edc8 rustc: Avoid free functions taking &TyCtxt and &InferCtxt. 2016-05-11 04:14:58 +03:00
Georg Brandl
6100b70b98 rustdoc: do not strip blanket impls in crate of origin
In `impl<T> Trait for T`, the blanket type parameters `T` were
recognized as "local" and "not exported", so these impls were
thrown out.

Now we check if they are generic, and keep them in that case.

Fixes: #29503
2016-05-09 16:50:47 +02:00
bors
8e414e0e3f Auto merge of #33091 - sanxiyn:unused-trait-import-3, r=nrc
Warn unused trait imports, rebased

Rebase of #30021.

Fix #25730.
2016-05-08 04:50:27 -07:00
bors
5158f3b282 Auto merge of #33138 - arielb1:sized-shortcut, r=nikomatsakis
Short-cut `T: Sized` trait selection for ADTs

Basically avoids all nested obligations when checking whether an ADT is sized - this speeds up typeck by ~15%

The refactoring fixed #32963, but I also want to make `Copy` not object-safe (will commit that soon).

Fixes #33201

r? @nikomatsakis
2016-05-06 06:21:25 -07:00
Ariel Ben-Yehuda
238e4ee104 fixes 2016-05-05 01:59:22 +03:00
Georg Brandl
24117f3c58 rustdoc: fix inserting source code spans for constant values
This will go wrong when the constants partially result from macro expansion.
Instead, use the expressions and pretty-print them as Rust code.

Fixes: #33302
2016-05-03 13:09:42 +02:00
Seo Sanghyeon
7ad1900e1c Remove unused trait imports flagged by lint 2016-05-03 18:48:34 +09:00
bors
cf3970aac5 Auto merge of #33151 - ollie27:rustdoc_abi, r=alexcrichton
rustdoc: Cleanup ABI rendering

Use a common method for rendering `extern "<abi>"`.

This now consistently shows `extern fn` rather than `extern "C" fn`.
2016-04-27 23:16:41 -07:00
mitaa
0b5b782e39 Linkify extern crates on rustdoc pages 2016-04-25 11:26:33 +02:00
Vadim Petrochenkov
b32d7b5923 syntax: Merge keywords and remaining special idents in one list
Simplify the macro used for generation of keywords
Make `Keyword::ident` private
2016-04-24 20:59:44 +03:00
Vadim Petrochenkov
e2c821d35e syntax: Make static/super/self/Self keywords + special ident cleanup 2016-04-24 20:59:44 +03: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
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
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
Jeffrey Seyfried
3bf9fc0c2a Fix fallout in rustdoc 2016-04-14 04:53:33 +00:00
bors
35dca7fb7b Auto merge of #32780 - soltanmm:consider-the-following, r=nikomatsakis
Replace consider_unification_despite_ambiguity with new obligation variant

Is work towards #32730. Addresses part one of #32286. Addresses #24210 and #26046 to some degree.

r? @nikomatsakis
2016-04-13 11:28:30 -07: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
bors
c22302f53f Auto merge of #32773 - mitaa:rdoc-ttfn-json, r=alexcrichton
rustdoc: Remove the json-{input, output} format

(for reference #32698)

fixes #25108

r? @alexcrichton
2016-04-08 20:24:34 -07:00
Jeffrey Seyfried
bb66d91c98 Make hir::Visibility non-copyable and add ty::Visibility 2016-04-07 04:31:45 +00:00
mitaa
8bb19058d4 Remove rustdocs json format 2016-04-07 06:01:55 +02:00
Masood Malekghassemi
e45c7955e9 Replace consider_unification_despite_ambiguity with obligation variant 2016-04-06 13:57:18 -07: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
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
bors
cad964a626 Auto merge of #32461 - mitaa:rdoc-anchors, r=alexcrichton
rustdoc: Correct anchor for links to associated trait items

fixes #28478

r? @alexcrichton
2016-03-28 18:34:50 -07:00
mitaa
d0f74b6059 Load struct-variant data correctly from metadata 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
Eduard Burtescu
5efdde0de1 rustc: move cfg, infer, traits and ty from middle to top-level. 2016-03-27 01:05:54 +02:00