<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2013/4/10 Namespace <span dir="ltr"><<a href="mailto:rswhite4@googlemail.com" target="_blank">rswhite4@googlemail.com</a>></span><br><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<a href="http://wiki.dlang.org/DIP36" target="_blank">http://wiki.dlang.org/DIP36</a><br>
</blockquote></div><br></div><div class="gmail_extra">Typo:</div><div class="gmail_extra"><div class="gmail_extra">> Similar to "auto ref" but no extra template instantations.</div><div class="gmail_extra">  Similar to "auto ref" but no extra template instantiations</div>
<div><br></div><div>One question:</div><div><div>void test1(scope ref A a) {}</div><div><br></div><div>    test1(A(42)); // @safe, this temporary value is valid for mutation and "scope" ensures it does not leak scope</div>
<div>    A a = A(23); // no difference</div><div>    test1(a);</div><div><br></div><div>void test32(T)(scope ref T id) {}</div><div><br></div><div>    test32(1337); // Prohibited, no address for "1337"</div><div>
    test32(<a href="http://a.id">a.id</a>); // fine and @safe</div></div><div><br></div><div>Why test32 does not accept rvalue like test1? I think that "scope ref" should always behave same for rvalue argument - create temporary and take its address to "scope ref" parameter. Consistent behavior with any types is important for the generic programming.</div>
<div><br></div><div>Other than comment, looks good. Good work, Randy and Михаил!</div><div><br></div><div>Kenji Hara</div></div></div>