{"record":{"id":"f40a1e755774d1b7","repo":"bevyengine/bevy","slug":"parley-customofflow-is-not-supported","errorCode":null,"errorMessage":"parley::CustomOfFlow is not supported.","messagePattern":"parley::CustomOfFlow is not supported\\.","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"critical","filePath":"crates/bevy_text/src/inline_box.rs","lineNumber":46,"sourceCode":"    OutOfFlow,\n}\n\nimpl From<InlineBoxKind> for parley::InlineBoxKind {\n    fn from(inline_box_kind: InlineBoxKind) -> parley::InlineBoxKind {\n        match inline_box_kind {\n            InlineBoxKind::InFlow => parley::InlineBoxKind::InFlow,\n            InlineBoxKind::OutOfFlow => parley::InlineBoxKind::OutOfFlow,\n        }\n    }\n}\n\nimpl From<parley::InlineBoxKind> for InlineBoxKind {\n    fn from(inline_box_kind: parley::InlineBoxKind) -> InlineBoxKind {\n        match inline_box_kind {\n            parley::InlineBoxKind::InFlow => InlineBoxKind::InFlow,\n            parley::InlineBoxKind::OutOfFlow => InlineBoxKind::OutOfFlow,\n            parley::InlineBoxKind::CustomOutOfFlow => {\n                unimplemented!(\"parley::CustomOfFlow is not supported.\")\n            }\n        }\n    }\n}\n","sourceCodeStart":28,"sourceCodeEnd":51,"githubUrl":"https://github.com/bevyengine/bevy/blob/8d743eb7dc7fcff57a7d5744d0bbf89620b1b145/crates/bevy_text/src/inline_box.rs#L28-L51","documentation":"The From<parley::InlineBoxKind> for InlineBoxKind conversion in bevy_text panics with unimplemented!() when parley reports an InlineBoxKind::CustomOutOfFlow. Bevy has no mapping for this parley variant, so any inline box carrying it is treated as an unimplemented code path.","triggerScenarios":"Rendering text containing inline boxes where parley classifies the box as CustomOutOfFlow — i.e. an out-of-flow inline box with a custom placement kind passed through from a parley layout to bevy_text's conversion.","commonSituations":"Upgrading parley to a version that added the CustomOutOfFlow variant while bevy_text's match was not extended; feeding text content or layout configuration that produces custom out-of-flow inline boxes (e.g. advanced inline layout features).","solutions":["Upgrade (or downgrade) bevy and parley to compatible versions where the variant is handled or never produced","Avoid generating CustomOutOfFlow inline boxes in the text layout inputs","If authoring bevy itself, extend the match arm in inline_box.rs to map the variant (e.g. treat it as OutOfFlow or add a dedicated variant)","Track/report the upstream issue so the conversion gets a real implementation"],"exampleFix":"// before\nparley::InlineBoxKind::CustomOutOfFlow => {\n    unimplemented!(\"parley::CustomOfFlow is not supported.\")\n}\n// after\nparley::InlineBoxKind::CustomOutOfFlow => InlineBoxKind::OutOfFlow,","handlingStrategy":"try-catch","validationCode":"// Bevy has no public pre-check; avoid parley InlineBoxKind::CustomOutOfFlow inputs.\nfn is_supported(kind: parley::InlineBoxKind) -> bool {\n    !matches!(kind, parley::InlineBoxKind::CustomOutOfFlow)\n}","typeGuard":null,"tryCatchPattern":"// This is a panic (unimplemented!), not a Result — catch with a hook or avoid the input:\nstd::panic::catch_unwind(|| convert_inline_box(kind))\n    .unwrap_or(InlineBoxKind::OutOfFlow)","preventionTips":["Keep bevy and parley versions matched to a known-compatible pairing","Reject or remap CustomOutOfFlow inline boxes before feeding parley output into bevy_text","Run text rendering in tests when upgrading parley to catch new variants early","Prefer mapping unknown variants to a safe default instead of panicking if you patch bevy_text"],"tags":["bevy","bevy-text","parley","panic","unimplemented"],"backgroundTag":"unsupported-enum-value","analyzedSha":"8d743eb7dc7fcff57a7d5744d0bbf89620b1b145","analyzedAt":"2026-09-13T03:07:18.343Z","contentChangedAt":"2026-09-13T03:07:18.343Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}