Clojure

emit-hinted-impl expands to non-ns-qualified invocation of 'fn'

Details

  • Type: Defect Defect
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Completed
  • Affects Version/s: Release 1.5, Release 1.6, Release 1.7
  • Fix Version/s: Release 1.7
  • Component/s: None
  • Labels:
    None
  • Environment:
    Mac os X Clojure 1.5.1 onwards.
  • Patch:
    Code
  • Approval:
    Ok

Description

(ns plumbing.tmp
  (:refer-clojure :exclude [fn]))

(defprotocol Foo
  (foo [this]))

(extend-protocol Foo
  Object
  (foo [this]))

yields

CompilerException java.lang.RuntimeException: Unable to resolve symbol: fn in this context, compiling/Users/w01fe/prismatic/prismatic/plumbing/src/plumbing/tmp.clj:7:1)

This makes it difficult to construct a namespace that provides a replacement def for fn.

Activity

Hide
Jason Wolfe added a comment -

changes 'fn to `fn in two places in core_deftype.clj.

Show
Jason Wolfe added a comment - changes 'fn to `fn in two places in core_deftype.clj.
Hide
Jason Wolfe added a comment -

Attached patch extend-emits-qualified-fn.diff from 21 Dec 2014 replaces
'fn with `fn in two places in core_deftype.clj. Tests pass with this patch.
Also verified that there are no other places in Clojure where 'fn
is emitted.

Show
Jason Wolfe added a comment - Attached patch extend-emits-qualified-fn.diff from 21 Dec 2014 replaces 'fn with `fn in two places in core_deftype.clj. Tests pass with this patch. Also verified that there are no other places in Clojure where 'fn is emitted.

People

Vote (11)
Watch (4)

Dates

  • Created:
    Updated:
    Resolved: