<< Back to previous view

[CLJ-1195] emit-hinted-impl expands to non-ns-qualified invocation of 'fn' Created: 09/Apr/13  Updated: 12/May/15  Resolved: 12/May/15

Status: Closed
Project: Clojure
Component/s: None
Affects Version/s: Release 1.5, Release 1.6, Release 1.7
Fix Version/s: Release 1.7

Type: Defect Priority: Major
Reporter: Jason Wolfe Assignee: Unassigned
Resolution: Completed Votes: 11
Labels: None
Environment:

Mac os X Clojure 1.5.1 onwards.


Attachments: File extend-emits-qualified-fn.diff    
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.



 Comments   
Comment by Jason Wolfe [ 21/Dec/14 9:36 PM ]

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

Comment by Jason Wolfe [ 21/Dec/14 9:40 PM ]

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.

Generated at Fri May 29 19:49:15 CDT 2015 using JIRA 4.4#649-r158309.