<!-- 
RSS generated by JIRA (4.4#649-r158309) at Fri May 24 19:16:54 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-1001/CLJ-1001.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-1001] Proxy cannot call proper super-class method</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1001</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Attached is a program that reproduces this issue.  We have a proxy, `p&apos;, which sub-classes java.io.InputStream.  There are three methods named `read&apos; in java.io.InputStream: abstract int read(); int read(byte[] b); and int read(byte[] b, int off, int len); see &lt;a href=&quot;http://docs.oracle.com/javase/6/docs/api/java/io/InputStream.html&quot;&gt;http://docs.oracle.com/javase/6/docs/api/java/io/InputStream.html&lt;/a&gt;.  In the definition of proxy `p&apos;, we implement the abstract variant of method `read&apos;, making `p&apos; a concrete instance of java.io.InputStream.&lt;/p&gt;

&lt;p&gt;The first invocation, (. p read), returns -1, which is expected.&lt;/p&gt;

&lt;p&gt;The second invocation, (. p (read b 0 n)), should call int read(byte[] b, int off, int len); in java.io.InputStream.  But these are actual behavior:&lt;/p&gt;


&lt;p&gt;$ clojure1.2 ~/tmp/proxy-bug.clj &lt;br/&gt;
Exception in thread &quot;main&quot; java.lang.IllegalArgumentException: Wrong number of args (4) passed to: user$eval1$fn (proxy-bug.clj:0)&lt;br/&gt;
        at clojure.lang.Compiler.eval(Compiler.java:5441)&lt;br/&gt;
        at clojure.lang.Compiler.load(Compiler.java:5858)&lt;br/&gt;
        at clojure.lang.Compiler.loadFile(Compiler.java:5821)&lt;br/&gt;
        at clojure.main$load_script.invoke(main.clj:221)&lt;br/&gt;
        at clojure.main$script_opt.invoke(main.clj:273)&lt;br/&gt;
        at clojure.main$main.doInvoke(main.clj:354)&lt;br/&gt;
        at clojure.lang.RestFn.invoke(RestFn.java:408)&lt;br/&gt;
        at clojure.lang.Var.invoke(Var.java:365)&lt;br/&gt;
        at clojure.lang.AFn.applyToHelper(AFn.java:161)&lt;br/&gt;
        at clojure.lang.Var.applyTo(Var.java:482)&lt;br/&gt;
        at clojure.main.main(main.java:37)&lt;br/&gt;
Caused by: java.lang.IllegalArgumentException: Wrong number of args (4) passed to: user$eval1$fn&lt;br/&gt;
        at clojure.lang.AFn.throwArity(AFn.java:437)&lt;br/&gt;
        at clojure.lang.AFn.invoke(AFn.java:51)&lt;br/&gt;
        at user.proxy$java.io.InputStream$0.read(Unknown Source)&lt;br/&gt;
        at user$eval1.invoke(proxy-bug.clj:9)&lt;br/&gt;
        at clojure.lang.Compiler.eval(Compiler.java:5425)&lt;br/&gt;
        ... 10 more&lt;/p&gt;


&lt;p&gt;$ clojure1.2 ~/tmp/proxy-bug.clj &lt;br/&gt;
Exception in thread &quot;main&quot; java.lang.IllegalArgumentException: Wrong number of args (4) passed to: user$eval1$fn (proxy-bug.clj:0)&lt;br/&gt;
        at clojure.lang.Compiler.eval(Compiler.java:5441)&lt;br/&gt;
        at clojure.lang.Compiler.load(Compiler.java:5858)&lt;br/&gt;
        at clojure.lang.Compiler.loadFile(Compiler.java:5821)&lt;br/&gt;
        at clojure.main$load_script.invoke(main.clj:221)&lt;br/&gt;
        at clojure.main$script_opt.invoke(main.clj:273)&lt;br/&gt;
        at clojure.main$main.doInvoke(main.clj:354)&lt;br/&gt;
        at clojure.lang.RestFn.invoke(RestFn.java:408)&lt;br/&gt;
        at clojure.lang.Var.invoke(Var.java:365)&lt;br/&gt;
        at clojure.lang.AFn.applyToHelper(AFn.java:161)&lt;br/&gt;
        at clojure.lang.Var.applyTo(Var.java:482)&lt;br/&gt;
        at clojure.main.main(main.java:37)&lt;br/&gt;
Caused by: java.lang.IllegalArgumentException: Wrong number of args (4) passed to: user$eval1$fn&lt;br/&gt;
        at clojure.lang.AFn.throwArity(AFn.java:437)&lt;br/&gt;
        at clojure.lang.AFn.invoke(AFn.java:51)&lt;br/&gt;
        at user.proxy$java.io.InputStream$0.read(Unknown Source)&lt;br/&gt;
        at user$eval1.invoke(proxy-bug.clj:9)&lt;br/&gt;
        at clojure.lang.Compiler.eval(Compiler.java:5425)&lt;br/&gt;
        ... 10 more&lt;/p&gt;</description>
                <environment>Linux herberteuler 3.2.0-2-amd64 #1 SMP Sat May 12 23:08:28 UTC 2012 x86_64 GNU/Linux</environment>
            <key id="15471">CLJ-1001</key>
            <summary>Proxy cannot call proper super-class method</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="herberteuler@yahoo.com.cn">Guanpeng Xu</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 May 2012 22:21:33 -0500</created>
                <updated>Wed, 23 May 2012 22:24:43 -0500</updated>
                                    <version>Release 1.2</version>
                <version>Release 1.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="28577" author="herberteuler@yahoo.com.cn" created="Wed, 23 May 2012 22:24:43 -0500"  >&lt;p&gt;The second behavior should be in Clojure 1.3:&lt;/p&gt;

&lt;p&gt;$ clojure1.3 ~/tmp/proxy-bug.clj &lt;br/&gt;
Exception in thread &quot;main&quot; clojure.lang.ArityException: Wrong number of args (4) passed to: user$eval1$fn&lt;br/&gt;
        at clojure.lang.AFn.throwArity(AFn.java:437)&lt;br/&gt;
        at clojure.lang.AFn.invoke(AFn.java:51)&lt;br/&gt;
        at user.proxy$java.io.InputStream$0.read(Unknown Source)&lt;br/&gt;
        at user$eval1.invoke(proxy-bug.clj:9)&lt;br/&gt;
        at clojure.lang.Compiler.eval(Compiler.java:6468)&lt;br/&gt;
        at clojure.lang.Compiler.load(Compiler.java:6905)&lt;br/&gt;
        at clojure.lang.Compiler.loadFile(Compiler.java:6866)&lt;br/&gt;
        at clojure.main$load_script.invoke(main.clj:282)&lt;br/&gt;
        at clojure.main$script_opt.invoke(main.clj:342)&lt;br/&gt;
        at clojure.main$main.doInvoke(main.clj:426)&lt;br/&gt;
        at clojure.lang.RestFn.invoke(RestFn.java:408)&lt;br/&gt;
        at clojure.lang.Var.invoke(Var.java:401)&lt;br/&gt;
        at clojure.lang.AFn.applyToHelper(AFn.java:161)&lt;br/&gt;
        at clojure.lang.Var.applyTo(Var.java:518)&lt;br/&gt;
        at clojure.main.main(main.java:37)&lt;/p&gt;

&lt;p&gt;Sorry for the inconvenience.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11247" name="proxy-bug.clj" size="274" author="herberteuler@yahoo.com.cn" created="Wed, 23 May 2012 22:21:33 -0500" />
                </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>