<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Sep 1, 2017, at 10:07 AM, Brady Eidson <<a href="mailto:beidson@apple.com" class="">beidson@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class=""><br class=""><blockquote type="cite" class="">On Sep 1, 2017, at 9:46 AM, Maciej Stachowiak <<a href="mailto:mjs@apple.com" class="">mjs@apple.com</a>> wrote:<br class=""><blockquote type="cite" class=""><br class="">Does RefPtr do anything for us today that std::optional<Ref> doesn’t?<br class=""></blockquote><br class="">The obvious things would be: uses less storage space<br class=""></blockquote><br class="">Grumble. If that’s true (which, thinking about it, of course it is true) this is pretty much a nonstarter. So… nevermind.<br class=""></div></div></blockquote><div><br class=""></div><div>Even though I disagree with your proposal, I don’t think this is a good reason since we could create a template specialization for std::optional<Ref>.</div><div><br class=""></div><div>I think we could probably do that anyway since this type can arise through template instantiations (one place says std::optional<T> and something else sets T to Ref): <a href="https://bugs.webkit.org/show_bug.cgi?id=176228" class="">https://bugs.webkit.org/show_bug.cgi?id=176228</a></div><div><br class=""></div><div>-Filip</div><div><br class=""></div></div></body></html>