<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">No, I personally haven’t found a use case besides aesthetics. &nbsp;The whole access level situation never even crossed my mind, originally, and they do become terribly confusing in this case.</div><div class=""><br class=""></div><div class="">I would appreciate the resolution of a bug that makes this syntax unnecessarily appealing:</div><div class=""><br class=""></div><div class="">struct A</div><div class="">{</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>struct B</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>{</div><div class=""><span class="Apple-tab-span" style="white-space:pre">                </span>struct C</div><div class=""><span class="Apple-tab-span" style="white-space:pre">                </span>{</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">                </span>}</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div class="">}</div><div class=""><br class=""></div><div class="">extension A.B.C</div><div class="">{</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>var foo: C { &nbsp;} //error: unidentified type C</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>var bar: B.C { &nbsp;} //error: type B doesn’t have a subtype C</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>var faz: A.B.C { &nbsp;} // fine (yet wordy), given an implementation.</div><div class="">}</div><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 6, 2016, at 4:55 PM, Robert Widmann &lt;<a href="mailto:devteam.codafi@gmail.com" class="">devteam.codafi@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class="">Exactly. &nbsp;Worrying about implementation cost is secondary (hey, everything in the compiler is an engineering effort!) to the mess this would make of the semantics of (file)private inner aggregates. &nbsp;</div><div class=""><br class=""></div><div class="">Considering you yourself cite it being sugar, have you run into a case where this rule can be applied to, say, clean up code in a meaningful way? &nbsp;The given example, while visually appealing, seems awfully domain-specific.&nbsp;<br class=""><br class="">~Robert Widmann</div><div class=""><br class="">2016/12/06 1:03、Xiaodi Wu via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; のメッセージ:<br class=""><br class=""></div><blockquote type="cite" class=""><div class="">One thing to consider:<br class=""><br class="">Access modifier rules for extensions as they were revised in the Swift 3 evolution process only work if extensions are guaranteed not to be nested, because they assume private in the outer scope is equal to fileprivate in the inner scope.<br class=""><br class="">(These rules differ from those for types because extensions are not first-class entities. For a type, members default to internal but visibility is limited by that of the containing type. For extensions, since they are not an entity of their own, the modifier in front of the word "extension" is merely a shorthand for the default access modifier for members contained within, the visibility of which are limited by that of the type being extended.)<br class=""><br class="">Furthermore, IIRC, the rules assume that extensions can never extend a nested private type, since such a type could never be visible to an unnested extension.<br class=""><br class="">Should nesting of extensions inside types be permitted, it would necessitate changes to access modifier rules that did not gain consensus for review in the Swift 3 timeline.<br class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Mon, Dec 5, 2016 at 23:34 Braeden Profile via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg">No special restriction here.&nbsp; Like I said, it’s just another way of writing a file-level extension within that namespace.&nbsp; All the functions can then be defined as private, public, internal, etc. as necessary.&nbsp; The point would be to define functionality for something within the right block.&nbsp; If I’m writing an entire set of types within MathEvaluator (or SelectMode, or whatever I’m writing), I want to be able to keep the whole file within MathEvaluator’s scope.&nbsp; I do, however, wish to write the subtypes in terms of “definition here, functionality there” the way extensions allow.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I don’t remember a verdict from the `struct MathEvaluator.Number` syntax discussion.&nbsp; Was that shot down, or still a possibility?</div></div><div style="word-wrap:break-word" class="gmail_msg"><br class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Dec 5, 2016, at 3:04 PM, Saagar Jha &lt;<a href="mailto:saagar@saagarjha.com" class="gmail_msg" target="_blank">saagar@saagarjha.com</a>&gt; wrote:</div><br class="gmail_msg m_-695680946470588273Apple-interchange-newline"><div class="gmail_msg"><div style="word-wrap:break-word" class="gmail_msg">How exactly would this work? Would it restrict the extension to only the scope it’s defined in?<br class="gmail_msg"><div class="gmail_msg">
<br class="gmail_msg m_-695680946470588273Apple-interchange-newline"><span style="font-family:'SF UI Text';font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="gmail_msg">Saagar Jha</span><br style="font-family:'SF UI Text';font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><br style="font-family:'SF UI Text';font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg"><br style="font-family:'SF UI Text';font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="gmail_msg">
</div>
<br class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Dec 5, 2016, at 1:48 PM, Braeden Profile via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="gmail_msg m_-695680946470588273Apple-interchange-newline"><div class="gmail_msg"><div style="word-wrap:break-word" class="gmail_msg">I really enjoy having the ability to write and nesting my code at the appropriate indentation level in my file.&nbsp; Extensions are fabulous, but I wonder—solely for readability/style sake, could we allow you to properly namespace your extensions?&nbsp; Though I don’t know the implementation cost of this, I think it could be useful to be able to write this:<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">class</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> MathEvaluator</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">struct</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> Number</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">let</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> value: </span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><br class="m_-695680946470588273webkit-block-placeholder gmail_msg"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">struct</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> Operation</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">let</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> numbers: (</span><span style="font-variant-ligatures:no-common-ligatures;color:#498672" class="gmail_msg">Number</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#498672" class="gmail_msg">Number</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">)</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">let</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> transform: (</span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">) -&gt; </span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><br class="m_-695680946470588273webkit-block-placeholder gmail_msg"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,143,1)" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">extension</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#aa2eb8" class="gmail_msg">Number</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">var</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> factors: [</span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">]</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(146,146,146)" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                        </span></span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">// Calculate and return the factors</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span>}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">}</span></div></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">…which would be completely equivalent to:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">class</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> MathEvaluator</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">struct</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> Number</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">let</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> value: </span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><br class="m_-695680946470588273webkit-block-placeholder gmail_msg"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">struct</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> Operation</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">let</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> numbers: (</span><span style="font-variant-ligatures:no-common-ligatures;color:#498672" class="gmail_msg">Number</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#498672" class="gmail_msg">Number</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">)</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">let</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> transform: (</span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">) -&gt; </span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><br class="m_-695680946470588273webkit-block-placeholder gmail_msg"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(170,46,184)" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">extension</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> </span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">MathEvaluator</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">.</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">Number</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">var</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> factors: [</span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">]</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(146,146,146)" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span></span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">// Calculate and return the factors</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">}</span></div></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">This change is in the same ball park as this, proposed a week or two ago:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">struct</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> MathEvaluator.Number</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">let</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> value: </span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><br class="m_-695680946470588273webkit-block-placeholder gmail_msg"></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span></span><span style="font-variant-ligatures:no-common-ligatures;color:#008f01" class="gmail_msg">var</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"> factors: [</span><span style="font-variant-ligatures:no-common-ligatures;color:#5b2699" class="gmail_msg">Double</span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">]</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(146,146,146)" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">                </span></span><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">// Calculate and return the factors</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg"><span class="gmail_msg m_-695680946470588273Apple-tab-span" style="white-space:pre-wrap">        </span>}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo" class="gmail_msg"><span style="font-variant-ligatures:no-common-ligatures" class="gmail_msg">}</span></div></div></div>_______________________________________________<br class="gmail_msg">swift-evolution mailing list<br class="gmail_msg"><a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg"></div></blockquote></div><br class="gmail_msg"></div></div></blockquote></div><br class="gmail_msg"></div>_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
</blockquote></div>
</div></blockquote><blockquote type="cite" class=""><div class=""><span class="">_______________________________________________</span><br class=""><span class="">swift-evolution mailing list</span><br class=""><span class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a></span><br class=""><span class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br class=""></div></blockquote></div></div></blockquote></div><br class=""></body></html>