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]

Reply via email to