@@ -334,9 +334,11 @@ class AliasesFlag(IntFlagProperties):
334334 A = 1 << 0 , "a"
335335 B = 1 << 1 , "b"
336336 C = 1 << 2 , "c"
337+
337338 AB = A | B , "ab"
338339 BC = B | C , "bc"
339340 ABC = A | B | C , "abc"
341+
340342 AA = A , "aa"
341343 BB = B , "bb"
342344
@@ -436,13 +438,19 @@ class AliasesFlag(FlagChoices):
436438 A = 1 << 0 , "a"
437439 B = 1 << 1 , "b"
438440 C = 1 << 2 , "c"
439- AB = A [0 ] | B [0 ], "ab"
440- BC = B [0 ] | C [0 ], "bc"
441- ABC = A [0 ] | B [0 ] | C [0 ], "abc"
441+
442+ if sys .version_info [:2 ] >= (3 , 14 ):
443+ AB = A | B , "ab"
444+ BC = B | C , "bc"
445+ ABC = A | B | C , "abc"
446+ else :
447+ AB = A [0 ] | B [0 ], "ab"
448+ BC = B [0 ] | C [0 ], "bc"
449+ ABC = A [0 ] | B [0 ] | C [0 ], "abc"
442450
443451 @property
444452 def not_a_member (self ):
445- return self .A [ 0 ] | self .B [ 0 ] | self .C [ 0 ]
453+ return self .A | self .B | self .C
446454
447455 self .assertEqual (
448456 list (members (NoAliasesFlag )),
@@ -470,3 +478,40 @@ def not_a_member(self):
470478 AliasesFlag .ABC ,
471479 ],
472480 )
481+
482+ class AliasesFlagWithProp (FlagChoices ):
483+ prop : bool
484+
485+ A = 1 << 0 , "a" , False
486+ B = 1 << 1 , "b" , False
487+ C = 1 << 2 , "c" , False
488+
489+ if sys .version_info [:2 ] >= (3 , 14 ):
490+ AB = A | B , "ab" , True
491+ BC = B | C , "bc" , True
492+ ABC = A | B | C , "abc" , True
493+ else :
494+ AB = A [0 ] | B [0 ], "ab" , True
495+ BC = B [0 ] | C [0 ], "bc" , True
496+ ABC = A [0 ] | B [0 ] | C [0 ], "abc" , True
497+
498+ @property
499+ def not_a_member (self ):
500+ return self .A | self .B | self .C
501+
502+ self .assertEqual (
503+ list (members (AliasesFlagWithProp , aliases = False )),
504+ [AliasesFlagWithProp .A , AliasesFlagWithProp .B , AliasesFlagWithProp .C ],
505+ )
506+
507+ self .assertEqual (
508+ list (members (AliasesFlagWithProp )),
509+ [
510+ AliasesFlagWithProp .A ,
511+ AliasesFlagWithProp .B ,
512+ AliasesFlagWithProp .C ,
513+ AliasesFlagWithProp .AB ,
514+ AliasesFlagWithProp .BC ,
515+ AliasesFlagWithProp .ABC ,
516+ ],
517+ )
0 commit comments