Merge pull request #258 from Andrew-Lees11/Swift4.0

Feat: Add support for Swift 4.0
This commit is contained in:
David Jennes
2018-10-01 16:15:22 +02:00
committed by GitHub
3 changed files with 44 additions and 1 deletions

View File

@@ -1,11 +1,16 @@
matrix:
include:
- os: osx
osx_image: xcode9.2
env: SWIFT_VERSION=4.0.3
- os: osx
osx_image: xcode9.4
env: SWIFT_VERSION=4.1
- os: osx
osx_image: xcode10
env: SWIFT_VERSION=4.2
- os: linux
env: SWIFT_VERSION=4.0.3
- os: linux
env: SWIFT_VERSION=4.1
- os: linux

View File

@@ -1,4 +1,4 @@
// swift-tools-version:4.1
// swift-tools-version:4.0
import PackageDescription
let package = Package(

View File

@@ -0,0 +1,38 @@
import Foundation
#if !swift(>=4.1)
public extension Sequence {
func compactMap<ElementOfResult>(_ transform: (Element) throws -> ElementOfResult?) rethrows -> [ElementOfResult] {
return try flatMap(transform)
}
}
#endif
#if !swift(>=4.1)
public extension Collection {
func index(_ i: Self.Index, offsetBy n: Int) -> Self.Index {
let indexDistance = Self.IndexDistance(n)
return index(i, offsetBy: indexDistance)
}
}
#endif
#if !swift(>=4.1)
public extension TemplateSyntaxError {
public static func ==(lhs: TemplateSyntaxError, rhs: TemplateSyntaxError) -> Bool {
return lhs.reason == rhs.reason &&
lhs.description == rhs.description &&
lhs.token == rhs.token &&
lhs.stackTrace == rhs.stackTrace &&
lhs.templateName == rhs.templateName
}
}
#endif
#if !swift(>=4.1)
public extension Variable {
public static func ==(lhs: Variable, rhs: Variable) -> Bool {
return lhs.variable == rhs.variable
}
}
#endif