<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Fri, May 5, 2017 at 3:20 PM Tony Arnold &lt;<a href="mailto:tony@thecocoabots.com">tony@thecocoabots.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Tony,<br>
<br>
&gt; On 6 May 2017, at 04:12, Tony Allevato via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt; These warnings are emitted for any reference to a deprecated entity, including those in the same file. In some cases, however, it may be necessary and correct to continue referring to the deprecated entity privately while discouraging its external use. In these scenarios, the warnings are superfluous and generate noise in the build logs. We propose eliminating these warnings for references made in the same file.<br>
<br>
If same file is the direction that the proposal is leaning toward, what’s stopping you from creating an internal (or private) implementation that’s not deprecated. You could then call that via the public, deprecated method/property?<br></blockquote><div><br></div><div>Hi Tony, this is called out in the proposal :) In addition to the fact that it requires writing boilerplate code manually and updating all references to the deprecated property in type&#39;s implementation, there are performance implications as well due to the change in memory management behavior. In the example presented in the proposal:</div><div><br></div><div><span style="color:rgb(36,41,46);font-family:-apple-system,system-ui,&quot;segoe ui&quot;,helvetica,arial,sans-serif,&quot;apple color emoji&quot;,&quot;segoe ui emoji&quot;,&quot;segoe ui symbol&quot;;font-size:16px">Behaviorally, these are the same. However, the generated code is different because the memory management semantics change due to the passthrough property. With full optimizations on,<span class="inbox-inbox-Apple-converted-space"> </span></span><code style="box-sizing:border-box;font-family:sfmono-regular,consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:13.6px;padding:0.2em 0px;margin:0px;background-color:rgba(27,31,35,0.05);border-radius:3px;color:rgb(36,41,46)">useDirectHolder</code><span style="color:rgb(36,41,46);font-family:-apple-system,system-ui,&quot;segoe ui&quot;,helvetica,arial,sans-serif,&quot;apple color emoji&quot;,&quot;segoe ui emoji&quot;,&quot;segoe ui symbol&quot;;font-size:16px"><span class="inbox-inbox-Apple-converted-space"> </span>executes in 1.360 sec while<span class="inbox-inbox-Apple-converted-space"> </span></span><code style="box-sizing:border-box;font-family:sfmono-regular,consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:13.6px;padding:0.2em 0px;margin:0px;background-color:rgba(27,31,35,0.05);border-radius:3px;color:rgb(36,41,46)">useIndirectHolder</code><span style="color:rgb(36,41,46);font-family:-apple-system,system-ui,&quot;segoe ui&quot;,helvetica,arial,sans-serif,&quot;apple color emoji&quot;,&quot;segoe ui emoji&quot;,&quot;segoe ui symbol&quot;;font-size:16px"><span class="inbox-inbox-Apple-converted-space"> </span>executes in 235.8 sec—over two orders of magnitude slower!</span></div><div> </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
i.e.<br>
<br>
```swift<br>
@available(*, deprecated, message: &quot;use &#39;phoneNumbers&#39; instead&quot;)<br>
public var phoneNumber: String? {<br>
    get {<br>
        return _phoneNumber<br>
    }<br>
    set {<br>
        _phoneNumber = newValue<br>
    }<br>
}<br>
<br>
private var _phoneNumber: String?<br>
<br>
```<br>
<br>
Am I missing something that would prevent this from working?<br>
<br>
I can see that what you’re proposing would negate the need for the private backing property/method, but it seems like it’s introducing complexity for the few times you might need this.<br>
<br>
thanks,<br>
<br>
<br>
Tony<br>
<br>
<br>
<br>
----------<br>
Tony Arnold<br>
<a href="tel:+61%20411%20268%20532" value="+61411268532" target="_blank">+61 411 268 532</a><br>
<a href="http://thecocoabots.com/" rel="noreferrer" target="_blank">http://thecocoabots.com/</a><br>
<br>
ABN: 14831833541<br>
<br>
</blockquote></div></div>