bkietz commented on a change in pull request #9294: URL: https://github.com/apache/arrow/pull/9294#discussion_r573252657
########## File path: cpp/src/arrow/compute/function.h ########## @@ -162,7 +162,15 @@ class ARROW_EXPORT Function { /// /// NB: This function is overridden in CastFunction. virtual Result<const Kernel*> DispatchExact( - const std::vector<ValueDescr>& values) const = 0; + const std::vector<ValueDescr>& values) const; + + /// \brief Return a best-match kernel that can execute the function given the argument + /// types, after implicit casts are applied. + /// + /// \param[in,out] values Argument types. An element may be modified to indicate that + /// the returned kernel only approximately matches the input value descriptors; callers + /// are responsible for casting inputs to the type and shape required by the kernel. Review comment: DispatchBest doesn't really compute this, actually. Instead it starts from identity casts (== the same `ValueDescr`s which were input) and explores allowed casts for a match. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org