<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 20, 2023 at 1:11 PM Marcin Jaczewski via Std-Proposals &lt;<a href="mailto:std-proposals@lists.isocpp.org">std-proposals@lists.isocpp.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
I heard couple problems with the design of this optional,<br>
as there are two competing approaches to how it should work.<br>
Question is why then does the standard avoid some of this problems<br>
and have for example `optional_ref&lt;T&gt;`?<br></blockquote><div><br></div><div>     What you heard of is a fantasy scenario, cooked up by people who never implemented the optional they talked about. They spent so much time pontificating about it rather than trying it out and seeing the obvious flaws in its design that they rolled back clearly deployed, widely implemented, and heavily used existing practice for the standard version of std::optional. optional_ref&lt;T&gt; is a solution looking for a problem that never existed both in its theory beyond shallow FUD examples, and in its practice since it was literally never implemented.</div><div><br></div><div>     Ever.</div><div><br></div><div>     Paper: <a href="https://thephd.dev/_vendor/future_cxx/papers/d1683.html">https://thephd.dev/_vendor/future_cxx/papers/d1683.html</a></div><div>     Blog: <a href="https://thephd.dev/to-bind-and-loose-a-reference-optional">https://thephd.dev/to-bind-and-loose-a-reference-optional</a></div></div></div>

