{"record":{"id":"2bf213abdd7fc476","repo":"astral-sh/ruff","slug":"require-lazy-and-ban-lazy-must-not-overlap-aft","errorCode":null,"errorMessage":"`require-lazy` and `ban-lazy` must not overlap after applying exclusions","messagePattern":"`require-lazy` and `ban-lazy` must not overlap after applying exclusions","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/ruff_workspace/src/options.rs","lineNumber":2210,"sourceCode":"        value_type = r#\"\"all\" | list[str] | { include = \"all\" | list[str], exclude = list[str] }\"#,\n        example = r#\"\n            # Forbid lazy imports for specific modules.\n            ban-lazy = [\"sitecustomize\"]\n\n            # Forbid lazy imports by default, while allowing specific exceptions.\n            ban-lazy = { include = \"all\", exclude = [\"typing\"] }\n        \"#\n    )]\n    ban_lazy: Option<ImportSelector>,\n}\n\nimpl Flake8TidyImportsOptions {\n    pub(crate) fn try_into_settings(self) -> Result<flake8_tidy_imports::settings::Settings> {\n        let require_lazy = self.require_lazy.unwrap_or_default();\n        let ban_lazy = self.ban_lazy.unwrap_or_default();\n\n        if conflicting_lazy_import_settings(&require_lazy, &ban_lazy) {\n            return Err(anyhow!(\n                \"`require-lazy` and `ban-lazy` must not overlap after applying exclusions\"\n            ));\n        }\n\n        Ok(flake8_tidy_imports::settings::Settings {\n            ban_relative_imports: self.ban_relative_imports.unwrap_or(Strictness::Parents),\n            banned_api: self.banned_api.unwrap_or_default(),\n            banned_module_level_imports: self.banned_module_level_imports.unwrap_or_default(),\n            require_lazy,\n            ban_lazy,\n        })\n    }\n}\n\nfn conflicting_lazy_import_settings(\n    require_lazy: &ImportSelector,\n    ban_lazy: &ImportSelector,\n) -> bool {","sourceCodeStart":2192,"sourceCodeEnd":2228,"githubUrl":"https://github.com/astral-sh/ruff/blob/672bb4edf04c84f8b0753346359daee4057158f2/crates/ruff_workspace/src/options.rs#L2192-L2228","documentation":"Error \"`require-lazy` and `ban-lazy` must not overlap after applying exclusions\" thrown in astral-sh/ruff.","triggerScenarios":"Thrown at crates/ruff_workspace/src/options.rs:2210 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"672bb4edf04c84f8b0753346359daee4057158f2","analyzedAt":"2026-08-16T08:54:05.464Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}