Merge pull request #258 from Andrew-Lees11/Swift4.0
Feat: Add support for Swift 4.0
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// swift-tools-version:4.1
|
||||
// swift-tools-version:4.0
|
||||
import PackageDescription
|
||||
|
||||
let package = Package(
|
||||
|
||||
38
Sources/_SwiftSupport.swift
Normal file
38
Sources/_SwiftSupport.swift
Normal 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
|
||||
Reference in New Issue
Block a user