{"record":{"id":"8be718d427ce90e2","repo":"astral-sh/ruff","slug":"required-import-from-collections-abc-import-set","errorCode":null,"errorMessage":"Required import `from collections.abc import Set` specified in `lint.isort.required-imports` (I002) conflicts with `unaliased-collections-abc-set-import` (PYI025), which requires this import to be aliased as `AbstractSet`.\n\nHelp: Either alias the required import (`from collections.abc import Set as AbstractSet`), or disable PYI025.","messagePattern":"Required import `from collections\\.abc import Set` specified in `lint\\.isort\\.required-imports` \\(I002\\) conflicts with `unaliased-collections-abc-set-import` \\(PYI025\\), which requires this import to be aliased as `AbstractSet`\\.\n\nHelp: Either alias the required import \\(`from collections\\.abc import Set as AbstractSet`\\), or disable PYI025\\.","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/ruff_workspace/src/configuration.rs","lineNumber":1801,"sourceCode":"/// (unaliased-collections-abc-set-import).\n///\n/// If `required-imports` includes `from collections.abc import Set` (without\n/// aliasing it as `AbstractSet`) and PYI025 is enabled, the configuration is\n/// contradictory: I002 requires the unaliased import, while PYI025 forbids it.\nfn conflicting_required_import_pyi025(\n    isort: &isort::settings::Settings,\n    rules: &RuleTable,\n) -> Result<()> {\n    if !rules.enabled(Rule::UnaliasedCollectionsAbcSetImport) {\n        return Ok(());\n    }\n\n    for required_import in &isort.required_imports {\n        let qualified_name = required_import.qualified_name();\n        if qualified_name.segments() == [\"collections\", \"abc\", \"Set\"]\n            && required_import.bound_name() != \"AbstractSet\"\n        {\n            return Err(anyhow!(\n                \"Required import `from collections.abc import Set` specified in \\\n                `lint.isort.required-imports` (I002) conflicts with \\\n                `unaliased-collections-abc-set-import` (PYI025), which requires \\\n                this import to be aliased as `AbstractSet`.\\n\\n\\\n                Help: Either alias the required import \\\n                (`from collections.abc import Set as AbstractSet`), \\\n                or disable PYI025.\"\n            ));\n        }\n    }\n\n    Ok(())\n}\n\n#[cfg(test)]\nmod tests {\n    use anyhow::Result;\n","sourceCodeStart":1783,"sourceCodeEnd":1819,"githubUrl":"https://github.com/astral-sh/ruff/blob/672bb4edf04c84f8b0753346359daee4057158f2/crates/ruff_workspace/src/configuration.rs#L1783-L1819","documentation":"Error \"Required import `from collections.abc import Set` specified in `lint.isort.required-imports` (I002) conflicts with `unaliased-collections-abc-set-import` (PYI025), which requires this import to be aliased as `AbstractSet`.\n\nHelp: Either alias the required import (`from collections.abc import Set as AbstractSet`), or disable PYI025.\" thrown in astral-sh/ruff.","triggerScenarios":"Thrown at crates/ruff_workspace/src/configuration.rs:1801 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"}