{"record":{"id":"8d0b209aa1cae150","repo":"DioxusLabs/dioxus","slug":"failed-to-merge-inline-config-err","errorCode":null,"errorMessage":"Failed to merge inline config: {err}","messagePattern":"Failed to merge inline config: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/cli/src/workspace.rs","lineNumber":486,"sourceCode":"        // Load base config from Dioxus.toml (if it exists)\n        let base_config: Option<DioxusConfig> = match &dioxus_conf_file {\n            Some(path) => {\n                let content = std::fs::read_to_string(path)?;\n                Some(toml::from_str(&content).map_err(|err| {\n                    anyhow::anyhow!(\"Failed to parse Dioxus.toml at {path:?}: {err}\")\n                })?)\n            }\n            None => None,\n        };\n\n        // Extract inline config from source file (if provided)\n        let inline_config = source_file.and_then(crate::config::extract_inline_config_from_file);\n\n        // Merge configs: inline overrides base\n        match (base_config, inline_config) {\n            (Some(base), Some(inline)) => crate::config::merge_with_inline_config(&base, inline)\n                .map(Some)\n                .map_err(|err| anyhow::anyhow!(\"Failed to merge inline config: {err}\")),\n            (Some(base), None) => Ok(Some(base)),\n            (None, Some(inline)) => {\n                // No Dioxus.toml, but we have inline config - use defaults + inline\n                let base = DioxusConfig::default();\n                crate::config::merge_with_inline_config(&base, inline)\n                    .map(Some)\n                    .map_err(|err| anyhow::anyhow!(\"Failed to merge inline config: {err}\"))\n            }\n            (None, None) => Ok(None),\n        }\n    }\n\n    /// Create a new gitignore map for this target crate\n    ///\n    /// todo(jon): this is a bit expensive to build, so maybe we should cache it?\n    pub fn workspace_gitignore(workspace_dir: &Path) -> Gitignore {\n        let mut ignore_builder = ignore::gitignore::GitignoreBuilder::new(workspace_dir);\n        ignore_builder.add(workspace_dir.join(\".gitignore\"));","sourceCodeStart":468,"sourceCodeEnd":504,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/cli/src/workspace.rs#L468-L504","documentation":"Raised in load_dioxus_config when the inline dioxus config embedded in the source file (via extract_inline_config_from_) fails to deserialize; {err} carries the TOML/deser detail. The faulting input is the inline `dioxus::Config` block in the Rust source, not Dioxus.toml.","triggerScenarios":"Thrown at packages/cli/src/workspace.rs:486 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The inline config could not be merged. Fix the inline config values passed to dx."],"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-14T05:17:10.506Z"}