{"record":{"id":"fe229c1dbdc6ffa2","repo":"pola-rs/polars","slug":"didn-t-understand-polars-expr-attribute","errorCode":null,"errorMessage":"didn't understand polars_expr attribute","messagePattern":"didn't understand polars_expr attribute","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pyo3-polars/pyo3-polars-derive/src/lib.rs","lineNumber":275,"sourceCode":"            let out = polars_arrow::ffi::export_field_to_c(&out.to_arrow(polars_core::datatypes::CompatLevel::newest()));\n            *return_value = out;\n        }\n    )\n}\n\n#[proc_macro_attribute]\npub fn polars_expr(attr: TokenStream, input: TokenStream) -> TokenStream {\n    let ast = parse_macro_input!(input as syn::ItemFn);\n\n    let options = parse_macro_input!(attr as attr::ExprsFunctionOptions);\n    let expanded_field_fn = if let Some(fn_name) = options.output_type_fn {\n        create_field_function(&ast.sig.ident, &fn_name, false)\n    } else if let Some(fn_name) = options.output_type_fn_kwargs {\n        create_field_function(&ast.sig.ident, &fn_name, true)\n    } else if let Some(dtype) = options.output_dtype {\n        create_field_function_from_with_dtype(&ast.sig.ident, dtype)\n    } else {\n        panic!(\"didn't understand polars_expr attribute\")\n    };\n\n    let expanded_expr = create_expression_function(ast);\n    let expanded = quote!(\n        #expanded_field_fn\n\n        #expanded_expr\n    );\n    TokenStream::from(expanded)\n}\n","sourceCodeStart":257,"sourceCodeEnd":286,"githubUrl":"https://github.com/pola-rs/polars/blob/9b5d73fd00236295624374b075d16b1fe6ec6df9/pyo3-polars/pyo3-polars-derive/src/lib.rs#L257-L286","documentation":"Proc-macro parse failure for the #[polars_expr] attribute: the attribute TokenStream failed to parse as ExprsFunctionOptions (unrecognised option key or malformed syntax), so the input is rejected with this generic marker via parse_macro_input.","triggerScenarios":"Thrown at pyo3-polars/pyo3-polars-derive/src/lib.rs:275 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the syntax of the `polars_expr` attribute against the documented forms and fix it."],"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-14T05:17:10.506Z"}