Here be the problem.  I guess the solution is to make hasMember work w/ pointers to structs.<br><br>// In std.traits:<br>template hasMember(T, string name)<br>{<br>    static if (is(T == struct) || is(T == class))<br>    {<br>
        enum bool hasMember =<br>            staticIndexOf!(name, __traits(allMembers, T)) != -1;<br>    }<br>    else<br>    {<br>        enum bool hasMember = false;<br>    }<br>}<br><br>This is never true for a pointer.  isOutputRange checks whether put() compiles.  The free function put() checks for having a put() member, which fails for pointers to structs.<br>
<br><div class="gmail_quote">On Wed, Sep 15, 2010 at 10:48 AM, Andrei Alexandrescu <span dir="ltr">&lt;<a href="mailto:andrei@erdani.com">andrei@erdani.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I don&#39;t know how that made it in. David?<br><font color="#888888">
<br>
Andrei</font><div><div></div><div class="h5"><br>
<br>
On 9/15/10 4:39 CDT, Masahiro Nakagawa wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I noticed the difference of isOutputRange behavior.<br>
<br>
<a href="http://ideone.com/HsmaL" target="_blank">http://ideone.com/HsmaL</a><br>
<br>
Pointer version of isOutputRange returns false on 2.048 and 2.049beta.<br>
I did&#39;t find the related changelog. Is this a bug?<br>
<br>
<br>
Masahiro<br>
<br>
On Wed, 15 Sep 2010 06:20:32 +0900, Walter Bright<br>
&lt;<a href="mailto:walter@digitalmars.com" target="_blank">walter@digitalmars.com</a>&gt; wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<a href="http://ftp.digitalmars.com/dmd2beta.zip" target="_blank">http://ftp.digitalmars.com/dmd2beta.zip</a><br>
_______________________________________________<br>
dmd-beta mailing list<br>
<a href="mailto:dmd-beta@puremagic.com" target="_blank">dmd-beta@puremagic.com</a><br>
<a href="http://lists.puremagic.com/mailman/listinfo/dmd-beta" target="_blank">http://lists.puremagic.com/mailman/listinfo/dmd-beta</a><br>
</blockquote>
_______________________________________________<br>
dmd-beta mailing list<br>
<a href="mailto:dmd-beta@puremagic.com" target="_blank">dmd-beta@puremagic.com</a><br>
<a href="http://lists.puremagic.com/mailman/listinfo/dmd-beta" target="_blank">http://lists.puremagic.com/mailman/listinfo/dmd-beta</a><br>
</blockquote>
_______________________________________________<br>
dmd-beta mailing list<br>
<a href="mailto:dmd-beta@puremagic.com" target="_blank">dmd-beta@puremagic.com</a><br>
<a href="http://lists.puremagic.com/mailman/listinfo/dmd-beta" target="_blank">http://lists.puremagic.com/mailman/listinfo/dmd-beta</a><br>
</div></div></blockquote></div><br>