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

Reply via email to