[SR-479] Ownership keywords in protocols. Swift 5 mode?

Hello everyone,

Hoping to get some guidance around a bug fix. Sorry if some of the
questions are a bit basic, I’m new here :slight_smile:

I’ve opened a [draft
proposal](https://github.com/apple/swift-evolution/pull/707) on Swift
Evolution GitHub repository to fix SR-479. As all proposals need an
implementation I started work on it.

Ted Kremenek commented on the above pull request and suggested a good
implementation would produce a warning for existing Swift modes and an
error in Swift 5 mode (with fixits for both of course).

What I’m stuck on is I don’t believe there’s currently a Swift 5 mode,
at least not on master. Is that correct?

[My implementation](https://github.com/apple/swift/compare/master...gspiers:bugfix/SR-479-ownership-in-protocols?expand=1)
currently warns on Swift 3 and errors on Swift 4. I’d have to bump
these versions when a Swift 5 mode is introduced.

Am I missing something, is there a way to detect a future Swift mode?
I’ve tried calling the compiler directly passing in 5 for the swift
mode and it tells me valid args are only 3 and 4.

I’d also appreciate any feedback or comments if someone has time to
look at the implementation and tests.

Thanks,

Greg

Terms of Service

Privacy Policy

Cookie Policy