<div class="gmail_quote">On Mon, Jun 20, 2011 at 9:19 AM, Alexey Proskuryakov <span dir="ltr"><<a href="mailto:ap@webkit.org">ap@webkit.org</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div style="word-wrap:break-word"><div>I think that to make this complete, the rules need to be transitive. A function that passes its argument to another function taking a PassRefPtr should itself take a PassRefPtr. That's the case in <<a href="https://bugs.webkit.org/show_bug.cgi?id=52981" target="_blank">https://bugs.webkit.org/show_bug.cgi?id=52981</a>>, for instance.</div>

</div></blockquote><div><br></div><div>I agree.  Most of editing bugs come from breaking that transitive rule.</div><div><br></div><div>I even want it be enforced by some C++ idiom; e.g. replace all raw pointers in argument list by PassRawPtr, which cannot be converted to PassRefPtr or RefPtr.</div>

<div><br></div><div>- Ryosuke</div><div><br></div></div>