{"record":{"id":"3d1f6f239a566fcc","repo":"slint-ui/slint","slug":"extrabuiltinfunctioncall-other","errorCode":null,"errorMessage":"ExtraBuiltinFunctionCall `{other}`","messagePattern":"ExtraBuiltinFunctionCall `(.+?)`","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/interpreter/eval_layout.rs","lineNumber":331,"sourceCode":"        \"flexbox_layout_info_cross_axis\" => {\n            let (ch, cv) = (to_cells(&a[0]), to_cells(&a[1]));\n            let fp = to_flex_props(&a[2]);\n            i_slint_core::layout::flexbox_layout_info_cross_axis(\n                Slice::from_slice(&ch),\n                Slice::from_slice(&cv),\n                Slice::from_slice(&fp),\n                to_f32(&a[3]),\n                to_f32(&a[4]),\n                &to_padding(&a[5]),\n                &to_padding(&a[6]),\n                to_enum(&a[7]),\n                to_enum(&a[8]),\n                to_enum(&a[9]),\n                to_f32(&a[10]),\n            )\n            .into()\n        }\n        other => unimplemented!(\"ExtraBuiltinFunctionCall `{other}`\"),\n    }\n}\n\nfn eval_info(ctx: &mut EvalContext, e: &Expression) -> LayoutInfo {\n    eval_expression(ctx, e).try_into().unwrap_or_default()\n}\n\n/// One flexbox cell as seen by the measure callback, after expanding\n/// repeaters (a repeater contributes one entry per instance).\nstruct FlatCell<'a> {\n    kind: FlatCellKind<'a>,\n    w4h_only: bool,\n}\n\nenum FlatCellKind<'a> {\n    Static {\n        h_info: &'a Expression,\n        v_info: &'a Expression,","sourceCodeStart":313,"sourceCodeEnd":349,"githubUrl":"https://github.com/slint-ui/slint/blob/a9ea814a5813e7460fa1a867924872095a4d678d/internal/interpreter/eval_layout.rs#L313-L349","documentation":"eval_layout.rs implements the interpreter's internal 'extra builtin functions' emitted by layout lowering — the big arms evaluate the box/grid layout solving builtins taking float arrays, paddings and enum arguments. Any other builtin name falls through to `unimplemented!(\"ExtraBuiltinFunctionCall `{other}`\")`, panicking when the expression is evaluated. This almost always indicates a compiler/runtime version mismatch: the compiler that produced the expression emits a builtin the interpreter library does not know.","triggerScenarios":"Running .slint through an interpreter (slint-viewer, LSP preview, slintpad, dynamic Python/Node compilation) where the compiled layout lowering calls an extra builtin function not implemented by the interpreter runtime in that binary — e.g. a new/changed grid or flexbox solve signature.","commonSituations":"The i-slint-compiler used by the tool is newer/older than the interpreter runtime executing it (mixed slint crates in one process); a custom tool embedding i-slint-interpreter with a mismatched compiler version; experimental layout features tried in slintpad.","solutions":["Rebuild/reinstall the tool (viewer, LSP, slintpad) so compiler and interpreter crates come from the same slint version.","Check for duplicate slint crate versions in the dependency tree (cargo tree -d) and unify them.","Avoid the layout construct that triggers the call in interpreter contexts until versions match.","Report the builtin name from the panic message upstream if it occurs with fully matched versions."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":["Build viewer/LSP/tools from one slint revision so compiler-emitted builtins always match the interpreter runtime.","Check `cargo tree -d` for duplicate i-slint-* crate versions and unify them.","Avoid experimental layout features in interpreter-run markup until the release notes confirm interpreter support."],"tags":["interpreter","layout","builtin","panic","version-skew"],"backgroundTag":"interpreter-unsupported-expression","analyzedSha":"a9ea814a5813e7460fa1a867924872095a4d678d","analyzedAt":"2026-08-16T22:39:12.830Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}