{"record":{"id":"c0018fe7a8ed8347","repo":"pola-rs/polars","slug":"this-tool-requires-the-dsl-schema-feature","errorCode":null,"errorMessage":"this tool requires the `dsl-schema` feature","messagePattern":"this tool requires the `dsl-schema` feature","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/polars-plan/src/bin/dsl-schema.rs","lineNumber":22,"sourceCode":"//! `dsl-schema [generate|update-hashes|check-hashes] [PATH]`\n//! - `generate` the DSL schema as a full JSON file in the current directory\n//! - `update-hashes` stored in the schema hashes file,\n//! - `check-hashes` in the schema hashes file against the hashes from the code.\n//!\n//! The generated schema is affected by active features. To use a complete schema, first build\n//! the whole workspace with all features:\n//! ```sh\n//! cargo build --all-features\n//! ./target/debug/dsl-schema update-hashes\n//! ./target/debug/dsl-schema check-hashes\n//!\n//! The tool has the code schema built-in. After code changes, you need to run\n//! `cargo build --all-features` again.\n//! ```\n\nfn main() {\n    #[cfg(not(feature = \"dsl-schema\"))]\n    panic!(\"this tool requires the `dsl-schema` feature\");\n\n    #[cfg(feature = \"dsl-schema\")]\n    {\n        impls::run();\n    }\n}\n\n#[cfg(feature = \"dsl-schema\")]\nmod impls {\n    use std::fs::File;\n    use std::io::Write;\n    use std::path::Path;\n\n    use polars_plan::dsl::DslPlan;\n    use schemars::Schema;\n    use sha2::Digest;\n\n    const DEFAULT_HASHES_PATH: &str = \"crates/polars-plan/dsl-schema-hashes.json\";","sourceCodeStart":4,"sourceCodeEnd":40,"githubUrl":"https://github.com/pola-rs/polars/blob/9b5d73fd00236295624374b075d16b1fe6ec6df9/crates/polars-plan/src/bin/dsl-schema.rs#L4-L40","documentation":"Panic in the dsl-schema binary: it was built without the dsl-schema cargo feature, so the schema-generation implementation is compiled out and running it always fails. Rebuild polars-plan with --features dsl-schema.","triggerScenarios":"This panic/expect fires when execution reaches an unguarded state described by: \"this tool requires the `dsl-schema` feature\". Typical triggers: unsupported dtype or feature-gated code path reached at runtime, invalid user input or environment variable value, calling API methods in the wrong order or on mismatched types, or data (lengths, offsets, ranges) violating the function's preconditions.","commonSituations":"Encountered when input data or configuration does not meet the preconditions of the throwing code path (\"this tool requires the `dsl-schema` feature\"). Common cases: missing Cargo feature flags, mismatched dtypes/lengths between arrays or series, out-of-range temporal values, malformed environment variables, or operations on unsupported/complex nested types.","solutions":["Build the dsl-schema tool with the `dsl-schema` cargo feature enabled.","Run the schema maintenance via the project's Makefile/CI target that enables the feature."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b5d73fd00236295624374b075d16b1fe6ec6df9","analyzedAt":"2026-08-19T12:15:06.350Z","contentChangedAt":"2026-08-19T12:15:06.350Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}