Guillaume Gomez
bed8e93f40
remove Clean trait implementation for hir::ImplItem
2022-08-08 17:25:38 +02:00
Guillaume Gomez
a238d1284e
remove Clean trait implementation for ty::Predicate
2022-08-07 00:36:23 +02:00
Guillaume Gomez
61c0b12d17
remove Clean trait implementation for hir::WherePredicate
2022-08-07 00:30:18 +02:00
Michael Howell
2289955546
rustdoc: do not mark the contents of a skipped module as inlined
2022-08-06 13:20:04 -07:00
Matthias Krüger
811b0368aa
Rollup merge of #100193 - GuillaumeGomez:rm-clean-impls, r=notriddle
...
Remove more Clean trait implementations
Follow-up of https://github.com/rust-lang/rust/pull/99638 .
r? `@notriddle`
2022-08-06 16:16:00 +02:00
Guillaume Gomez
71edb3168f
remove Clean trait implementation for hir::PolyTraitRef
2022-08-06 11:54:54 +02:00
Guillaume Gomez
ca70ed8c81
remove Clean trait implementation for hir::GenericBound
2022-08-06 11:52:27 +02:00
Dylan DPC
404782dffe
Rollup merge of #100166 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC
...
Remove more Clean trait implementations
Follow-up of https://github.com/rust-lang/rust/pull/99638 .
r? `@notriddle`
2022-08-05 21:54:36 +05:30
Guillaume Gomez
46d17d6aaa
remove Clean trait implementation for hir::TraitItem
2022-08-05 12:08:32 +02:00
Guillaume Gomez
38083acde2
remove Clean trait implementation for hir::PolyTraitRef
2022-08-05 12:01:30 +02:00
Michael Howell
70a6ae6709
rustdoc: use collect()
instead of repeatedly pushing to bounds
2022-08-04 18:13:53 -07:00
Michael Howell
7ba51fa05b
rustdoc: use collect()
instead of repeatedly pushing to bindings
2022-08-04 18:13:46 -07:00
Guillaume Gomez
008693d231
remove Clean trait implementation for hir::TraitRef
2022-08-04 11:43:50 +02:00
Guillaume Gomez
a442c1e057
remove Clean trait implementation for hir::FnRetTy
2022-08-04 11:32:45 +02:00
Matthias Krüger
cd2619be67
Rollup merge of #100104 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC
...
Remove more Clean trait implementations
Follow-up of https://github.com/rust-lang/rust/pull/99638 .
r? ``@notriddle``
2022-08-03 22:30:47 +02:00
Camille GILLOT
421bb6ac62
Remove index from Region::EarlyBound.
2022-08-03 18:44:18 +02:00
Guillaume Gomez
3a6093ebca
remove Clean trait implementation for hir::IsAuto
2022-08-03 11:39:09 +02:00
Guillaume Gomez
a72e96c427
remove Clean trait implementation for ty::Region
2022-08-03 11:39:05 +02:00
Dylan DPC
acf691234f
Rollup merge of #99738 - notriddle:notriddle/multiple-modules-w-same-name, r=camelid
...
rustdoc: avoid inlining modules with duplicate names
Fixes rust-lang/rust#99734
2022-08-03 13:45:51 +05:30
Michael Howell
8724ca3114
rustdoc: avoid inlining foreigns with duplicate names
2022-08-02 14:48:23 -07:00
Matthias Krüger
269d15fbf8
Rollup merge of #100057 - GuillaumeGomez:rm-more-clean-impl, r=Dylan-DPC
...
Remove more Clean trait implementations
Follow-up of https://github.com/rust-lang/rust/pull/99638 .
r? ``@notriddle``
2022-08-02 17:17:37 +02:00
Matthias Krüger
e20b59977b
Rollup merge of #100005 - GuillaumeGomez:cleanup-ast-attr-clean, r=notriddle
...
Remove Clean trait for ast::Attribute and improve Attributes::from_ast
I prefer to keep this commit on its own for this PR because I'm changing a bit more things than expected originally: I split `Attributes::from_ast` into two because there is only one location making use of its second parameter.
Follow-up of https://github.com/rust-lang/rust/pull/99638 .
r? `@notriddle`
2022-08-02 17:17:31 +02:00
Guillaume Gomez
04f570aad0
Remove Clean trait implementation for ast::Attribute and cleanup Attributes::from_ast function by splitting it in two
2022-08-02 13:03:13 +02:00
Guillaume Gomez
f84a948df1
Remove Clean trait implementation for hir::Lifetime
2022-08-02 12:55:52 +02:00
Guillaume Gomez
fa14d02d9b
Remove Clean trait implementation for ty::TraitRef
2022-08-02 12:55:52 +02:00
Camille GILLOT
d7ea161b7e
Remove DefId from AssocItemContainer.
2022-08-01 21:38:45 +02:00
Camille GILLOT
110f0656cb
Store associated item defaultness in impl_defaultness.
2022-08-01 21:38:16 +02:00
Guillaume Gomez
fc1c858a48
Remove Clean trait implementation for hir::TypeBindingKind
2022-07-31 14:24:13 +02:00
Guillaume Gomez
9dd59ddfbf
Remove Clean trait implementation for hir::TypeBinding
2022-07-31 14:21:07 +02:00
Guillaume Gomez
279af1d7e0
Remove Clean trait implementation for hir::Path
2022-07-31 14:17:23 +02:00
Guillaume Gomez
c407ef0de0
Remove Clean trait implementation for hir::VariantData
2022-07-30 17:48:06 +02:00
Guillaume Gomez
21c812aa7a
Remove Clean trait implementation for ty::VariantDef
2022-07-30 17:34:29 +02:00
est31
1116fc164f
Box FunctionItem, TyMethodItem, MethodItem, ForeignFunctionItem
...
This reduces ItemKind size from 160 bytes to 112 bytes
2022-07-29 19:30:25 +02:00
est31
96c051fd07
Box TypedefItem, ImplItem, AssocTypeItem variants of ItemKind
...
This reduces ItemKind size from 224 bytes to 160 bytes.
2022-07-29 19:30:25 +02:00
est31
e62f6a0e87
Remove box syntax from Box<rustdoc::clean::types::ItemKind> construction
...
The type has 240 bytes according to compiler internal rustdoc.
2022-07-29 19:30:23 +02:00
Yuki Okushi
51dda5067c
Rollup merge of #99850 - GuillaumeGomez:clean-more-items, r=notriddle
...
rustdoc: Remove more Clean trait implementations
Follow-up of https://github.com/rust-lang/rust/pull/99638 .
r? `@notriddle`
2022-07-29 15:40:03 +09:00
Guillaume Gomez
660dc6f393
Remove Clean trait implementation for VariantData fields
2022-07-28 13:08:08 +02:00
Guillaume Gomez
961dce44a9
Remove Clean trait implementation for VariantStruct
2022-07-28 13:05:19 +02:00
Guillaume Gomez
c2c70e20bc
Remove Clean trait implementation for ty::Visibility
2022-07-28 11:52:59 +02:00
Michael Howell
2f03cbdc8e
rustdoc: remove Clean trait impl for ty::GenericParamDef
2022-07-27 11:13:39 -07:00
Michael Howell
3ea9916625
rustdoc: remove Clean trait impl for hir::Term
2022-07-27 11:08:22 -07:00
Michael Howell
8aca8835a0
rustdoc: remove Clean trait impl for ty::Term
2022-07-27 11:04:54 -07:00
Michael Howell
9dcf1d9c1a
rustdoc: remove Clean trait impl for ty::PolyTraitPredicate
2022-07-26 15:33:17 -07:00
Michael Howell
e94ef5cc76
rustdoc: remove Clean trait impls for ty::OutlivesPredicate
2022-07-26 15:33:13 -07:00
Michael Howell
791beb7a5c
rustdoc: remove Clean trait impl for ProjectionPredicate
2022-07-26 15:33:10 -07:00
Michael Howell
4443fd5d76
rustdoc: remove Clean trait impl for ProjectionTy
2022-07-26 15:33:04 -07:00
Matthias Krüger
811b4b890a
Rollup merge of #99235 - WaffleLapkin:rustdoc_implement_support_for_must_implement, r=GuillaumeGomez
...
rustdoc: Add support for `#[rustc_must_implement_one_of]`
This PR adds support for `#[rustc_must_implement_one_of]` attribute added in #92164 . There is a desire to eventually use this attribute of `Read`, so making it show up in docs is a good thing.
I "stole" the styling from cfg notes, not sure what would be a proper styling. Currently it looks like this:

<details><summary>Code to reproduce</summary>
<p>
```rust
#![feature(rustc_attrs)]
#[rustc_must_implement_one_of(a, b)]
pub trait Trait {
fn req();
fn a(){ Self::b() }
fn b(){ Self::a() }
}
```
</p>
</details>
2022-07-26 16:57:46 +02:00
Michael Howell
225ac9efc1
rustdoc: avoid inlining modules with duplicate names
...
Fixes rust-lang/rust#99734
2022-07-25 16:35:12 -07:00
Guillaume Gomez
e55b0206f3
Remove Clean trait implementation for Constant
2022-07-24 15:08:24 +02:00
Guillaume Gomez
8098f5faa8
Remove Clean trait implementation for FieldDef
2022-07-24 14:58:10 +02:00
Maybe Waffle
3da2553f2f
Add support for #[rustc_must_implement_one_of]
to rustdoc
2022-07-24 15:10:04 +04:00
Guillaume Gomez
7a9f3078e5
Remove Clean trait implementation for hir::Ty and middle::Ty
2022-07-23 14:56:58 +02:00
Guillaume Gomez
edb9add193
Make some clean::Trait fields computation on demand
2022-07-22 14:26:05 +02:00
bors
9a7b7d5e50
Auto merge of #98180 - notriddle:notriddle/rustdoc-fn, r=petrochenkov,GuillaumeGomez
...
Improve the function pointer docs
This is #97842 but for function pointers instead of tuples. The concept is basically the same.
* Reduce duplicate impls; show `fn (T₁, T₂, …, Tₙ)` and include a sentence saying that there exists up to twelve of them.
* Show `Copy` and `Clone`.
* Show auto traits like `Send` and `Sync`, and blanket impls like `Any`.
https://notriddle.com/notriddle-rustdoc-test/std/primitive.fn.html
2022-07-19 19:36:57 +00:00
Dylan DPC
affdcd6cef
Rollup merge of #99344 - notriddle:notriddle/multiple-macro-rules-w-same-name, r=GuillaumeGomez
...
rustdoc: avoid inlining items with duplicate `(type, name)`
Fixes #99221
2022-07-18 21:14:46 +05:30
Michael Howell
1169832f2f
rustdoc: extend #[doc(tuple_variadic)]
to fn pointers
...
The attribute is also renamed `fake_variadic`.
2022-07-17 16:32:06 -07:00
Michael Howell
c8221830c7
rustdoc: avoid inlining items with duplicate (type, name)
...
Fixes #99221
2022-07-16 17:04:43 -07:00
Guillaume Gomez
1a15c7147f
Fix rustdoc JSON inline
2022-07-16 13:39:38 +02:00
Joshua Nelson
3c9765cff1
Rename debugging_opts
to unstable_opts
...
This is no longer used only for debugging options (e.g. `-Zoutput-width`, `-Zallow-features`).
Rename it to be more clear.
2022-07-13 17:47:06 -05:00
bors
a639f89d04
Auto merge of #99066 - est31:remove_box_librustdoc, r=jsha
...
Remove most box syntax from librustdoc
This is the second attempt after the librustdoc specific changes have been reverted from #87781 in #89134 , due to a minor, but exant regression caused by the changes. ~~There have been some changes to librustdoc in the past and maybe thanks to them there is no regression any more. If there is still a regression, one can investigate further and maybe find ways to fix the regressions. Thus, i request a perf run.~~ Edit: turns out there is still a regression, but it's caused only by a subset of the changes. So I've changed this PR to only contains the changes that don't cause any performance regressions, keeping the regression causing changes for a later PR.
2022-07-13 08:29:57 +00:00
est31
3d2494dbf2
Remove box syntax from Box<BareFunctionDecl> construction
...
The type has 144 bytes according to compiler internal rustdoc.
2022-07-11 22:59:50 +02:00
est31
3fa637dacb
Remove box syntax for Box<rustdoc::clean::types::Type> construction
...
The type has 80 bytes according to compiler internal rustdoc.
2022-07-11 22:58:57 +02:00
est31
ccf1bdbca6
Remove box syntax for Box<Attributes> construction
...
Attributes only has 48 bytes according to compiler internal rustdoc.
2022-07-11 22:58:57 +02:00
Dylan DPC
776bb64474
Rollup merge of #98692 - camelid:more-fixmes, r=GuillaumeGomez
...
rustdoc: Cleanup more FIXMEs
r? `@GuillaumeGomez`
2022-07-07 18:06:51 +05:30
Michael Howell
3ac1a9b50d
rustdoc: filter '_ lifetimes from ty::Generics
...
Fixes a weirdly-rendered section of the std::string::String docs.
2022-07-04 22:21:38 -07:00
Michael Howell
cd7bd8bf0a
rustdoc: filter '_ lifetimes from ty::PolyTraitRef
...
Fixes #98697
2022-06-30 10:35:50 -07:00
Noah Lev
2d2fd31687
Remove FIXME that hasn't been an issue in practice
2022-06-29 15:25:14 -07:00
Noah Lev
8192288ee0
Replace weird handling of edge case with panic
2022-06-29 15:24:15 -07:00
bors
116edb6800
Auto merge of #98542 - jackh726:coinductive-wf, r=oli-obk
...
Make empty bounds lower to `WellFormed` and make `WellFormed` coinductive
r? rust-lang/types
2022-06-29 03:22:47 +00:00
Jack Huey
e16dbb5076
Make empty bounds lower to WellFormed and make WellFormed coinductive
2022-06-28 00:17:40 -04:00
Camille GILLOT
576661cb5f
Rustdoc fallout.
2022-06-21 21:13:43 +02:00
Michael Howell
9b31323b8f
Fix incorrectly spelled "variadic"
2022-06-11 09:54:20 -07:00
Michael Howell
6950f144cf
rustdoc: show tuple impls as impl Trait for (T, ...)
...
This commit adds a new unstable attribute, `#[doc(tuple_varadic)]`, that
shows a 1-tuple as `(T, ...)` instead of just `(T,)`, and links to a section
in the tuple primitive docs that talks about these.
2022-06-08 19:26:51 -07:00
Camille GILLOT
b1294e86bb
Manipulate lifetimes by LocalDefId for region resolution.
2022-06-03 12:03:20 +02:00
bors
6ac8adad1f
Auto merge of #97365 - klensy:rustdoc-vs-clippy, r=notriddle
...
rustdoc: fix few clippy lints
Fix few clippy lints: second commit - perf ones, first - other ones.
2022-05-25 01:12:54 +00:00
klensy
678059f7d0
fix simple clippy lints
2022-05-24 12:24:41 -04:00
Dylan DPC
3569a426b5
Rollup merge of #97288 - compiler-errors:tcxify-rustdoc, r=Dylan-DPC
...
Lifetime variance fixes for rustdoc
#97287 migrates rustc to a `Ty` type that is invariant over its lifetime `'tcx`, so I need to fix a bunch of places that assume that `Ty<'a>` and `Ty<'b>` can be unified by shortening both to some common lifetime.
This is doable, since everything is already `'tcx`, so all this PR does is be a bit more explicit that elided lifetimes are actually `'tcx`.
Split out from #97287 so the rustdoc team can review independently.
2022-05-24 15:58:24 +02:00
bors
222c5724ec
Auto merge of #94053 - GuillaumeGomez:fields-stripped, r=notriddle
...
rustdoc: Remove fields_stripped fields (and equivalents)
Fixes #90588 .
r? `@camelid`
2022-05-23 18:26:42 +00:00
Michael Howell
207f64948f
Clean up &args[..]
, use more readable args.iter()
instead
2022-05-22 15:03:51 -07:00
Michael Goulet
b2a95cb582
Lifetime variance fixes for rustdoc
2022-05-22 14:22:40 -07:00
Michael Howell
08237d8a6d
Shrink GenericArgs/PathSegment with boxed slices
2022-05-21 07:55:13 -07:00
Guillaume Gomez
6092cbb17c
Remove fields_stripped fields (and equivalents)
2022-05-21 13:21:12 +02:00
bors
5f33adce1b
Auto merge of #93963 - GuillaumeGomez:reduce-clean-type-size, r=notriddle
...
rustdoc: Reduce clean::Type size
There is no need to keep the `DefId` around since it's allow used to compute if we should show a cast or not. As such, we can simply directly store the boolean.
I think it's not what you had in mind `@camelid` but I guess it's still an improvement? 😉
It was discussed in https://github.com/rust-lang/rust/pull/93941 .
r? `@camelid`
2022-05-21 09:04:05 +00:00
Jacob Pratt
6970246886
Remove crate
visibility modifier in libs, tests
2022-05-21 00:32:47 -04:00
Guillaume Gomez
2e1369c198
Prevent to recompute should_show_cast
by passing down self_def_id
2022-05-15 13:43:33 +02:00
Guillaume Gomez
4054c0f3e6
Reduce clean::Type size by replacing a DefId (only used to check for display) with a boolean
2022-05-15 13:38:26 +02:00
Jack Huey
319575ae8c
Introduce EarlyBinder
2022-05-10 22:47:18 -04:00
flip1995
dd1ff405e3
Track if a where bound comes from a impl Trait desugar
...
With #93803 `impl Trait` function arguments get desugared to hidden
where bounds. However, Clippy needs to know if a bound was originally a
impl Trait or an actual bound. This adds a field to the
`WhereBoundPredicate` struct to keep track of this information during
HIR lowering.
2022-05-07 17:10:30 +02:00
Vadim Petrochenkov
5b5964f569
rustc: Panic by default in DefIdTree::parent
...
Only crate root def-ids don't have a parent, and in majority of cases the argument of `DefIdTree::parent` cannot be a crate root.
So we now panic by default in `parent` and introduce a new non-panicing function `opt_parent` for cases where the argument can be a crate root.
Same applies to `local_parent`/`opt_local_parent`.
2022-05-02 01:56:50 +03:00
Camille GILLOT
94449e6101
Store all generic bounds as where predicates.
2022-04-30 13:55:13 +02:00
Camille GILLOT
05b29f9a92
Inline WhereClause into Generics.
2022-04-30 13:51:49 +02:00
Ellen
f697955c1e
tut tut tut
2022-04-27 08:51:33 +01:00
Camille GILLOT
07ee031763
Stop using CRATE_DEF_INDEX.
...
`CRATE_DEF_ID` and `CrateNum::as_def_id` are almost always what we want.
2022-04-17 12:14:42 +02:00
Guillaume Gomez
b1e6211c5c
Rename def_id
into item_id
when the type is ItemId
for readability
2022-04-16 14:28:09 +02:00
León Orell Valerian Liehr
8de453a8c6
rustdoc: discr. required+provided assoc consts+tys
2022-04-12 15:38:39 +02:00
Deadbeef
7f54d68f26
Add a note for unsatisfied ~const Drop
bounds
2022-04-11 12:00:39 +10:00
Pietro Albini
9f70a7b111
rustdoc changes for ~const Drop
2022-04-05 23:18:43 +02:00
Guillaume Gomez
2c4ce9d2dc
Remove header field from clean::Function
2022-03-29 11:46:57 +02:00
Deadbeef
1f3ee7f32e
Rename ~const Drop
to ~const Destruct
2022-03-21 17:04:03 +11:00
bors
b7511248f9
Auto merge of #94139 - est31:let_else_rustdoc, r=notriddle
...
librustdoc: adopt let else in more places
Continuation of #89933 , #91018 , #91481 , #93046 , #93590 , #94011 .
I have extended my clippy lint to also recognize tuple passing and match statements. The diff caused by fixing it is way above 1 thousand lines. Thus, I split it up into multiple pull requests to make reviewing easier. This PR handles librustdoc.
2022-03-14 07:39:53 +00:00