|
1 | 1 | import sys |
2 | 2 | from _pydevd_bundle.pydevd_constants import IS_PY312_OR_GREATER, \ |
3 | | - IS_PY311_OR_GREATER, IS_PY313_OR_GREATER |
| 3 | + IS_PY311_OR_GREATER, IS_PY313_OR_GREATER, IS_PY314_OR_GREATER |
4 | 4 | try: |
5 | 5 | from _pydevd_bundle import pydevd_bytecode_utils |
6 | 6 | except ImportError: |
@@ -585,7 +585,17 @@ def function(): |
585 | 585 | found = collect_smart_step_into_variants( |
586 | 586 | frame, 0, 99999, base=function.__code__.co_firstlineno) |
587 | 587 |
|
588 | | - if IS_PY311_OR_GREATER: |
| 588 | + if IS_PY314_OR_GREATER: |
| 589 | + # 3.14 reports generator expr and tuple as separate step-into targets |
| 590 | + check_name_and_line(found, [ |
| 591 | + ('sys._getframe()', 1), |
| 592 | + ('(\n x for x in\n c()\n if x == d()\n )', 2), |
| 593 | + ('tuple', 2), |
| 594 | + ('tuple(\n x for x in\n c()\n if x == d()\n )', 2), |
| 595 | + ('c()', 4), |
| 596 | + ('d() (in (\n x for x in\n c()\n if x == d()\n ))', 5) |
| 597 | + ]) |
| 598 | + elif IS_PY311_OR_GREATER: |
589 | 599 | check_name_and_line(found, [ |
590 | 600 | ('sys._getframe()', 1), |
591 | 601 | ('tuple(\n x for x in\n c()\n if x == d()\n )', 2), |
|
0 commit comments