{"record":{"id":"110398b2647ee204","repo":"zed-industries/zed","slug":"output-is-table","errorCode":null,"errorMessage":"output is table","messagePattern":"output is table","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/docs_preprocessor/src/main.rs","lineNumber":691,"sourceCode":"                err\n            );\n            ActionManifest {\n                actions: Vec::new(),\n                schema_definitions: serde_json::Map::new(),\n            }\n        }\n    }\n}\n\nfn handle_postprocessing() -> Result<()> {\n    let logger = zlog::scoped!(\"render\");\n    let mut ctx = mdbook::renderer::RenderContext::from_json(io::stdin())?;\n    let output = ctx\n        .config\n        .get_mut(\"output\")\n        .expect(\"has output\")\n        .as_table_mut()\n        .expect(\"output is table\");\n    let zed_html = output.remove(\"zed-html\").expect(\"zed-html output defined\");\n    let redirects = zed_html\n        .get(\"redirect\")\n        .and_then(|redirects| redirects.as_table())\n        .map(|redirects| {\n            redirects\n                .iter()\n                .filter_map(|(source, destination)| {\n                    destination\n                        .as_str()\n                        .map(|destination| (source.clone(), destination.to_string()))\n                })\n                .collect::<Vec<_>>()\n        });\n    let default_description = zed_html\n        .get(\"default-description\")\n        .expect(\"Default description not found\")\n        .as_str()","sourceCodeStart":673,"sourceCodeEnd":709,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/docs_preprocessor/src/main.rs#L673-L709","documentation":"Panics in handle_postprocessing when the mdbook config's `output` entry is not a TOML table (e.g. it is a string). The zed-html postprocessing expects output backends defined as tables so per-backend settings like redirect/default-description can be read.","triggerScenarios":"Thrown at crates/docs_preprocessor/src/main.rs:691 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix book.toml so `[output.*]` entries are tables, not inline strings","Run `mdbook build` with a stock configuration to validate the TOML shape"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}