- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 33.3k
Closed
Labels
3.12only security fixesonly security fixes3.13bugs and security fixesbugs and security fixesrelease-blockerstdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
I observed different behavior for Enum __contains__ in 3.13.2 and 3.13.3 if there is _missing_ method implemented:
from enum import Enum
class Color(Enum):
    RED = 1
    
    @classmethod
    def _missing_(cls, value):
        return cls.RED
# 3.13.2
>>> "blue" in Color
False
# 3.13.3
>>> "blue" in Color
TrueIMO _missing_ should only influence the __call__ method:
# both 3.13.2 and 3.13.3
>>> Color("blue")
<Color.RED: 1>CPython versions tested on:
3.13
Operating systems tested on:
macOS
Linked PRs
Metadata
Metadata
Assignees
Labels
3.12only security fixesonly security fixes3.13bugs and security fixesbugs and security fixesrelease-blockerstdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Projects
Status
Done