varkor
9200bdee26
Refactor generic params loops
2018-05-15 14:21:32 +01:00
varkor
4bed895cab
Pull common parameters into GenericParamDef
...
This leads to a lot of simplifications, as most code doesn't actually need to know about the specific lifetime/type data; rather, it's concerned with properties like name, index and def_id.
2018-05-15 14:21:32 +01:00
varkor
5e89312a22
Inline get_type
2018-05-15 14:21:32 +01:00
varkor
7b45a892a4
Use GenericParamCount instead of FxHashMap
2018-05-15 14:21:31 +01:00
varkor
6f257bf26f
Correct variable renaming fallout
2018-05-15 14:21:03 +01:00
varkor
0b8b14f6f5
Eliminate ty::Generics::types()
...
And with one final incanation, the specific kind iterators were banished from ty::Generics, never to be seen again!
2018-05-15 14:21:03 +01:00
varkor
d557ff983f
Eliminate ty::Generics::lifetimes()
...
Begone lazy lifetime code!
2018-05-15 14:21:03 +01:00
varkor
b75f421ee9
Generalise more cases of explicit iteration of specific kinds
2018-05-15 14:21:03 +01:00
varkor
4a6c946368
Generalise cases of explicit iteration of specific kinds
2018-05-15 14:21:03 +01:00
varkor
06f0a7c89f
Rename TypeParameterDef -> TypeParamDef and RegionParameterDef -> RegionParamDef
2018-05-15 14:20:19 +01:00
varkor
178a8f1139
Rename GenericParam to GenericParamDef
2018-05-15 14:20:19 +01:00
varkor
e5825c29c3
Prefer iterator to vec
2018-05-15 14:20:19 +01:00
varkor
fe0c119e7d
Consolidate ty::Generics
2018-05-15 14:20:19 +01:00
Guillaume Gomez
6dc4971cf8
Rollup merge of #50691 - ollie27:rustdoc_pub_restricted, r=QuietMisdreavus
...
rustdoc: Add support for pub(restricted)
This is useful when using `--document-private-items`.
r? @QuietMisdreavus
2018-05-15 14:27:01 +02:00
John Kåre Alsaker
022dff47e3
Add a Rayon thread pool
2018-05-13 01:28:20 +02:00
Oliver Middleton
3daded02fa
rustdoc: Add support for pub(restricted)
2018-05-12 18:25:09 +01:00
John Kåre Alsaker
fdd9787777
Introduce ConstValue and use it instead of miri's Value for constant values
2018-05-11 13:01:44 +02:00
bors
0a223d139c
Auto merge of #50395 - Zoxc:small-tys, r=michaelwoerister
...
Optimize layout of TypeVariants
This makes references to `Slice` use thin pointers by storing the slice length in the slice itself. `GeneratorInterior` is replaced by storing the movability of generators in `TyGenerator` and the interior witness is stored in `GeneratorSubsts` (which is just a wrapper around `&'tcx Substs`, like `ClosureSubsts`). Finally the fields of `TypeAndMut` is stored inline in `TyRef`. These changes combine to reduce `TypeVariants` from 48 bytes to 24 bytes on x86_64.
r? @michaelwoerister
2018-05-10 14:14:35 +00:00
bors
472541731e
Auto merge of #49711 - ibabushkin:auto_trait_refactor, r=nikomatsakis
...
Refactor auto trait handling in librustdoc to be accessible from librustc.
These commits transfer some of the functionality introduced in https://github.com/rust-lang/rust/pull/47833 to librustc with the intention of making the tools to work with auto traits accessible to third-party code, for example [rust-semverver](https://github.com/rust-lang-nursery/rust-semverver ).
Some rough edges remain, and I'm certain some of the FIXMEs introduced will need some discussion, most notably the fairly ugly overall approach to pull out the core logic into librustc, which was previously fairly tightly coupled with various bits and bobs from librustdoc.
cc @Aaron1011
2018-05-09 16:56:30 +00:00
John Kåre Alsaker
c9d9c249ec
Insert fields from TypeAndMut into TyRef to allow layout optimization
2018-05-08 16:21:58 +02:00
bors
715d6a98aa
Auto merge of #50305 - GuillaumeGomez:fix-mod-stackoverflow, r=QuietMisdreavus
...
Prevent infinite recursion of modules
Fixes #50196 .
r? @QuietMisdreavus
2018-05-07 23:18:12 +00:00
Guillaume Gomez
3ba7c00f94
Prevent infinite recursion of modules
2018-05-07 12:44:03 +02:00
bors
5d6c757268
Auto merge of #50419 - sinkuu:rustdoc_nested_impl_trait, r=QuietMisdreavus
...
rustdoc: Resolve nested `impl Trait`s
Fixes #50358 .
Populates `cx.impl_trait_bounds` incrementally while `clean`ing generic params, so that a synthetic type-parameter can refer to previous ones.
cc #50366
2018-05-05 03:36:09 +00:00
Shotaro Yamada
14f32f64c8
rustdoc: Resolve nested impl Traits
2018-05-03 22:34:10 +09:00
Seiichi Uchida
9b3aea602c
Remove Option from the return type of Attribute::name()
2018-05-02 11:32:34 +02:00
Oliver Middleton
7232df7d5a
rustdoc: Fix links to constants in external crates
2018-04-29 23:28:39 +01:00
John Kåre Alsaker
4d52751d12
Rename InternedString to LocalInternedString and introduce a new thread-safe InternedString
2018-04-27 03:35:32 +02:00
Inokentiy Babushkin
5e1f92cd84
Reworked auto trait functionality in rustdoc.
2018-04-26 22:13:10 +02:00
Irina Popa
04fa0e7bb3
rustc_target: move in syntax::abi and flip dependency.
2018-04-26 17:49:16 +03:00
Tyler Mandry
98546f8b26
Make Binder's field private and clean up its usage
2018-04-24 22:12:07 -05:00
Guillaume Gomez
035ec5bbb6
Add warning if a resolution failed
2018-04-16 23:33:43 +02:00
bors
88ebd97d65
Auto merge of #49695 - michaelwoerister:unhygienic-ty-min, r=nikomatsakis
...
Use InternedString instead of Symbol for type parameter types (2)
Reduced alternative to #49266 . Let's see if this causes a performance regression.
2018-04-11 00:51:38 +00:00
Vadim Petrochenkov
3a30bad6de
Use Ident instead of Name in MetaItem
2018-04-06 11:52:16 +03:00
Vadim Petrochenkov
b3b5ef186c
Remove more duplicated spans
2018-04-06 11:50:49 +03:00
Vadim Petrochenkov
8719d1ed05
Rename PathSegment::identifier to ident
2018-04-06 11:46:26 +03:00
Michael Woerister
4c4f9b9924
Fix rustdoc after changing type param representation.
2018-04-06 10:35:23 +02:00
kennytm
52fd162603
Rollup merge of #49603 - GuillaumeGomez:fix-intra-link-trait-provided-method, r=QuietMisdreavus
...
Fix url for intra link provided method
Fixes #49582 .
r? @QuietMisdreavus
2018-04-04 11:07:22 +02:00
kennytm
609e9f014f
Rollup merge of #49512 - GuillaumeGomez:intra-links-fields, r=QuietMisdreavus
...
Add support for variant and types fields for intra links
Part of #43466 .
r? @QuietMisdreavus
2018-04-04 11:07:11 +02:00
Guillaume Gomez
f9cc0307fe
Fix url for intra link provided method
2018-04-02 18:52:04 +02:00
bors
085c4b43b5
Auto merge of #49201 - Phlosioneer:add-trivial-size-hints, r=SimonSapin
...
Implement some trivial size_hints for various iterators
This also implements ExactSizeIterator where applicable.
Addresses most of the Iterator traits mentioned in #23708 .
I intend to do more, but I don't want to make the PR too large.
2018-03-31 06:40:56 +00:00
bors
1c5283b472
Auto merge of #49459 - GuillaumeGomez:primitive-intra-links, r=QuietMisdreavus
...
Add primitive intra-links
Part of #43466 .
r? @QuietMisdreavus
2018-03-31 01:34:15 +00:00
Guillaume Gomez
d0eeb291dd
Add support for variant and types fields for intra links
2018-03-30 16:22:57 +02:00
Guillaume Gomez
561e8efb7d
Add primitive intra-links
2018-03-29 13:43:55 +02:00
kennytm
6ca14660af
Rollup merge of #49427 - Manishearth:rustdoc-impl-trait-extern, r=GuillaumeGomez
...
Correctly handle impl trait in external items in rustdoc
fixes #49373
r? @QuietMisdreavus
2018-03-28 17:55:12 +02:00
bors
e58df0d8c5
Auto merge of #49304 - sinkuu:impl_trait_rustdoc, r=QuietMisdreavus
...
Rustdoc support for universal_impl_trait
Hides type parameters synthesized by `impl Trait`-in-argument-position, and enables links to trait names.
<img alt="before" src="https://user-images.githubusercontent.com/7091080/37831646-a61413c6-2ee9-11e8-8ec2-a6137956d922.png " width="450"/>
↓
<img alt="after" src="https://user-images.githubusercontent.com/7091080/37831657-b2ff0ae6-2ee9-11e8-8797-fdad904782bf.png " width="450"/>
Fixes #49309
2018-03-28 05:29:57 +00:00
Manish Goregaokar
6a547b4f61
rustdoc: Handle explicit ?Sized on foreign impl Trait
2018-03-27 23:56:48 +02:00
Manish Goregaokar
32446f8db3
rustdoc: Remove Sized bounds when cleaning foreign impl Trait
2018-03-27 23:56:32 +02:00
Manish Goregaokar
ac655d25c7
rustdoc: Include associated type bounds when cleaning foreign impl traits
2018-03-27 23:56:30 +02:00
Manish Goregaokar
37fa6f8b12
rustdoc: Don't use into_iter() when cleaning impl Trait
2018-03-27 23:56:06 +02:00
Guillaume Gomez
4083bdff0b
Fix impl assoc constant link not working
2018-03-24 16:38:16 +01:00