On Sat, Mar 25, 2017 at 1:11 AM, Carl Brown1 <[email protected]> wrote:
> Yes, it would change my opinion of it. I wouldn't become a strong
> supporter because I don't see any value in it, but a rigorous proof that
> this proposal could not possibly introduce regressions to any existing
> codebases would change my opinion from "strongly against" to "doesn't
> matter to me, I'll stop arguing against it and go get my real work done".
>
Well, that's promising, I guess? I think it's entirely reasonable to want a
migration path that can demonstrably preserve the behavior of existing
codebases.
For most use sites, it would be no more than find-and-replace; a more
sophisticated process will be required for scenarios where a private
declaration uses a name identical to something called elsewhere in the
file--in the worst case, a renaming will be required, such as in a case
like this:
```
func f() -> String {
return "A"
}
struct S {
static func g() -> String {
return f()
}
}
extension S {
private static func f() -> String {
return "B"
}
}
S.g()
```
This will require some compiler smarts. And I think a successful proposal
would have to provide solid proof that all such scenarios are covered. I'll
think about this over the weekend.
>
>
> -Carl
>
> [image: Inactive hide details for Xiaodi Wu ---03/25/2017 12:33:55
> AM---Would it change your opinion on the proposal? On Sat, Mar 25, 2]Xiaodi
> Wu ---03/25/2017 12:33:55 AM---Would it change your opinion on the
> proposal? On Sat, Mar 25, 2017 at 12:10 AM, Carl Brown1 <Carl.Br
>
> From: Xiaodi Wu <[email protected]>
> To: Carl Brown1/US/IBM@IBM
> Cc: Drew Crawford <[email protected]>, Jonathan Hull <[email protected]>,
> swift-evolution <[email protected]>
> Date: 03/25/2017 12:33 AM
> Subject: Re: [swift-evolution] [Review] SE-0159: Fix Private Access Levels
> ------------------------------
>
>
>
> Would it change your opinion on the proposal?
>
>
> On Sat, Mar 25, 2017 at 12:10 AM, Carl Brown1 <*[email protected]*
> <[email protected]>> wrote:
>
> I would very much like to see your proof that the resultant code is
> unchanged in an arbitrary codebase.
>
> -Carl
>
> [image: Inactive hide details for Xiaodi Wu ---03/25/2017 12:01:26
> AM---On Fri, Mar 24, 2017 at 11:55 PM, Carl Brown1 <Carl.Brown1@ibm.]Xiaodi
> Wu ---03/25/2017 12:01:26 AM---On Fri, Mar 24, 2017 at 11:55 PM, Carl
> Brown1 <*[email protected]* <[email protected]>> wrote: > Maybe
> this is the core
>
> From: Xiaodi Wu <*[email protected]* <[email protected]>>
> To: Carl Brown1/US/IBM@IBM
> Cc: Drew Crawford <*[email protected]* <[email protected]>>,
> Jonathan Hull <*[email protected]* <[email protected]>>, swift-evolution <
> *[email protected]* <[email protected]>>
> Date: 03/25/2017 12:01 AM
> Subject: Re: [swift-evolution] [Review] SE-0159: Fix Private Access
> Levels
> ------------------------------
>
>
>
> On Fri, Mar 24, 2017 at 11:55 PM, Carl Brown1 <*[email protected]*
> <[email protected]>> wrote:
>
> My point is that, in rolling back the specific portion of SE-0025,
> case-sensitive find-and-replace will be the trickiest thing in most
> codebases, save those that result in invalid redeclarations. The behavior
> of the resultant code is, unless I'm mistaken, provably unchanged.
>
>
>
>
>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution