Uploaded image for project: 'core.match'
  1. MATCH-96

clojure.match doesn't match maps correctly inside go blocks

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Declined
    • Labels:
      None
    • Environment:

      Description

      ;; Tested in ClojureScript only, #clojure on freenode reports things works in Clojure.

      ;; This works, {:bye ...} is the first thing inside match's match list:
      (go (println
      (match {:bye ["cruel" "world"]}
      {:bye [a b]} (str "Goodbye " a " " b)
      {:hello [a b]} (str "How are you doing " n "?"))))

      ;; This works (no go block), {:bye ..} is second:
      (println
      (match {:bye ["cruel" "world"]}
      {:hello [a b]} (str "How are you doing " n "?")
      {:bye [a b]} (str "Goodbye " a " " b)))

      ;; This doesn't: Uncaught Error: :clojure.core.match/not-found is not ISeqable
      ;; indicating that (match ...) is probably returning not-found.
      (go (println
      (match {:bye ["cruel" "world"]}
      {:hello [a b]} (str "How are you doing " n "?")
      {:bye [a b]} (str "Goodbye " a " " b))))

        Attachments

          Activity

            People

            • Assignee:
              dnolen David Nolen
              Reporter:
              verma Uday Verma
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: