zed-industries/zed · error
meta_schema should be present in schemars settings
Error message
meta_schema should be present in schemars settings
What it means
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.
Source
Thrown at crates/json_schema_store/src/json_schema_store.rs:559
let Some(defs) = schema.get_mut("$defs").and_then(|d| d.as_object_mut()) else {
return;
};
let schema_name = settings::FeatureFlagsMap::schema_name();
let enriched = feature_flags::generate_feature_flags_schema().to_value();
defs.insert(schema_name.into_owned(), enriched);
}
fn generate_jsonc_schema() -> serde_json::Value {
let generator = schemars::generate::SchemaSettings::draft2019_09()
.with_transform(DefaultDenyUnknownFields)
.with_transform(AllowTrailingCommas)
.into_generator();
let meta_schema = generator
.settings()
.meta_schema
.as_ref()
.expect("meta_schema should be present in schemars settings")
.to_string();
let defs = generator.definitions();
let schema = schemars::json_schema!({
"$schema": meta_schema,
"allowTrailingCommas": true,
"$defs": defs,
});
serde_json::to_value(schema).unwrap()
}
#[cfg(debug_assertions)]
fn generate_inspector_style_schema() -> serde_json::Value {
let schema = schemars::generate::SchemaSettings::draft2019_09()
.with_transform(util::schemars::DefaultDenyUnknownFields)
.into_generator()
.root_schema_for::<gpui::StyleRefinement>();
serde_json::to_value(schema).unwrap()View on GitHub (pinned to f4178619ac)
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
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/json_schema_store/src/json_schema_store.rs:559 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/6c816693d0466c0e.
Report an issue: GitHub.