It appears that min-key and max-key behave incorrectly (following Java that follows IEEE floating point convention):
Not sure how this should then propagate forward, but definitely not silently. Options:
1. [:b NaN] (the first item to generate the NaN)
2. NaN (this is changing the expected type)
3. ArithmeticException Operation with at least one NaN operand.
If this was to be patched the same as it was for min/max (http://dev.clojure.org/jira/browse/CLJ-868) it will probably result in option 1.
Likely All. Including older version of Clojure.
Patch should have tests...
This latest patch adds tests for min-key and max-key with and without NaN results, as there were none before.
This overlaps with CLJ-99, which has already been prescreened. I would like to base whatever changes this patch requires over the top of that ticket. To build this, apply the patch, then branch, make you changes, and then create a patch relative to the clj-99 branch. Sorry that's a pain - usually patches don't collide at this level of conflict.
The latest patch fixes min and max key in the same way, but based over CLJ-99, only evaluating the function once for each item.