1
Fork 0
Commit graph

13 commits

Author SHA1 Message Date
Joshua Nelson
1523f67f16 Calculate stability, const_stability, and deprecation on-demand
Previously, they would always be calculated ahead of time, which bloated
the size of `clean::Item`.
2020-12-18 09:27:34 -05:00
bors
d8d3ab96aa Auto merge of #80090 - jyn514:tcx-in-render, r=GuillaumeGomez
Pass a `TyCtxt` through to `FormatRender`

This is the next step after https://github.com/rust-lang/rust/pull/79957 for https://github.com/rust-lang/rust/issues/76382. Eventually I plan to use this to remove `stability`, `const_stability`, and `deprecation` from `Item`, but that needs more extensive changes (in particular, https://github.com/rust-lang/rust/pull/75355 or something like it).

This has no actual changes to behavior, it's just moving types around.

ccc https://github.com/rust-lang/rust/pull/80014#issuecomment-746810284
2020-12-18 08:44:50 +00:00
Guillaume Gomez
44e226ceb7 Continue String to Symbol conversion in rustdoc 2020-12-17 18:19:38 +01:00
Joshua Nelson
47c969436a Make it compile 2020-12-17 11:36:04 -05:00
Guillaume Gomez
50d221c924 Replace String with Symbol where possible 2020-12-16 22:04:27 +01:00
bors
90f4b52961 Auto merge of #80041 - jyn514:shrink-item, r=GuillaumeGomez
Get rid of `clean::Deprecation`

This brings the size of `item.deprecation` from 56 to 16 bytes. Helps with #79103 and https://github.com/rust-lang/rust/issues/76382, in the same vein as https://github.com/rust-lang/rust/pull/79957.

r? `@GuillaumeGomez`
2020-12-16 03:35:08 +00:00
Joshua Nelson
a16904fecf Switch to Symbol for item.name
This decreases the size of `Item` from 680 to 616 bytes. It also does a
lot less work since it no longer has to copy as much.
2020-12-14 22:19:15 -05:00
Joshua Nelson
7d452430fa Get rid of clean::Deprecation
This brings the size of `item.deprecation` from 56 to 16 bytes.
2020-12-14 22:00:46 -05:00
Joshua Nelson
0e574fb39a Fix the JSON backend
This was simpler than expected.
2020-12-12 00:01:25 -05:00
Joshua Nelson
4fa95b3a07 Calculate span info on-demand instead of ahead of time
This should *vastly* reduce memory usage.
2020-12-12 00:01:01 -05:00
Nixon Enraght-Moony
601820028c Discard const_stability 2020-12-01 19:01:34 +00:00
Nixon Enraght-Moony
40b5470b0d Address review comments.
Go back to CRATE_DEF_INDEX

Minor niceness improvements

Don't output hidden items

Remove striped items from fields

Add $TEST_BASE_DIR

Small catch
2020-12-01 18:34:39 +00:00
Joseph Ryan
66884e318f Add json backend
Respond to comments and start adding tests

Fix re-exports and extern-crate

Add expected output tests

Add restricted paths

Format

Fix: associated methods missing in output

Ignore stripped items

Mark stripped items

removing them creates dangling references

Fix tests and update conversions

Don't panic if JSON backend fails to create a file

Fix attribute error in JSON testsuite

Move rustdoc-json to rustdoc/

This way it doesn't have to build rustc twice. Eventually it should
probably get its own suite, like rustdoc-js, but that can be fixed in a
follow-up.

Small cleanups

Don't prettify json before printing

This fully halves the size of the emitted JSON.

Add comments

[BREAKING CHANGE] rename version -> crate_version

[BREAKING CHANGE] rename source -> span

Use exhaustive matches

Don't qualify imports for DefId

Rename clean::{ItemEnum -> ItemKind}, clean::Item::{inner -> kind}

Fix Visibility conversion

clean::Visability was changed here:
https://github.com/rust-lang/rust/pull/77820/files#diff-df9f90aae0b7769e1eb6ea6f1d73c1c3f649e1ac48a20e169662a8930eb427beL1467-R1509

More churn catchup

Format
2020-12-01 18:34:39 +00:00