Commit 018c0e8
[ty] Detect enums if metaclass is a subtype of EnumType/EnumMeta (#19481)
## Summary
This PR implements the following section from the [typing spec on
enums](https://typing.python.org/en/latest/spec/enums.html#enum-definition):
> Enum classes can also be defined using a subclass of `enum.Enum` **or
any class that uses `enum.EnumType` (or a subclass thereof) as a
metaclass**. Note that `enum.EnumType` was named `enum.EnumMeta` prior
to Python 3.11.
part of astral-sh/ty#183
## Test Plan
New Markdown tests1 parent f122273 commit 018c0e8
3 files changed
+104
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
561 | 561 | | |
562 | 562 | | |
563 | 563 | | |
564 | | - | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
565 | 641 | | |
566 | 642 | | |
567 | 643 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2656 | 2656 | | |
2657 | 2657 | | |
2658 | 2658 | | |
| 2659 | + | |
2659 | 2660 | | |
2660 | 2661 | | |
2661 | 2662 | | |
| |||
2781 | 2782 | | |
2782 | 2783 | | |
2783 | 2784 | | |
| 2785 | + | |
2784 | 2786 | | |
2785 | 2787 | | |
2786 | 2788 | | |
| |||
2865 | 2867 | | |
2866 | 2868 | | |
2867 | 2869 | | |
| 2870 | + | |
2868 | 2871 | | |
2869 | 2872 | | |
2870 | 2873 | | |
| |||
2914 | 2917 | | |
2915 | 2918 | | |
2916 | 2919 | | |
| 2920 | + | |
2917 | 2921 | | |
2918 | 2922 | | |
2919 | 2923 | | |
| |||
3022 | 3026 | | |
3023 | 3027 | | |
3024 | 3028 | | |
| 3029 | + | |
3025 | 3030 | | |
3026 | 3031 | | |
3027 | 3032 | | |
| |||
3091 | 3096 | | |
3092 | 3097 | | |
3093 | 3098 | | |
| 3099 | + | |
| 3100 | + | |
| 3101 | + | |
| 3102 | + | |
| 3103 | + | |
| 3104 | + | |
| 3105 | + | |
3094 | 3106 | | |
3095 | 3107 | | |
3096 | 3108 | | |
| |||
3316 | 3328 | | |
3317 | 3329 | | |
3318 | 3330 | | |
3319 | | - | |
| 3331 | + | |
| 3332 | + | |
| 3333 | + | |
3320 | 3334 | | |
3321 | 3335 | | |
3322 | 3336 | | |
| |||
3432 | 3446 | | |
3433 | 3447 | | |
3434 | 3448 | | |
| 3449 | + | |
3435 | 3450 | | |
3436 | 3451 | | |
3437 | 3452 | | |
| |||
3505 | 3520 | | |
3506 | 3521 | | |
3507 | 3522 | | |
| 3523 | + | |
3508 | 3524 | | |
3509 | 3525 | | |
3510 | 3526 | | |
| |||
3583 | 3599 | | |
3584 | 3600 | | |
3585 | 3601 | | |
| 3602 | + | |
| 3603 | + | |
| 3604 | + | |
| 3605 | + | |
3586 | 3606 | | |
3587 | 3607 | | |
3588 | 3608 | | |
| |||
3647 | 3667 | | |
3648 | 3668 | | |
3649 | 3669 | | |
| 3670 | + | |
3650 | 3671 | | |
3651 | 3672 | | |
3652 | 3673 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
70 | | - | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
71 | 74 | | |
72 | 75 | | |
73 | 76 | | |
| |||
0 commit comments