-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
rustdoc-json: impl dyn Trait gets discarded #133719
Copy link
Copy link
Open
Labels
A-dyn-traitArea: trait objects, vtable layoutArea: trait objects, vtable layoutA-rustdoc-jsonArea: Rustdoc JSON backendArea: Rustdoc JSON backendC-bugCategory: This is a bug.Category: This is a bug.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.Relevant to the rustdoc team, which will review and decide on the PR/issue.
Metadata
Metadata
Assignees
Labels
A-dyn-traitArea: trait objects, vtable layoutArea: trait objects, vtable layoutA-rustdoc-jsonArea: Rustdoc JSON backendArea: Rustdoc JSON backendC-bugCategory: This is a bug.Category: This is a bug.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.Relevant to the rustdoc team, which will review and decide on the PR/issue.
Type
Fields
Give feedbackNo fields configured for issues without a type.
For the following code:
generates
{ "format_version": 36, "includes_private": false, "index": { "0": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": 0, "inner": {"function": { ... }}, "name": "number", "visibility": "default" }, "1": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": 1, "inner": { "trait": { "bounds": [], "generics": {"params": [], "where_predicates": []}, "implementations": [], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [0] } }, "name": "T1", "visibility": "public" }, "2": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": 2, "inner": {"module": {"is_crate": true, "is_stripped": false, "items": [1]}}, "name": "on_dyn_trait", "visibility": "public" } }, "root": 2 }(full).
There's nothing included for the
number_plus_onemethod, but there should be.The HTML backend get this right, so the releavent info is availible in
clean:I'm not sure what's the best way to store this is in the format: Putting it into the
implementationsfield seems wrong, asimpl dyn T1isn't an implementation ofT1, but an implementation ondyn T1. I'd love to hear people's thoughts on this.