In an effort to both (1) reduce boilerplate code, and (2) promote
cross-platform reusability I propose that we implement the following Import
`||` and `&&`
Currently, import conditionals must be implemented like so:
#if os(Linux) || os(FreeBSD)
With import conditional operators this would be condensed to:
import Glibc || Darwin
The first library/framework (Glibc) would be imported if found and the the
second (Darwin) only in the event the first should fail.
(A) — we could limit this to one conditional operator per import line OR we
could implement order of operations. Obviously, there are tradeoffs of both
that we should discuss.
(B) — if-conditional statements currently explicitly show the import conditions
(i.e., os(Linux) || os(FreeBSD)) this would be a detriment to this new feature.
I would argue that the reduction of boilerplate code would in itself be worth
swift-evolution mailing list