calling hashCode on clojure.lang.LazyTransformer causes a StackOverflowError
Calling .hashCode on a an instance of clojure.lang.LazyTransformer causes a StackOverflowError:
The trace is
Cause: Looks like "seq" returns "this":
This does NOT occur on an empty sequence, as clojure.core/sequence short-circuits.
Proposal: compute and cache hash and hasheq using same algorithm used in other seqs
Screened by: Alex Miller
OS X 10.10.1, Macbook Pro,, Java 1.8.0_11, Clojure 1.7.0-alpha4
Test case added. Verified case was failing with SO prior to patch.
What's here looks good. Can we hook into existing tests that verify equals/hashcode and equiv/hasheq equivalence?
Patch with hashcode calculation and caching similar to ASeq. Might be worthwhile hoisting that into its own hashSeq method.