<div dir="ltr">I vote language complexity in the form of hygienic macros.<div><br></div><div>/me slinks away</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jun 10, 2017 at 1:25 AM, John McCall via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
&gt; On Jun 9, 2017, at 2:42 PM, Gor Gyolchanyan via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt; My answer to `inout` is to promote it to a full-fledged &quot;storage class&quot; (in C terminology) and allow normal variables to be `inout`.<br>
&gt; This would immediately solve the problems with `inout` being a magical thing in functions, as well as a convenient way of storing &quot;references&quot; (in C++ terminology) to potentially huge inout expressions, not to mention returning an inout from a function, effectively spreading the getter-setter awesomeness to everything else besides properties and subscripts.<br>
<br>
</span>C++ implements this idea by being utterly unsafe; Rust implements it by introducing entire new dimensions of language complexity.  Are you proposing one of these in particular, or do you have your own concept?<br>
<br>
John.<br>
<div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br>
</div></div></blockquote></div><br></div>