[swift-dev] Inability to leverage privacy in the stdlib
Dave Abrahams
dabrahams at apple.com
Sat Oct 29 17:04:33 CDT 2016
on Sat Oct 29 2016, Alexis <swift-dev-AT-swift.org> wrote:
>> 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?
I suggest you try making and testing a pull request. Often things seem
to work because of the way we build and test locally, but fail in the
full CI environment.
>
>>
>>> 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>
>>>>
>>
>
> _______________________________________________
> swift-dev mailing list
> swift-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev
>
--
-Dave
More information about the swift-dev
mailing list