{"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":null,"httpStatus":null,"severity":"error","filePath":"crates/ruff_workspace/src/configuration.rs","lineNumber":1810,"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":1792,"sourceCodeEnd":1828,"githubUrl":"https://github.com/astral-sh/ruff/blob/26f38c119cac42e4d320ba08f09224fdec74af2c/crates/ruff_workspace/src/configuration.rs#L1792-L1828","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:1810 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Alias the required import as AbstractSet in lint.isort.required-imports","Disable PYI025 (unaliased-collections-abc-set-import)"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"26f38c119cac42e4d320ba08f09224fdec74af2c","analyzedAt":"2026-09-05T10:32:37.492Z","contentChangedAt":"2026-09-05T10:32:37.492Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}