Fix self check
diff --git a/mypy/plugins/enums.py b/mypy/plugins/enums.py index 1ecc2de..fe118ab 100644 --- a/mypy/plugins/enums.py +++ b/mypy/plugins/enums.py
@@ -157,12 +157,14 @@ # The value-type is still known. if isinstance(ctx.type, Instance): return _infer_enum_value_type(ctx.type.type, ctx) - elif isinstance(ctx.type, UnionType) and all( - isinstance(item, Instance) for item in ctx.type.items - ): - return make_simplified_union( - [_infer_enum_value_type(item.type, ctx) for item in ctx.type.items] - ) + elif isinstance(ctx.type, UnionType): + union_items = [] + for item in ctx.type.items: + proper_item = get_proper_type(item) + if not isinstance(proper_item, Instance): + return ctx.default_attr_type + union_items.append(_infer_enum_value_type(proper_item.type, ctx)) + return make_simplified_union(union_items) return ctx.default_attr_type assert isinstance(ctx.type, Instance)