It looks like a problem in clojure.core/min-hash to me. case depends
on min-hash to generate ahead-of-time hashes of all the test clauses,
and while I can't easily follow what's going on, it seems to be trying
to find a shift/mask combination that is...somehow related to the
hashes of the test clauses. I speculate that it's easier to perform
this operation on N values than N+1; with (0,0x70000000) it's hard,
but with another 1 it becomes unmanageable with the simple algorithm.

On Jan 6, 10:49 pm, "Eric Schulte" <schulte.e...@gmail.com> wrote:
> Hi,
>
> The following case statement
>
>   #+begin_src clojure
>     (defn buggy-case [n]
>       (case (int n)
>             0          :null
>             1          :load
>             0x70000000 :loproc))
>   #+end_src
>
> throws the following error
>
>   No distinct mapping found
>     [Thrown class java.lang.IllegalArgumentException]
>
> However removing any of the cases alleviates the problem.  Am I missing
> something obvious, or is this a bug in the case statement?
>
> Thanks -- Eric

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to