Kitura / BlueCryptor

Swift cross-platform crypto library using CommonCrypto/libcrypto
Apache License 2.0
190 stars 47 forks source link

Swift 5 support #49

Closed djones6 closed 5 years ago

djones6 commented 5 years ago

Description

Adds a build against a Swift 5 development snapshot to Travis, and resolves Swift 5 compilation warnings.

The compiler now emits a warning if a redundant access control modifier is applied to a member of an extension. This comes about if you declare an explicit access control modifier on the extension itself (ie. public extension Foo) and also on members (public var Bar).

There are two choices: keep the default access modifier on the extension (and remove public from all members of the extension), or remove the default access modifier and ensure all members that should be public are marked as such.

I've chosen the latter, as I think it makes it more clear as to what forms part of our public API: things that are public are still marked as such.

(note: my understanding is that removing the public from the extension only affects the default visibility of its members. Public members of the extension remain public. See: https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html#ID25)

Motivation and Context

How Has This Been Tested?

Checklist:

billabt commented 5 years ago

Will merge tomorrow. Thanks.