Clojure

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

Details

  • Type: Defect Defect
  • Status: Open Open
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: Release 1.5, Release 1.6, Release 1.7
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Environment:
    Mac os X Clojure 1.5.1 onwards.
  • Patch:
    Code

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 (2)
Watch (3)

Dates

  • Created:
    Updated: