Skip to content

rustdoc --json struct and enum impls are blank #100242

Closed
@makspll

Description

@makspll

running rustup run nightly cargo rustdoc -p glam -- -Zunstable-options --output-format json

produces this record for the glam type Mat3:

         "0:9614:1735": {
            "id": "0:9614:1735",
            "crate_id": 0,
            "name": "Mat3",
            "span": {
                "filename": "/home/makspll/.cargo/registry/src/github.com-1ecc6299db9ec823/glam-0.21.2/src/f32/mat3.rs",
                "begin": [
                    45,
                    0
                ],
                "end": [
                    49,
                    1
                ]
            },
            "visibility": "public",
            "docs": "A 3x3 column major matrix.\n\nThis 3x3 matrix type features convenience methods for creating and using linear and\naffine transformations. If you are primarily dealing with 2D affine transformations the\n[`Affine2`](crate::Affine2) type is much faster and more space efficient than\nusing a 3x3 matrix.\n\nLinear transformations including 3D rotation and scale can be created using methods\nsuch as [`Self::from_diagonal()`], [`Self::from_quat()`], [`Self::from_axis_angle()`],\n[`Self::from_rotation_x()`], [`Self::from_rotation_y()`], or\n[`Self::from_rotation_z()`].\n\nThe resulting matrices can be use to transform 3D vectors using regular vector\nmultiplication.\n\nAffine transformations including 2D translation, rotation and scale can be created\nusing methods such as [`Self::from_translation()`], [`Self::from_angle()`],\n[`Self::from_scale()`] and [`Self::from_scale_angle_translation()`].\n\nThe [`Self::transform_point2()`] and [`Self::transform_vector2()`] convenience methods\nare provided for performing affine transforms on 2D vectors and points. These multiply\n2D inputs as 3D vectors with an implicit `z` value of `1` for points and `0` for\nvectors respectively. These methods assume that `Self` contains a valid affine\ntransform.",
            "links": {
                "crate::Affine2": "0:9602:2046",
                "`Self::from_diagonal()`": "0:9614:1735",
                "`Self::from_axis_angle()`": "0:9614:1735",
                "`Self::from_scale()`": "0:9614:1735",
                "`Self::from_angle()`": "0:9614:1735",
                "`Self::from_quat()`": "0:9614:1735",
                "`Self::from_rotation_z()`": "0:9614:1735",
                "`Self::transform_vector2()`": "0:9614:1735",
                "`Self::from_rotation_y()`": "0:9614:1735",
                "`Self::from_scale_angle_translation()`": "0:9614:1735",
                "`Self::from_rotation_x()`": "0:9614:1735",
                "`Self::from_translation()`": "0:9614:1735",
                "`Self::transform_point2()`": "0:9614:1735"
            },
            "attrs": [
                "#[repr(C)]"
            ],
            "deprecation": null,
            "kind": "struct",
            "inner": {
                "struct_type": "plain",
                "generics": {
                    "params": [],
                    "where_predicates": []
                },
                "fields_stripped": false,
                "fields": [
                    "0:9615:1809",
                    "0:9616:1810",
                    "0:9617:1812"
                ],
                "impls": []
            }
        }

I would expect "impls" to not be blank, since the matrix implements many traits and has a non-trait implementation as well. The paths entry also does not contain Mat3 as well as many other types exported by the crate, is this expected ? I know that these paths included all exported types before

Meta

rustc --version --verbose:

$ rustup run nightly rustc --version
rustc 1.65.0-nightly (2befdefdd 2022-08-06)

Meta

rustc --version --verbose:

$ rustup run nightly rustc --version
rustc 1.65.0-nightly (2befdefdd 2022-08-06)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-rustdoc-jsonArea: Rustdoc JSON backendC-bugCategory: This is a bug.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions