On Friday, April 7, 2017, Daniel Duan via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
In a discussion about inferring parameter types from default value, Slava brought up some performance problems caused by type inference for stored properties in side types:<br>
<br>
<a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170313/033882.html" target="_blank">https://lists.swift.org/<wbr>pipermail/swift-evolution/<wbr>Week-of-Mon-20170313/033882.<wbr>html</a><br>
<br>
Towards the end, the post mentioned that some Swift team members contemplated requiring types for stored properties in type declarations. I think this idea deserves some more attention. Hence this last minute idea-floating.<br>
<br>
In addition to solving a performance headache in implementation, there&#39;re always the general benefit of making type declartion more explicit and readable (clarity for reader should out-weigh pleasure of the author). Making the<br>
language slightly more consistent (we are not inferring types for default parameter values in function anyways).<br>
<br>
The cons for doing this are obvious too: the inference makes the language feels more friendly and is, undoubtedly, a beloved feature for many. This would be a source breaking change.<br>
<br>
Just thought I&#39;d float the idea to gather some quick reaction. What do y&#39;all think?<br></blockquote><div><br></div><div>I think this chabge would be too source breaking for Swift 4. Just for that reason I would not implement it.</div><div><br></div><div>Also, I think the Core team talked about having specific themes for the upcoming releases. I would very much like Swift 5 to have improving compile times as a major theme.</div><div><br></div>Under such theme, maybe it makes sense to forbid complex expressions in stored properties definitions with no explicit type. Forbidding literals or direct function calls would remove a useful feature and the gains would not be much, IMHO.<br><br><div>--</div>Víctor Pimentel<br><br>-- <br><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><p style="font-family:Arial,sans-serif;font-size:13px;line-height:13px;margin:12px 0px"><span style="color:rgb(51,51,51);font-family:Helvetica,Arial,sans-serif;line-height:1em;display:block"><span style="font-size:x-small;font-family:arial,sans-serif;color:rgb(34,34,34)">INNOVATION IN PERSONAL COMMS</span></span></p><p style="font-family:Arial,sans-serif;font-size:13px;line-height:13px;margin:12px 0px"><span style="color:rgb(51,51,51);font-family:Helvetica,Arial,sans-serif;line-height:1em;display:block"></span></p><div dir="ltr" style="font-size:12.8px"><div style="font-size:12.8px"><strong style="font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;color:rgb(10,218,124)"><img src="cid:ii_1582527040132354" alt="Imágenes integradas 5" width="172" height="26"><br></strong></div><div style="font-size:12.8px"><strong style="font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;color:rgb(10,218,124)"><br></strong></div><div style="font-size:12.8px"><strong style="font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em"><font color="#000000">Víctor Pimentel Rodríguez · </font></strong><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px">Principal iOS Engineer</span><br style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px"><a href="mailto:vpimentel@tuenti.com" style="color:rgb(32,141,206);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em" target="_blank">vpimentel@tuenti.com</a><br style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px"><br style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px"><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;display:block"><span style="font-family:Helvetica,Arial,sans-serif;font-size:11px;line-height:1em"><a href="tel:+34914294039" style="font-family:helvetica,arial,sans-serif;color:rgb(32,141,206)" target="_blank">+34 914 294 039</a> — <a href="tel:+34687840886" style="font-family:helvetica,arial,sans-serif;color:rgb(32,141,206)" target="_blank">+34 687 840 886</a><br>C/ Gran Vía, nº 28, 6ª planta — 28013 Madrid </span><br style="font-family:Helvetica,Arial,sans-serif"><span style="font-family:Helvetica,Arial,sans-serif;font-size:11px;line-height:1em">Tuenti Technologies, S.L.</span><br style="font-family:Helvetica,Arial,sans-serif"></span><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;display:block"><span style="font-family:Helvetica,Arial,sans-serif;font-size:11px;line-height:1em"><br></span></span><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;display:block"><a href="http://www.tu.com/" style="color:rgb(32,141,206);font-size:11px" target="_blank">www.tu.com</a><br></span><span style="color:rgb(51,51,51);font-family:helvetica,arial,sans-serif;font-size:13px;line-height:1em;display:block"><a href="http://www.tuenti.com/" style="color:rgb(32,141,206);font-size:11px" target="_blank">www.tuenti.com<br></a></span></div></div></div></div></div></div></div></div></div></div></div><br>