{"record":{"id":"6c816693d0466c0e","repo":"zed-industries/zed","slug":"meta-schema-should-be-present-in-schemars-settings","errorCode":null,"errorMessage":"meta_schema should be present in schemars settings","messagePattern":"meta_schema should be present in schemars settings","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/json_schema_store/src/json_schema_store.rs","lineNumber":559,"sourceCode":"\n    let Some(defs) = schema.get_mut(\"$defs\").and_then(|d| d.as_object_mut()) else {\n        return;\n    };\n    let schema_name = settings::FeatureFlagsMap::schema_name();\n    let enriched = feature_flags::generate_feature_flags_schema().to_value();\n    defs.insert(schema_name.into_owned(), enriched);\n}\n\nfn generate_jsonc_schema() -> serde_json::Value {\n    let generator = schemars::generate::SchemaSettings::draft2019_09()\n        .with_transform(DefaultDenyUnknownFields)\n        .with_transform(AllowTrailingCommas)\n        .into_generator();\n    let meta_schema = generator\n        .settings()\n        .meta_schema\n        .as_ref()\n        .expect(\"meta_schema should be present in schemars settings\")\n        .to_string();\n    let defs = generator.definitions();\n    let schema = schemars::json_schema!({\n        \"$schema\": meta_schema,\n        \"allowTrailingCommas\": true,\n        \"$defs\": defs,\n    });\n    serde_json::to_value(schema).unwrap()\n}\n\n#[cfg(debug_assertions)]\nfn generate_inspector_style_schema() -> serde_json::Value {\n    let schema = schemars::generate::SchemaSettings::draft2019_09()\n        .with_transform(util::schemars::DefaultDenyUnknownFields)\n        .into_generator()\n        .root_schema_for::<gpui::StyleRefinement>();\n\n    serde_json::to_value(schema).unwrap()","sourceCodeStart":541,"sourceCodeEnd":577,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/json_schema_store/src/json_schema_store.rs#L541-L577","documentation":"Asserts that the schemars draft2019-09 generator settings expose a meta_schema URL; normalize_action_name (and the schema generation helpers it feeds) rely on it to tag generated schemas. Failure means schemars changed or was configured such that meta_schema is None — a version/dependency mismatch rather than bad user input.","triggerScenarios":"Thrown at crates/json_schema_store/src/json_schema_store.rs:559 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pin or upgrade schemars to a version whose draft2019_09 settings always provide meta_schema","Replace the unwrap with a fallback meta-schema URL constant if the setting is optional","Add a compile-time test asserting meta_schema().is_some() for the configured settings"],"exampleFix":null,"handlingStrategy":"fallback","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"}