{"record":{"id":"7f56381019adb535","repo":"slint-ui/slint","slug":"components-written-in-rust-can-not-get-embedded-ye","errorCode":null,"errorMessage":"Components written in Rust can not get embedded yet.","messagePattern":"Components written in Rust can not get embedded yet\\.","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/compiler/generator/rust.rs","lineNumber":2317,"sourceCode":"        quote!(SharedGlobals::new(sp::VRc::downgrade(&self_dyn_rc)))\n    };\n    // The root component owns the freshly created `SharedGlobals` and is responsible for running\n    // its eager initialization. The root's own `globals` field must be set *before* that init\n    // runs, because a global binding (e.g. `Palette.color-scheme`) may resolve the root's window\n    // adapter through `globals` during evaluation. Popups and sub-components receive an already\n    // initialized `SharedGlobals`, so they skip this step.\n    let set_and_init_globals = if is_root_component {\n        quote!(\n            let _ = sp::VRc::map(self_rc.clone(), |x| x).as_pin_ref().globals.set(globals.clone());\n            globals.init_globals();\n        )\n    } else {\n        quote!()\n    };\n    let globals_arg = is_popup.then(|| quote!(globals: sp::Rc<SharedGlobals>));\n\n    let embedding_function = if parent_ctx.is_some() {\n        quote!(todo!(\"Components written in Rust can not get embedded yet.\"))\n    } else {\n        quote!(false)\n    };\n\n    let parent_item_expression = parent_ctx.map(|parent| parent.repeater_index.map_or_else(|| {\n        // No repeater index, this could be a PopupWindow\n        quote!{\n            if let Some(parent_rc) = self.parent.clone().upgrade() {\n                let parent_origin = sp::VRcMapped::origin(&parent_rc);\n                // TODO: store popup index in ctx and set it here instead of 0?\n                *_result = sp::ItemRc::new_root(parent_origin).downgrade();\n            }\n        }\n    }, |idx| {\n        let current_sub_component = &root.sub_components[parent.sub_component];\n        let sub_component_offset = current_sub_component.repeated[idx].index_in_tree;\n\n        quote!{","sourceCodeStart":2299,"sourceCodeEnd":2335,"githubUrl":"https://github.com/slint-ui/slint/blob/3fd8f2ec03c2aa8a95d5f4b9daa299c7b8bf4016/internal/compiler/generator/rust.rs#L2299-L2335","documentation":"Error \"Components written in Rust can not get embedded yet.\" thrown in slint-ui/slint.","triggerScenarios":"Thrown at internal/compiler/generator/rust.rs:2317 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Write the component in .slint instead of pure Rust to allow embedding.","Avoid embedding Rust-only components."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3fd8f2ec03c2aa8a95d5f4b9daa299c7b8bf4016","analyzedAt":"2026-08-19T23:23:16.610Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}