[swift-dev] Inability to leverage privacy in the stdlib

Alexis abeingessner at apple.com
Sat Oct 29 09:32:18 CDT 2016


> On Oct 29, 2016, at 12:13 AM, Slava Pestov <spestov at apple.com> wrote:
> 
> It will become the default, but not yet, so yeah, you shouldn’t merge anything that only builds with this flag set.
> 
> Can you share the patch that adds private modifiers along with the linker errors you are seeing? Now would be a good time to sort out these issues.

I’m actually having trouble reproducing this now? I just rebased my branches onto master and using private/fileprivate on types, aliases, and functions seems to work perfectly fine (I tried a few things in Array and Dictionary). Did something interesting just get merged?

> 
>> On Oct 28, 2016, at 4:16 PM, Alexis Beingessner <abeingessner at apple.com <mailto:abeingessner at apple.com>> wrote:
>> 
>> Won't merging anything relying on this flag break the build? Is this going to become the "new" default soon?
>> 
>> On Oct 28, 2016, at 6:43 PM, Slava Pestov <spestov at apple.com <mailto:spestov at apple.com>> wrote:
>> 
>>> 
>>>> On Oct 23, 2016, at 4:13 PM, Michael Gottesman via swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>> wrote:
>>>> 
>>>> 
>>>>> On Oct 23, 2016, at 3:30 PM, Alexis Beingessner via swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>> wrote:
>>>>> 
>>>>> Dave pointed out to me this week that the build crashes if the stdlib tries to use private/fileprivate. I tried it myself and lo and behold the linker can't find the private symbols. He couldn't recall what about the build caused that, though.
>>>>> 
>>>>> Can anyone recall why this is? How hard is it to fix?
>>>> 
>>>> I am not 100% sure, but if it happens only with the stdlib and has to do with access control, I wouldn't be surprised if it has to do with -sil-serialize-all and friends. But I may be correct. I think Jordan is the right person to answer this question.
>>>> 
>>>> What do you think Jordan?
>>>> Michael
>>> 
>>> Hi Alexis,
>>> 
>>> You can build the stdlib without sil-serialize-all now by passing a flag to build-script:
>>> 
>>> ./utils/build-script — --swift-stdlib-enable-resilience
>>> 
>>> Give that a shot and see if it fixes the issues you’re having with ‘private’.
>>> 
>>>> 
>>>>> _______________________________________________
>>>>> swift-dev mailing list
>>>>> swift-dev at swift.org <mailto:swift-dev at swift.org>
>>>>> https://lists.swift.org/mailman/listinfo/swift-dev <https://lists.swift.org/mailman/listinfo/swift-dev>
>>>> 
>>>> _______________________________________________
>>>> swift-dev mailing list
>>>> swift-dev at swift.org <mailto:swift-dev at swift.org>
>>>> https://lists.swift.org/mailman/listinfo/swift-dev <https://lists.swift.org/mailman/listinfo/swift-dev>
>>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20161029/490a8dcf/attachment.html>


More information about the swift-dev mailing list