{"record":{"id":"32f6e3f6ad0b5f31","repo":"DioxusLabs/dioxus","slug":"op-skip-exceeds-packed-op-capacity","errorCode":null,"errorMessage":"op skip exceeds packed op capacity","messagePattern":"op skip exceeds packed op capacity","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/core-template/src/op.rs","lineNumber":18,"sourceCode":"/// One operation in a flat static template tape.\n#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]\n#[repr(transparent)]\n#[cfg_attr(feature = \"serialize\", derive(serde::Serialize, serde::Deserialize))]\npub(crate) struct TemplateOp(u16);\n\nimpl TemplateOp {\n    const ENTER_MAX_CODE: u16 = 0x7fff;\n    const ATTR_CODE: u16 = 0x8000;\n    const ATTR_CUSTOM_NS_CODE: u16 = 0x8001;\n    const TEXT_CODE: u16 = 0x8002;\n    const STATIC_BASE: u16 = 0x8003;\n    pub(crate) const MAX_CAP: usize = 16_383;\n\n    /// Create a packed enter op.\n    pub(crate) const fn enter(skip: u16, namespace: bool) -> Self {\n        if skip as usize > Self::MAX_CAP {\n            panic!(\"op skip exceeds packed op capacity\");\n        }\n        Self((skip << 1) | namespace as u16)\n    }\n\n    /// Create a packed static attribute op.\n    pub(crate) const fn attr(namespace: bool) -> Self {\n        if namespace {\n            Self(Self::ATTR_CUSTOM_NS_CODE)\n        } else {\n            Self(Self::ATTR_CODE)\n        }\n    }\n\n    /// Create a packed text marker op.\n    pub(crate) const fn text() -> Self {\n        Self(Self::TEXT_CODE)\n    }\n","sourceCodeStart":1,"sourceCodeEnd":36,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/core-template/src/op.rs#L1-L36","documentation":"TemplateOp packs an enter op's child-skip count into a u16 alongside opcode bits, capping it at MAX_CAP (16383). A template element with more skipped children than fits overflows the packed representation, so this guard fires at compile time when the RSX template is lowered.","triggerScenarios":"Thrown at packages/core-template/src/op.rs:18 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Internal template packing limit hit. Split the oversized template into smaller components; if a normal template triggers this, report a bug to dioxus."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}