[mypyc] feat: extend `get_expr_length` for `enumerate`, `map`, `zip`, `range`, `list`, `tuple`, `sorted`, and `reversed` CallExpr [3/4]
This PR is pretty simple, I just extended get_expr_length to work for a few more obvious cases:
-
builtins.enumerate -
builtins.map -
builtins.zip -
builtins.range -
builtins.list -
builtins.tuple -
builtins.sorted -
builtins.reversed
This PR is ready for review. Are you going to want tests for all of these? I didn't want to spend time now until I know for sure.
All of the get_expr_length PRs are entirely independent and can be reviewed/merged in any order.
I added an IR test that covers a few of these, and I learned we need to merge #19935 before we can use it how I intended for the test. For now I'm leaving the test in just so it can be compared to #19935
The IR in #19935 is much cleaner, you'll see a r1 = PyTuple_New(5) which shows that the code from the PR did its job.
I added an IR test that covers a few of these, and I learned we need to merge #19935 before we can use it how I intended for the test. For now I'm leaving the test in just so it can be compared to #19935
The IR in #19935 is much cleaner, you'll see a r1 = PyTuple_New(5) which shows that the code from the PR did its job.
@JukkaL FYI wrt the IR
Easiest path forward is probably merging this one first, given that #19935 proves that the specific change to our length logic IS successful, even though it doesn't show on the current IR test, and then letting me rebase #19935 on top of master which will correct the IR test from this PR when we merge it.