{
"crate_version": null,
"external_crates": {},
"format_version": 18,
"includes_private": false,
"index": {
"0:0:1565": {
"attrs": ["#![feature(no_core)]", "#![no_core]"],
"crate_id": 0,
"deprecation": null,
"docs": null,
"id": "0:0:1565",
"inner": {"is_crate": true, "is_stripped": false, "items": ["0:5"]},
"kind": "module",
"links": {},
"name": "glob_private_simple",
"span": {
"begin": [1, 0],
"end": [11, 14],
"filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs"
},
"visibility": "public"
},
"0:3:1564": {
"attrs": [],
"crate_id": 0,
"deprecation": null,
"docs": null,
"id": "0:3:1564",
"inner": {"is_crate": false, "is_stripped": true, "items": ["0:4:630"]},
"kind": "module",
"links": {},
"name": "m2",
"span": {
"begin": [7, 0],
"end": [7, 6],
"filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs"
},
"visibility": "crate"
},
"0:4:630": {
"attrs": [],
"crate_id": 0,
"deprecation": null,
"docs": null,
"id": "0:4:630",
"inner": {
"decl": {
"c_variadic": false,
"inputs": [["_", {"inner": "u8", "kind": "primitive"}]],
"output": null
},
"generics": {"params": [], "where_predicates": []},
"header": {"abi": "Rust", "async": false, "const": false, "unsafe": false}
},
"kind": "function",
"links": {},
"name": "f",
"span": {
"begin": [8, 4],
"end": [8, 22],
"filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs"
},
"visibility": "public"
},
"0:5": {
"attrs": [],
"crate_id": 0,
"deprecation": null,
"docs": null,
"id": "0:5",
"inner": {"glob": true, "id": "0:3:1564", "name": "m2", "source": "m2"},
"kind": "import",
"links": {},
"name": null,
"span": {
"begin": [11, 0],
"end": [11, 14],
"filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs"
},
"visibility": "public"
}
},
"paths": {"0:0:1565": {"crate_id": 0, "kind": "module", "path": ["glob_private_simple"]}},
"root": "0:0:1565"
}
Produces an output with references to non existant items:
0:3:1564and0:1:1563{ "crate_version": null, "external_crates": {}, "format_version": 18, "includes_private": false, "index": { "0:0:1565": { "crate_id": 0, "id": "0:0:1565", "inner": {"is_crate": true, "is_stripped": false, "items": ["0:5", "0:6"]}, "kind": "module", "name": "glob_private_simple", "visibility": "public" }, "0:5": { "crate_id": 0, "id": "0:5", "inner": {"glob": true, "id": "0:3:1564", "name": "m2", "source": "m2"}, "kind": "import", "name": null, "visibility": "public" }, "0:6": { "crate_id": 0, "id": "0:6", "inner": {"glob": true, "id": "0:1:1563", "name": "m1", "source": "m1"}, "kind": "import", "name": null, "visibility": "public" } }, "root": "0:0:1565" }Full
{ "crate_version": null, "external_crates": {}, "format_version": 18, "includes_private": false, "index": { "0:0:1565": { "attrs": ["#![feature(no_core)]", "#![no_core]"], "crate_id": 0, "deprecation": null, "docs": null, "id": "0:0:1565", "inner": {"is_crate": true, "is_stripped": false, "items": ["0:5", "0:6"]}, "kind": "module", "links": {}, "name": "glob_private_simple", "span": { "begin": [1, 0], "end": [12, 14], "filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs" }, "visibility": "public" }, "0:5": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": "0:5", "inner": {"glob": true, "id": "0:3:1564", "name": "m2", "source": "m2"}, "kind": "import", "links": {}, "name": null, "span": { "begin": [11, 0], "end": [11, 14], "filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs" }, "visibility": "public" }, "0:6": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": "0:6", "inner": {"glob": true, "id": "0:1:1563", "name": "m1", "source": "m1"}, "kind": "import", "links": {}, "name": null, "span": { "begin": [12, 0], "end": [12, 14], "filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs" }, "visibility": "public" } }, "paths": {"0:0:1565": {"crate_id": 0, "kind": "module", "path": ["glob_private_simple"]}}, "root": "0:0:1565" }If you remove one of the imports, everything is fine
{ "crate_version": null, "external_crates": {}, "format_version": 18, "includes_private": false, "index": { "0:0:1565": { "crate_id": 0, "id": "0:0:1565", "inner": {"is_crate": true, "is_stripped": false, "items": ["0:5"]}, "kind": "module", "name": "glob_private_simple", "visibility": "public" }, "0:3:1564": { "crate_id": 0, "id": "0:3:1564", "inner": {"is_crate": false, "is_stripped": true, "items": ["0:4:630"]}, "kind": "module", "name": "m2", "visibility": "crate" }, "0:4:630": { "crate_id": 0, "id": "0:4:630", "inner": { ... }, "kind": "function", "name": "f", "visibility": "public" }, "0:5": { "crate_id": 0, "id": "0:5", "inner": {"glob": true, "id": "0:3:1564", "name": "m2", "source": "m2"}, "kind": "import", "name": null, "visibility": "public" } }, "root": "0:0:1565" }Full
{ "crate_version": null, "external_crates": {}, "format_version": 18, "includes_private": false, "index": { "0:0:1565": { "attrs": ["#![feature(no_core)]", "#![no_core]"], "crate_id": 0, "deprecation": null, "docs": null, "id": "0:0:1565", "inner": {"is_crate": true, "is_stripped": false, "items": ["0:5"]}, "kind": "module", "links": {}, "name": "glob_private_simple", "span": { "begin": [1, 0], "end": [11, 14], "filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs" }, "visibility": "public" }, "0:3:1564": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": "0:3:1564", "inner": {"is_crate": false, "is_stripped": true, "items": ["0:4:630"]}, "kind": "module", "links": {}, "name": "m2", "span": { "begin": [7, 0], "end": [7, 6], "filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs" }, "visibility": "crate" }, "0:4:630": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": "0:4:630", "inner": { "decl": { "c_variadic": false, "inputs": [["_", {"inner": "u8", "kind": "primitive"}]], "output": null }, "generics": {"params": [], "where_predicates": []}, "header": {"abi": "Rust", "async": false, "const": false, "unsafe": false} }, "kind": "function", "links": {}, "name": "f", "span": { "begin": [8, 4], "end": [8, 22], "filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs" }, "visibility": "public" }, "0:5": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": "0:5", "inner": {"glob": true, "id": "0:3:1564", "name": "m2", "source": "m2"}, "kind": "import", "links": {}, "name": null, "span": { "begin": [11, 0], "end": [11, 14], "filename": "/home/nixon/dev/rust/rust/src/test/rustdoc-json/reexport/glob_private_simple.rs" }, "visibility": "public" } }, "paths": {"0:0:1565": {"crate_id": 0, "kind": "module", "path": ["glob_private_simple"]}}, "root": "0:0:1565" }This should have been caught by
check_missing_items.py, but wasn't. Instead is was caught byjsondoclint, a rust based replacement (PR soon).@rustbot modify labels: +A-rustdoc-json +T-rustdoc