Swiftweekly.github.io: [145] Issue #145 - October 10, 2019

Created on 26 Sep 2019  Â·  27Comments  Â·  Source: SwiftWeekly/swiftweekly.github.io

To contribute to this issue, simply leave a comment here. Please also review our contributing guidelines.

The current draft for this issue in _drafts/. If you want to contribute directly, feel free to open a pull request.

full issue notes

Most helpful comment

All 27 comments

https://twitter.com/harlanhaskins/status/1177307996512112640

Finally merged a patch that I’ve been poking at since November. If you’re working on a build system and you’re implementing the “-emit-module first, then build” optimization, try adding -Xfrontend -experimental-skip-non-inlinable-function-bodies

https://github.com/apple/swift/pull/20420

How is SE-0255 (implicit returns) not a violation of Swift’s design principles?

How is SE-0255 and the Implicit Return behavior of closures not a violation of Swift's design principles?

In Commonly Rejected Proposals, Implicit Returns are mentioned explicitly as favoring "terseness over readability". Implicit Returns eliminate needing to type 6 characters, at the expense of anyone but the person who wrote said code, being able to gleen over it quickly and derive meaning.

https://forums.swift.org/t/how-is-se-0255-implicit-returns-not-a-violation-of-swifts-design-principles/29267

Libdispatch moved to CMake 3.15.1

This is to just make sure that people are aware that as had been previously discussed, the slow crawl to CMake 3.15 is now underway. This should be largely transparent, though, a clean build would not hurt probably (but should not really be needed, I try to avoid them as much as possible). On Linux hosts if your system CMake is older than 3.15, build-script will checkout and build CMake as part of the build. We will then use that to build the rest of the projects. On macOS hosts, please update your CMake from https://cmake.org/download. On Windows, CMake 3.15.1 is available from cmake.org OR from Microsoft in VS2019.

https://forums.swift.org/t/libdispatch-moved-to-cmake-3-15-1/29268

Android application startup

I have ported an iOS app to Android using Vlad Gorlov's Swift Everywhere Toolchain.

The non-UI code is shared with the iOS version (about 20k lines of Swift code). The UI is written in Kotlin with a JNI bridge using a combination of my own Swift wrapper and swift-jni.

Aside from the initial grief of fixing all of the NS* bridging issues to get the code to build, the code mostly worked.

https://forums.swift.org/t/android-application-startup/29386

[pitch] NIO-based gRPC Swift

Include gRPC-Swift among the official and recommended SSWG projects.

gRPC enables high-performance open standards-based interoperability for Swift services with services written in other languages.

https://forums.swift.org/t/pitch-nio-based-grpc-swift/29396

Add another allSatisfy funtion that has parameter for empty

When you use allSatisfy function in Array, Dictionary...
You have to check empty.
Because if Array, Dictionary are empty, results of allSatisfy are true.

https://forums.swift.org/t/add-another-allsatisfy-funtion-that-has-parameter-for-empty/29421

SE-0266 — Synthesized Comparable conformance for enum types

The review of SE-0266 — Synthesized Comparable conformance for enum types begins now and runs through October 10, 2019.

https://forums.swift.org/t/se-0266-synthesized-comparable-conformance-for-enum-types/29457

Compositional Initialization

This proposal introduces an opt-in protocol, PropertyInitializable, which provides two new init methods:

  • failable init from a collections of extensible, typesafe keypath-value Property objects
  • non-failable init to clone from another instance, mutating select properties

The name “compositional init” means that this proposal allows the state of an object or struct to be assembled compositionally from sets of properties (including another instance). Compositional initialization allows mutations to be encapsulated in a clear, type-safe way.

https://forums.swift.org/t/compositional-initialization/29535

Starter task

SR-11574 [Compiler] Using try instead of throws should have a better diagnostic

[Discussion] gRPC Swift

gRPC Swift is a community backed implementation of the gRPC over HTTP/2 protocol built on top of SwiftNIO. It includes a runtime (GRPC), a code generator (protoc-gen-grpc-swift), an extensive suite of tests and examples.

https://forums.swift.org/t/discussion-grpc-swift/29584

Starter task

SR-11580 [SwiftSyntax] FloatLiteralExprSyntax and IntegerLiteralExprSyntax should have comuted properties that return there integer/float value

ExpressibleByTupleLiteral instead of tuples conforming to protocols

As can be seen from the forum history, many people have suggested ways to make it possible to conform tuple types to protocols. It is perhaps most natural when the conformance can be synthesized, - in my personal usage it's certainly conformance to Equatable and Hashable that I've wanted to confer on my tuple typed keys.

https://forums.swift.org/t/expressiblebytupleliteral-instead-of-tuples-conforming-to-protocols/29626

Swift on the Server Work Group 3rd October meeting notes

https://forums.swift.org/t/october-3rd-2019/29628

I would like to provide an update to the monorepo transition posts (https://forums.swift.org/t/llvm-monorepo-transition/25689 and https://forums.swift.org/t/llvm-monorepo-transition-update/27079) where I announced that Apple is working on the LLVM project monorepo transition for Swift, and posted links to the prototype monorepo that can be used with Swift.

https://forums.swift.org/t/llvm-monorepo-transition-happening-on-the-week-of-14th-18th-october/29674

Starter task

SR-11588 [Compiler] Warn about derived Hashable implementation if there's a custom Equatable

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jessesquires picture jessesquires  Â·  10Comments

jessesquires picture jessesquires  Â·  10Comments

gregheo picture gregheo  Â·  3Comments

jessesquires picture jessesquires  Â·  9Comments

jessesquires picture jessesquires  Â·  9Comments