{"record":{"id":"83d38bc53e83bd0a","repo":"pola-rs/polars","slug":"writing-to-parquet-not-yet-implemented","errorCode":null,"errorMessage":"Writing {:?} to parquet not yet implemented","messagePattern":"Writing (.+?) to parquet not yet implemented","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/polars-parquet/src/arrow/write/pages.rs","lineNumber":526,"sourceCode":"                    &mut array_stack,\n                );\n            },\n            P::Null\n            | P::Boolean\n            | P::Primitive(_)\n            | P::Binary\n            | P::FixedSizeBinary\n            | P::LargeBinary\n            | P::Utf8\n            | P::LargeUtf8\n            | P::Dictionary(_)\n            | P::BinaryView\n            | P::Utf8View\n            | P::Struct => {\n                leaves.push(array.with_validity(validity.into()));\n            },\n\n            other => todo!(\"Writing {:?} to parquet not yet implemented\", other),\n        }\n    }\n}\n\n/// Convert `ParquetType` to `Vec<ParquetPrimitiveType>` leaves in DFS order.\npub fn to_parquet_leaves(type_: ParquetType) -> Vec<ParquetPrimitiveType> {\n    let mut leaves = vec![];\n    to_parquet_leaves_recursive(type_, &mut leaves);\n    leaves\n}\n\nfn to_parquet_leaves_recursive(type_: ParquetType, leaves: &mut Vec<ParquetPrimitiveType>) {\n    match type_ {\n        ParquetType::PrimitiveType(primitive) => leaves.push(primitive),\n        ParquetType::GroupType { fields, .. } => {\n            fields\n                .into_iter()\n                .for_each(|type_| to_parquet_leaves_recursive(type_, leaves));","sourceCodeStart":508,"sourceCodeEnd":544,"githubUrl":"https://github.com/pola-rs/polars/blob/68506541d2de983056c9eb244e1ea05fab377dfc/crates/polars-parquet/src/arrow/write/pages.rs#L508-L544","documentation":"todo!() in the parquet page-writing nested-type traversal: the array's physical type matched no supported leaf or nested case (e.g. an unhandled extension or nested encoding), so writing it to parquet is not yet implemented. This is a coverage gap in the writer, not a data-corruption error.","triggerScenarios":"This panic/expect fires when execution reaches an unguarded state described by: \"Writing {:?} to parquet not yet implemented\". 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 (\"Writing {:?} to parquet not yet implemented\"). 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":["Writing this dtype's pages to parquet is not implemented; convert the column (e.g. to List or Struct) before writing.","Use a supported encoding/dtype combination for parquet output."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"68506541d2de983056c9eb244e1ea05fab377dfc","analyzedAt":"2026-08-19T12:15:06.350Z","contentChangedAt":"2026-08-19T12:15:06.350Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}