<!-- 
RSS generated by JIRA (4.4#649-r158309) at Wed May 22 11:24:44 CDT 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://dev.clojure.org/jira/si/jira.issueviews:issue-xml/CLJ-919/CLJ-919.xml?field=key&field=summary
-->
<rss version="0.92" >
<channel>
    <title>Clojure JIRA</title>
    <link>http://dev.clojure.org/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>4.4</version>
        <build-number>649</build-number>
        <build-date>25-07-2011</build-date>
    </build-info>

<item>
            <title>[CLJ-919] cannot create anonymous primitive functions</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-919</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Primitive functions only work (e.g. return primitive types) when defined with `defn`.  An equivalent function created with `fn` does not behave the same way as when created with `defn`.  For example:&lt;/p&gt;

&lt;p&gt;(definterface IPrimitiveTester&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;^int x&amp;#93;&lt;/span&gt;)&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;^long x&amp;#93;&lt;/span&gt;)&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;^float x&amp;#93;&lt;/span&gt;)&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;^double x&amp;#93;&lt;/span&gt;)&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;^Object x&amp;#93;&lt;/span&gt;))&lt;/p&gt;

&lt;p&gt;(deftype PrimitiveTester []&lt;br/&gt;
   IPrimitiveTester&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;this ^int x&amp;#93;&lt;/span&gt; :int)&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;this ^long x&amp;#93;&lt;/span&gt; :long)&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;this ^float x&amp;#93;&lt;/span&gt; :float)&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;this ^double x&amp;#93;&lt;/span&gt; :double)&lt;br/&gt;
   (getType &lt;span class=&quot;error&quot;&gt;&amp;#91;this ^Object x&amp;#93;&lt;/span&gt; :object))&lt;/p&gt;

&lt;p&gt;(defmacro pt &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt;&lt;br/&gt;
   `(.getType (PrimitiveTester.) ~x))&lt;/p&gt;

&lt;p&gt;(defn with-defn ^double &lt;span class=&quot;error&quot;&gt;&amp;#91;^double x&amp;#93;&lt;/span&gt;&lt;br/&gt;
   (+ x 0.5))&lt;/p&gt;

&lt;p&gt;(pt (with-defn 1.0)) ; =&amp;gt; :double&lt;/p&gt;

&lt;p&gt;(let [a (fn ^double &lt;span class=&quot;error&quot;&gt;&amp;#91;^double x&amp;#93;&lt;/span&gt; (+ x 0.5))] &lt;br/&gt;
  (pt (a 0.1))) ; =&amp;gt; :object &lt;/p&gt;


&lt;p&gt;Please see the discussion on the mailing list for more details and thoughts on what is happening:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/d83c8643a7c7d595?hl=en&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/d83c8643a7c7d595?hl=en&lt;/a&gt;&lt;/p&gt;
</description>
                <environment></environment>
            <key id="15149">CLJ-919</key>
            <summary>cannot create anonymous primitive functions</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="bmabey">Ben Mabey</reporter>
                        <labels>
                    </labels>
                <created>Fri, 27 Jan 2012 16:48:42 -0600</created>
                <updated>Fri, 27 Jan 2012 16:48:42 -0600</updated>
                                    <version>Release 1.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>
</channel>
</rss>