Things have certainly been more quiet than usual as we approach WWDC. Discussions on the mailing lists (and even Twitter!) have been sparse. Only two proposals are awaiting or actively in review and it’s unlikely we’ll see any more proposals for Swift 4.

有兴趣赞助 Swift Weekly Brief?点击这里

Starter tasks

  • SR-4949: No error for using as patterns with CoreFoundation types
  • SR-4824: Add tests to check Collection constraints are being enforced
  • SR-4595: Tests generate lots of warnings

Submit a task by sending a pull request or opening an issue.

Swift Unwrapped

Episode 12: Swift Evolution

We debate if Swift evolution is pulling its weight, and if it’s possible for Swift to remain “open” without the cost.

News and community

Erica Sadun wrote about 5 Easy Dispatch Tricks in Swift. There are some great tips here to improve your experience with Swift Dispatch.

David Owens released and is continuing development on a Swift implementation of the Language Server Protocol spec. Find it on GitHub.

Commits and pull requests

George Karpenkov added support for the -sanitize=fuzzer flag. Similarly to Clang, the flag enables coverage instrumentation, and links libLLVMFuzzer.a to the produced binary. You can learn more about LLVM’s libFuzzer on the LLVM blog and at the libFuzzer docs. Pretty cool!

Itai Ferber merged changes and enhancements to the new Codable APIs. This is part of the work for SE-0166 and SE-0167.

Slava Pestov fixed a bug where lazy properties could become stored and another where they required an explicit self.

Dave Abrahams added substring comparison benchmarks.

Not new, but just recently merged, Johannes Weiß added support to statically build corelibs-foundation.

Proposals

No updates on proposals this week! Check the status page for details.

Mailing lists

It might be hard to believe but not much has happened on swift-evolution or the other lists this week. I’m starting to worry about what I’m going to write for next week’s issue! 😅

Finally

And finally — WWDC is approaching. Goats to stay calm.