Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Completed
    • Affects versions: None
    • Fix versions: Backlog
    • Labels:
      None
    • Approval:
      Vetted

      Description

      Clojure 1.2.0-master-SNAPSHOT
      user=> (use 'clojure.walk)
      nil
      user=> (eval (macroexpand-all '(case 1 1 :test)))
      java.lang.ClassCastException: clojure.lang.PersistentVector cannot be cast to clojure.lang.MapEntry (NO_SOURCE_FILE:2)

      user=> (macroexpand-all '(case 1 1 :test))
      (let* [G__9 1]
      (case* G__9 0 1 1 1
      (throw (new java.lang.IllegalArgumentException (clojure.core/str "No matching clause: " G__9)))

      {1 [1 :test]}

      false))

      The existing code walkers convert the embedded [1 :test] into a PersistentVector that the compiler doesn't accept.
      (symbol-macrolet [x :test] (case 1 1 x)) fails in the same way.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              alex+import import
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: