router
router copied to clipboard
[JSONSelection] Reenable `->` method shape checking and fully implement `math_shape`
Although we have not made them public yet, one precondition for shipping the arithmetic methods (->add, ->sub, ->mul, ->div, and ->mod) is fully implementing the code responsible for statically determining the output "shape" of each method (given input/argument shapes), which in this case is always Int, Float, or possibly a Error if the input/argument shapes are not acceptable.
This PR provides this implementation for math_shape, but in order to make these changes meaningful/testable, I've also included a commit that reenables method shape checking as part of PathList::compute_output_shape, aligning it better with the runtime changes to PathList::apply_to_path from PR #7144, and resolving this open JIRA task (see commit messages for more details).