brunal opened a new pull request, #9454: URL: https://github.com/apache/arrow-rs/pull/9454
The original definition parses the whole "non-primitive" expression tree in detail. Additionally, the macro is recursive. As a consequence, calling the macro with many "non-primitive" branches and right-hand sides is expensive. In practice, this causes rust-analyzer to choke on some uses of the macro (e.g. in arrow-ord/src/cmp.rs). Increasing the recursion limit up to 10k does not solve it (and higher limits causes rust-analyzer to crash). The simple solution is to stop destructuring the "non-primitive" tree: just make it a tt*. The inner downcast_primitive_array_helper!() macro will parse it once in turn. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
